что-то я не понимаю...

Пpивет, All!

Hа 90S2313 был у меня программный UART, битовые интервалы генерировались таймером 1 в режиме сравнения с компаратором. Все нормально, проблем никаких, по достижении N (записанного в компараторе), таймер обнулялся, генерировалось прерывание. Переношу на ATmega8. А интервал-то другой. Длительность уже не N, а N+1... Оно так задумано и я чего-то недочитал в даташитах ? Пришлось писать в компаратор значение, на единицу меньшее, но сомнения терзают. Тем более, что и длительность битового интервала вроде по скопу выходит чуть меньше нормы (сделал то же самое родным UART - чуть отличается). Прямо хоть частотомер подключай... Т.е. дело и до частотомера дойдет, но для начала бы понять логику сброса таймера...

с уважением Владислав

Reply to
Vladislav Baliasov
Loading thread data ...

Пpивет, All!

*** 09 Dec 03 01:16, Vladislav Baliasov wrote to All:

VB> генерировались таймером 1 в режиме сравнения с компаратором. Все VB> нормально, проблем никаких, по достижении N (записанного в VB> компараторе), таймер обнулялся, генерировалось прерывание. Переношу на VB> ATmega8. А интервал-то другой. Длительность уже не N, а N+1... Оно так VB> задумано и я чего-то недочитал в даташитах ?

Еще раз перечитал - вроде логично, таймер считает до N _включительно_. Hо почему для 2313 (где, если верить диаграмме, все так же) все работало ? Или это в эрратах было, а я запамятовал ?

с уважением Владислав

Reply to
Vladislav Baliasov

Tue Dec 09 2003 01:49, Vladislav Baliasov wrote to All:

VB>> генерировались таймером 1 в режиме сравнения с компаратором. Все VB>> нормально, проблем никаких, по достижении N (записанного в VB>> компараторе), таймер обнулялся, генерировалось прерывание. Переношу на VB>> ATmega8. А интервал-то другой. Длительность уже не N, а N+1... Оно так VB>> задумано и я чего-то недочитал в даташитах ?

VB> Еще раз перечитал - вроде логично, таймер считает до N _включительно_. Hо VB> почему для 2313 (где, если верить диаграмме, все так же) все работало ? VB> Или это в эрратах было, а я запамятовал ?

Там была какая-то тонкость с прескалером на эту тему. Hо перечитывать даташиты лень. :)

WBR, Юрий.

Reply to
Yuriy K

Пpивет, Yuriy!

*** 09 Dec 03 03:01, Yuriy K wrote to Vladislav Baliasov:

VB>> Еще раз перечитал - вроде логично, таймер считает до N VB>> _включительно_. Hо почему для 2313 (где, если верить диаграмме, VB>> все так же) все работало ? Или это в эрратах было, а я VB>> запамятовал ?

YK> Там была какая-то тонкость с прескалером на эту тему. YK> Hо перечитывать даташиты лень. :)

Да, перечитал, осознал. С прескалером 2313 работает иначе.

с уважением Владислав

Reply to
Vladislav Baliasov

Пpивет, Alexander!

*** 26 Jan 04 17:35, Alexander Derazhne wrote to Vladislav Baliasov:

VB>> внешние, по уровню. VB>> когда на входе внешнего прерывания стабильный "0", то

AD> ... кристалл только и занимается входом в во "внешнее" прерывание AD> и выходом из него. Очевидно, у него приоритет больше.

Можно было бы предположить и такое. Hо я же не совсем дурак ? Сделал отладочную пропечатку в основной программе, вижу, как инкрементируется TMR0, а вот обработчик его переполнения (по которому у меня идет счет времени) - не вызывается...

с уважением Владислав

Reply to
Vladislav Baliasov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.