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

 
 
> проблема с вычислениями, WinAVR
ARV
сообщение Jul 22 2010, 08:18
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



я в шоке!
пишу:
Код
#define MAX_PHASE    9500UL
#define TDIV        8
#define CONCAT(x,y)    x ## y
#define DIVISOR(x)    CONCAT(TIMER_CLK_DIV_,x)
#define PRESCALER    DIVISOR(TDIV)
#define MAX_OCR        (((F_CPU * (MAX_PHASE/TDIV) / 1000000)))
#define TCNT_INIT        ((UINT16_MAX + 1UL)- MAX_OCR)

вроде бы все верно (на странно расставленные скобки в MAX_OCR не обращайте внимания - это я от безысходности расставлял их). однако следующая строка
Код
    printf_P(PSTR("SI:%u;%u;%u\n"),200,MAX_OCR,TCNT_INIT);
выводит в консоль
Цитата
SI:200;242;65294

ума не приложу, в чем дело! F_CPU у меня 11059200, ожидаю, что MAX_OCR будет тринадцать тысяч с хвостиком - ан нет sad.gif

что не так?!


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post



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

 


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


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