ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
205588
Argon (10.08.2010 17:46 - 18:07, просмотров: 21587)
Странность с таймерными прерываниями у PIC12 наблюдаю.  Есть PIC12, работающий от своего внутреннего 4 МГц. Его таймер1 работает от внешнего 32768 кГц. Частота генерации верная. Настраиваю срабатывание прерывания по переполнению таймера с частотой 2048 Гц. Т.е. каждые 16 периодов часового кварца. В начале процедуры прерывания переинициализация таймера: TMR1L = (65536-16)&0xff; TMR1H = (65536-16) >> 8; в прерывании переключаю пин. Т.е. частота на пине д.б. = 1024. Однако фиг там: частота на пине ~963 Гц (частота LP генератора 100% верная). Ситуация нормализуется, если переинициализирую таймер числом не (65536-16), а (65536-15). Как будто прерывание происходит не в момент 65535->0, а на 1 цикл позже. Умные люди, скажите свою мысль!