#include <avr> #include <util> int main () { DDRB=0xFF; //Настройка портаB DDRA=0xFF; //Настройка порта A DDRD=0xFF; //Настройка порта D while (1) { PORTB=0xFF; //Включаем весь порт В _delay_ms(1000); //Ждем PORTB=0x00; //Выключам весь порт В _delay_ms(1000); //Ждём }
}
а вообще советую начинающим использовать Code Vision AVR. сам с него начинал
я ранее учил С++,думал что Ассемблер это что то неимоверно сложное,но сейчас разобравшись в нем понимаю,что бил далеко не прав,и сейчас даже не собираюсь переходить на С.
Встретил такой глюк-при вливании прошивы от 90s в тини 2313,после двух трех включений перестает работать девайс.На нажатие кнопок не реагирует.Кто нибудь встречался с таким глюком?Р.S фьюзы прошил как надо.
Зарегистрирован: Чт мар 13, 2008 11:57:03 Сообщений: 2 Откуда: russia
Рейтинг сообщения:0
Всем привет! Я тут впервые.
Недавно по роду работы решил впервые заняться АВРом. Раздобыл ATtiny2313 и пописал простейшие проги (типа лампочка моргает). Все нормально, программирую его ПониПрогой через СОМ-портовый адаптер (помех нет, коз и холодных тоже нет, верняк).
Поначалу у меня стоял внутренний тактовый источник на 8 МГц, что вкупе с CKDIV=0 давало 1 МГц тактовой частоты. Единственный фьюз, который я изменил по сравнению с дефолтом - установил BODLEVEL1=0, чтобы включился BOD. И все работало, лампочки моргали, на Т0 считались импульсы от кнопкотриггерного источника.
Но тут решил сменить источник тактовой частоты. Дело в том, что мне хотелось низкочастотного ШИМа (собственно ради него я и залез в АВР, ибо нужен маленький регулятор положения электромагнитного привода рабочего органа с ШИМ-выходом и ОС с фотодатчика перемещения без компа, на котором все было сделано). А на частоте 1 МГц минимальная частота ШИМа 1 кГц. Это в принципе нормально, но вот захотелось поменьше погонять. И решил я запитать МК от осциллятора Watchdog-а, который дает 128 кГц, что с предделением на 8 дает 32 кГц на ядре и 500 Гц ШИМа при делении 64.
Написал прогу, но сначала решил запрогить фьюзы. За чем дело стало - снял галочку CKSEL1, то есть фьюзы CKSEL=0110, что по даташиту подключает ватчдог и установил галку на SUT1, то есть SUT=00, что при рабочем БОДе должно быть вполне рульно. Запрогил фьюзы.
После этого микроконтроллер прекратил определяться ПониПрогой, то есть ничего в него не пишется и не читается, т.е. прога пишет "Unknown or missing device -24". При этом программатор рабочий (проверил на раздобытом АТмега16), все в поряде, а тини2313 так и не хочет прогиться. При этом он не сгорел - при включении его в схемку он как и раньше считает импульсы и зажигает LEDы. Т.е. работает старая прога.
Не могу понять в чем проблема. Дело явно не в RSTDISBL и SPIEN - их в ПониПроге прочто нельзя не так запрогить. МК рабочий. Но его не видно. Одна весч меня удивила. Если попробовать его флэш или еепром или фьюзы почитать, то фиг вам, писать еепром и фьюзы тоже никак. Если же пробуешь писать флеш, то прога виснет намертво, не сообщая ошибки. Но если после зависания выключить питание программатора, то программирование проходит, сообщая правда в конце "write failed".
Наваял тут проэктик один на ATTiny2313 - для исключения максимального количества ошибок на этапе разработки долго думал какой бы отладчик заюзать. Proteus и VMLAB - не поддерживает ATTiny2313 , отладчик AVRStudio некорректно ведёт себя именно с этим узлом - модулем UART. А в отладчике AB всё бы хорошо... но там нельзя указывать содержимое байта который нужно передать.
В кратком курсе всем советую : Выбирайте ТОТ МК для работы с которым у вас есть ИНСТРУМЕНТЫ !!!
РадиоКотовец писал(а):
Вобщем что посоветуете ? Ну кроме как перейти на др МК?
Попробоуйте "AVR симулятор IDE" - можно найти на заглавной странице курса по AVR - моя домашняя страничка. Я его использовал и для тини13 и для меги48 а лекарство на cracks.am ищется просто.
_________________ Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
есть CodeVisionAVR C Compiler Evaluation и ATtiny2313, CodeVisionAVR нехочет компилировать printf(); пишит лимит размера файла переполнен. есть альтернатива?
П.С. мне нужно вывести в USART переменную.
наперед, велике дякую:)
Либо оптимизировать код, так чтоб места хватало, либо использовать полную версию компилятора, либо вообще сменить компилятор. Думаю, так, если правильно понял вопрос.
_________________ Оптимизм х (Опыт + Знания) = const
Решил занятся микроконтроллерами и для начала спаять программатор. Однако зашел на сайт Александра Редчука и увидел что схема отличается от той,которая приведена в обучалке. Наверное она там она просто обновляется иногда. Какую лучше паять и не изменится ли что при прошивке .
Хочу тупо повторить это.
Но испытываю трудности с добычей AT90S2313, поэтому хочу использовать аналог - ATtiny2313. Вопрос в том будет ли всё это дело работать с тинькой? В прошивке я дуб дубом , уж извиняйте.
ЗЫ: Слышал, что нужно со фьюзами поработать.[/u]
Карма: 13
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35 Сообщений: 4673 Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения:0 Медали: 1
regenerator писал(а):
Хочу тупо повторить это. Но испытываю трудности с добычей AT90S2313, поэтому хочу использовать аналог - ATtiny2313. Вопрос в том будет ли всё это дело работать с тинькой? В прошивке я дуб дубом , уж извиняйте. ЗЫ: Слышал, что нужно со фьюзами поработать.[/u]
Думаю что само устройство будет работать. Почему нет? Вот с прогой - фиг знает. Вроде бы должно. А насчет фьюзов не парься. Когда начнешь ваять - пиши, помогу их запрогить, а сейчас одно запомни - при помощи фьюзов выбирается источник частоты (а также делитель на 8 для внутреннего генератора), режимы БОДа и прочая фигня, которая для МП3 никак не помешает.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения