Здравствуйте.
Подскажите можно ли так?
Камень tiny85.
на внешнее прерывание (int0) поступают импульсы. Измеряю период сигнала (w) таймером0.
Нужно запустить таймер1 в промежутке между импульсами, ну допустим с середины (w/2) ;
P.S.: Источник сигнала 50-100 герц
Сверху (желтый) сигнал с ноги B.4
Снизу (зеленый) сигнал источник (88гц)
Никак не получается. Иногда таймер1 запускается. Но не пойму как и когда.
'Таймер0 Config Timer0 = TIMER , Prescale = 1024 Start Timer0 'Таймер1 Config Timer1 = TIMER , Prescale = 1024 Stop Timer1 Config Int0 = Rising 'Прерывание On Int0 Isr_int0 On Timer0 Isr_timer0 On Timer1 Isr_timer1 Enable Interrupts Enable Int0 Enable Timer0 Config PortB.0 = Output Config PortB.1 = Output Config Pinb.2 = Input Config PortB.3 = Output Config PortB.4 = Output dim tic as byte dim tmp as Integer dim w as Integer dim dp as Integer Do w=tic/2 dp=tic-15 if Timer0=w then Start Timer1 Timer1=0 toggle portb.4 'индикация старта таймера end if Loop Isr_int0: tic=Timer0 Timer0=0 Return Isr_timer0: Return Isr_timer1: toggle portb.3 Return
Отредактировано Gizmo3d (2019-03-14 13:23:09)

