Рандомные пропуски счета таймера 0 и 1 в прерываниях PIC16
Рандомные пропуски счета таймера 0 и 1 в прерываниях PIC16
Привет всем. Столкнулся с непонятной особенностью таймера 0 (или 1) в обработке прерывания. По переполнению таймера в прерывании командой hserout выдается последовательный байт. Далее сброс флага TMR0IF. Ничего особенного и необчного. Основная программа упрощена до предела. Даже простой loop ничего не меняет. На картинке можно увидеть неравномерность в выдаче имульсов. Менял hserout на короткий имульс - результат тот же. Не могу понять, в чём дело. Если кто-то из вас сталкивался с подобной особенностью, просьба поделитьсчя решением. Код не привожу в силу его элементарности.
- Вложения
-
- timer.jpg
- (22.21 КБ) 249 скачиваний
- Реклама
-
driver_gv
- Потрогал лапой паяльник
- Сообщения: 399
- Зарегистрирован: Сб авг 08, 2009 23:02:57
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Рандомные пропуски счета таймера 0 и 1 в прерываниях PIC
Вероятно это особенность "PicBasic Pro" или "элементарного кода". С микроконтроллером PIC и его таймерами 0 и 1 - все в порядке.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Все, что нельзя запрограммировать на ассемблере, приходится паять
Re: Рандомные пропуски счета таймера 0 и 1 в прерываниях PIC
Пишите на Си, будет вам счастье.
ZZZ С Нами Бог ZZZ
Re: Рандомные пропуски счета таймера 0 и 1 в прерываниях PIC
Ассемблер и Си - все идеально. Никаких проблем.

