Цитата(Короткова Светлана @ Sep 17 2008, 22:58)

Если в вашем коде, произойдёт сначала прерывание по переполнению TMR1, а вслед за этим захват CCP1, то при проверке захваченное значение будет однозначно больше нуля
Если в моём коде сначала произойдёт прерывание по переполнению TMR1, то будет скорректирован дополнительный байт auxbyt3, если затем произойдёт захват CCP1, то при проверке захваченное значение естественно будет больше нуля, и допбайт времени auxbyt3 будет благополучно скопирован в байт newtim3 без инкрементирования. Ну и что здесь неверного?
Создаётся впечатление, что вы не понимаете идеи моего кода, придётся немного поаргументировать, чтобы вы тоже порадовались. Рассмотрим ситуацию с точки зрения системного времени Т, системных тиков, если хотите, которые фиксирует таймер1 в переменных time2, time1, time0 (две последние переменные по сути - регистры таймера). Время захвата фиксируется в переменных capt2, capt1, capt0 (две последние переменные по сути - регистры схемы захвата).
Ситуация 1. T=0xFFFF. Прерывания по переполнению нет, и может возникнуть прерывание захвата. Если прерывание захвата возникло, capt2=time2=0х02(произвольно), capt1=time1=0xFF, capt0=time0=0xFF. Что и должно быть.
Ситуация 2. T=0x0000. Есть прерывание по переполнению, и может возникнуть прерывание захвата. Если прерывание захвата возникло, в моём коде оно обрабатывается первым, тогда capt2=time2=0х02, capt1=time1=0x00, capt0=time0=0x00. Поскольку время захвата равно 0х0000, переменная capt2=capt2+1=0х03. После этого, обрабатывается прерывание от таймера, и независимо от наличия прерывания захвата, корректируется переменная time2=time2+1=0х03. Как видите, полёт нормальный.
Ситуация 3. T=0x0001. Прерывания по переполнению нет, и может возникнуть прерывание захвата. Если прерывание захвата возникло, capt2=time2=0х03, capt1=time1=0x00, capt0=time0=0x00.
Как видите, в любой ситуации время появления внешнего события соответствует времени захвата.
Вопрос по приведённому алгоритму. Почему вы инкрементируете CCP1U, если у вас не было прерывания захвата?