Устройство - проеобразователь RS232/485 c настраиваемой скоростью на тини2313, MAX232, ADM485. У ADM485 RE всегда разрешен, DE - включается от тини2313 только на время передачи 1 байта при обнаружении стартбита от RS232. Стартбит ловится по внешнему прерыванию, по которому включается DE. Только получается слишком большая задержка включения на 115200 - бывают сбои. Вот и думаю как выкрутиться с минимумом переделок - желательно используя возможности контроллера
А судя по даташиту таймер/счетчик должен ловить каждый фронт/спад внешнего сигнала:
An external clock source applied to the T1/T0 pin can be used as Timer/Counter clock (clkT1/clkT0). The T1/T0 pin is sampled once every system clock cycle by the pin synchronization logic. The synchronized (sampled) signal is then passed through the edge detector. Figure 38 shows a functional equivalent block diagram of the T1/T0 synchronization and edge detector logic. The registers are clocked at the positive edge of the internal system clock (clkI/O). The latch is transparent in the high period of the internal system clock. The edge detector generates one clkT1/clkT0 pulse for each positive (CSn2:0 = 7) or negative (CSn2:0 = 6) edge it detects.
Но у меня почемо-то начинает счет со второго перепада - проверял и при счете по фронту, и по спаду...
|