Микроконтроллеры | Помогите разобраться с двумя таймерами ATMega16 |
|
---|---|---|
Попробовал 0x0B. Стало получше, но не до конца, заметно "плавание". Думал тоже что из-за обработчиков, но потом оставил кусок из всей программы, упростил его и... тоже самое. вот незадача то. Так обработчик в полной программе занимает 0,03мс. Это много? |
|
|
Если стало получше, то очень плохо. На какой частоте сейчас работает Mega? |
|
|
1 МГц. Можно вам весь проект на почту или сюда скинуть, может грабли глобальные, а я не вижу? Это мой первый проект на МК такой, который в железе задумывался. |
|
|
Да нет, диагноз в принципе понятен . Попробуйте следующее: |
|
|
Спасибо за помощь, буду пробовать. Так всё серьёзно значит, 3 таймера в меге, но из-за малой частоты меги и(или) "странностей" компилятора можно пользоваться только двумя (первый с двумя другими не конфликтует)? Ещё заметил, если прескалер у таймера 2 поставить в 1024, то тоже лучше. Вообще частота маленькая генерации по сравнению с тактовой, а такие проблемы, не понимаю этого. |
|
|
chav1961: 4. Самый худший вариант - перейти на ассемблер То что я смог написать на С врядли на асме смогу сейчас, разве что через год мучений (ну мне б хоть на С сначала сделать то что задумал). |
|
|
chav1961: Попробуйте поиграться с оптимизацией. Да вообще её выключу наверное. |
|
|
Когда частота программно генерируемых сигналов сравнима с тактовой частотой, требуется очень аккуратное программирование. Возможно, имело смысл вообще отказаться от прерываний, а использовать поллинг. А оптимизацию надо, наоборот, включить (лучше всего "s"): на языке С код без оптимизации - это такой ужас... |
|
|
Про поллинг ещё ни в одной книге не встречал из тех что читал по Си. В переводе это опрос, а как он заменит прерывания от таймера, таймер вообще не нужен? Но у меня низкие частоты генерируются. Получается как-будто прерывания "налазят друг на друга", а не обрабатываются по очереди, вызывая лишь небольшую задержку между сигналами по Т0 и Т2. |
|
|
Таймеры опрос не заменит, но его можно "заточить" так, чтобы он ничего лишнего не делал. Вообще это - чисто ассемблерные фенечки, думаю, вам они пока ни к чему |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |