реклама на сайте
подробности

 
 
> Кто разъяснит прикол IAR C
SasaVitebsk
сообщение Jul 12 2006, 16:48
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Объявлено следующее:

#define FCLK 14745600 // ×àñòîòà êîíòðîëëåðà
#define TCLK 68 // ×àñòîòà êîíòðîëëåðà â íñ
....
#define FREGENER 75 // ×àñòîòà ðåãåíåðàöèè ïàííî
#define FSHOWACT 40 // ×àñòîòà èñïîëíåíèÿ êîìàíä
....
OCR1A = FCLK/(1024*FSHOWACT); // FCLK/1024/16.7 Ãö = 862
....

Компилятор генерит следующее

168 // Инициализация таймера 1 (Исполнение активных комманд)
169 // TCCR1A = 0; // Запустить таймер 1 в режиме сравнения
170 OCR1A = FCLK/(1024*FSHOWACT); // FCLK/1024/16.7 Гц = 862
\ 00000100 EA08 LDI R16, 168
\ 00000102 EF1D LDI R17, 253
\ 00000104 93100089 STS 137, R17
\ 00000108 93000088 STS 136, R16


Если вместо 40 для константы FSHOWACT поставить 31 и меньше, то всё класс. Точно также всё правильно если поставить 40.0!
Что я не учёл?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016