|
Помогите с симуляцией ATTINY24 |
|
|
|
Jan 6 2009, 15:36
|

Участник

Группа: Участник
Сообщений: 34
Регистрация: 9-01-07
Из: Украина, г. Ровно
Пользователь №: 24 257

|
Хочу сделать регулятор температуры на АВРке. В Протэусе сделал набросок схемки пока очень урезаной для отточки програмки. написал очень маленкую прогу и она глючит в симуляции. Мне просто интересно это глюк Протэуса или моей проги. вот листинг проги CODE void main () { char up ; int vrem; //CUR_T current temperature int CUR_T,T_OFF,DELTA; //T_ON - Temperature ON DELTA - Gisteresis
init_portA(); init_portB(); startADC(); up=1; T_OFF=0x266; DELTA=0xC1; vrem=T_OFF-DELTA;
ON(); while ((PINB&0b0001)!=0) { CUR_T=readADC(); // ---------- отключения нагревателя ------- if(up==1&&CUR_T>T_OFF) { OFF(); up=0; } //--------------------------------------------------------------------------- // ---------- Включение -------
// vrem=T_OFF-DELTA; если эту строку оставить в теле цыкла то програма работает некоректно, если вынести за пределы цыкло то работает нормально.
if(!up&&CUR_T<vrem) { ON(); up=1; } //--------------------------------------------------------------------------- } PORTB = 0xFF;
}
Вот файлы
Regulator.zip ( 15.79 килобайт )
Кол-во скачиваний: 96От модератора. Пользуйтесь, пожалуйста, штатными тэгами code и codebox для оформления текста исходных кодов. Сообщение отредактировано.
|
|
|
|
|
 |
Ответов
|
Jan 6 2009, 21:50
|

Участник

Группа: Участник
Сообщений: 34
Регистрация: 9-01-07
Из: Украина, г. Ровно
Пользователь №: 24 257

|
Цитата(SysRq @ Jan 6 2009, 21:15)  Флаги сбрасываются записью единицы, а не ноля; о каком именно флаге идет речь? стараюсь по даташиту, там в основном говорять или записать "1" иди "0" цикл почти вечный пока ненажмешь кнопку
|
|
|
|
|
Jan 6 2009, 22:14
|

Участник

Группа: Участник
Сообщений: 34
Регистрация: 9-01-07
Из: Украина, г. Ровно
Пользователь №: 24 257

|
Цитата(SysRq @ Jan 6 2009, 23:57)  ADIF.
Да, забыл написать, что readADC() неверно написана: или надо ждать окончания процесса ац-преобразования и затем считывать, или возвращать условное значение что считывать еще рано. У вас функци возвращает мусор из стека запросто. Огромное спасибо пока эту функ непоправил мучалься целый день, уже скачал 3 компилятора )))
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|