[an error occurred while processing this directive]
|
Решил облегчить себе жизнь и воспользоваться генератором кода СВАВР :)
Скопировал собственно пока только getchar и putchar c буферизацией. И вот же зараза, printf не хочет печатать строку до конца(релиз проверяю на АВРСтудии +утилита для терминала,дебуг выполняется без этих функций).Хотя тест printf в CVAVR гонится на ура. Есть какие-нибудь тонкости?
И еще, пишу функцию
/////////////////////////////
typedef unsigned char ushort;
typedef unsigned int uint;
/////////////////////////////
ushort SetAutoTime (ushort pin, uint time_20msc,ushort mode);
должна принимать номер пина на _двух_трех_ портах, время реагирования в 20 мсек. интервалах, и режим("поднять" через время, "опустить" через время).
#define io06 6 //PINB5
..........
#define io13 13 //PINC4
SetAutoTime(io06,50,ON); //выход PINB5 в положение ON через 1 сек.
Все запросы загоняю в массив из 8-элементов-структур. Если запрос выполнен-номер пина равен нулю(элемент массива свободен для записи нового). В прерывании таймера в цикле ищу ждущий запрос-уменьшаю его время, если истекло- выполняю режим и стираю номер пина. Вот думаю как правильно передать номер пина на определенном порту (сделал временно на switch-case)?
Так вот вопрос: культурно ли такое письмо(программирование)? Какие грабли могут быть?
E-mail: info@telesys.ru