![]() Вопросы программирования микроконтроллеров. , Задаем вопросы,отвечаем,не засоряем другие темы! |
Здравствуйте, гость ( Вход | Регистрация )
![]() Вопросы программирования микроконтроллеров. , Задаем вопросы,отвечаем,не засоряем другие темы! |
![]() ![]()
Сообщение
#1
|
|
![]() Специалист ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 897 Регистрация: 18.6.2009 Из: Винница Пользователь №: 14820 ![]() |
Всетаки решился открыть новую тему
![]() ![]() ![]() Я не претендую на профи в этом деле ![]() Первым делом –программатор. Стоит подумать перед покупкой-зачем он Вам? Прошить 2-3 контролера в месяц? Глупо! Нет LPT порта,нет COM порта? Прошить можна и на другом компе. Ну а если очень захотелось крутой программатор-Ваше дело. (Блатная жизнь-нелегкая!) Тут каждый принимает решение сам. Мой совет-набираете в GOOGLЕ-программатор Громова или программатор на MAX232-информации немерено! Паяльник в руки-10-15мин. И он у Вас есть. Попробуете поработать с контролерами,понравится,заработаете свой первый миллион-купите себе суперновый навороченный ![]() Процессор можно прошивать как на панельке так и внутрисхемно. Но ему необходимо питание-в основном 5В,иногда можно прошивать и при штатном питании(незнаю,непробовал-брехать небуду) Я думаю с этим проблем нет,трансик,кренка,кондерчик-хватит. Следите за правильностью подключения проца к программатору и питанию! У каждого автора схемы,программы и в целом девайса распиновка под программатор своя. Рекомендуется сначала подключать минус питания для уравнивания потенциалов. Теперь нам нужна программа для прошивки микроконтроллера. Опять-же,нам нужна простая программа,нам нужно просто залить готовую прошивку в микроконтроллер. Варианты поковырятся в готовой прошивке-эт для людей знающих! И тут обращаемся к великому Гуглю. Тут опять-же на вкус и цвет-товарищей нет. Algorithm Builder, UniProf, PonyProg, AVR Studio, Code VisionAVR, SinaProg-выбираем,качаем,устанавливаем,изучаем,что непонятно-GOOGL рулит!!! Подключаем все это дело-комп,программатор,контролер. В выбранной и установленной проге устанавливаем связь с программатором,подаем питание-если ничего не дымит значит пока живем!!! При запуске программы определяется контролер,если не определился-выбираем вручную. Теперь о прошивках-они у нас в основном в двух видах,НЕХ-заливается во FLASH,EEP-заливается в EEPROM. Впрочем-непопутаете! Я не писатель,немного устал-теперь кратко о сути. ФЬЮЗЫ!!! Тут максимум внимания!!! Автор может изменить алгоритм работы контролера-частоту,защиту,внутренний,внешний генератор-в общем может быть беда! Если автор прошивки не меняет фьюзы-хорошо,Вы тоже их не трогаете,если есть изменения-просите огласить какие изменения(ниже будут «разложены» фьюзы) или просите скиншот,при этом обращаете внимание в какой среде автор прошивает контролер. Спросите почему? Потому что программы по разному отмечют «активен» и «не активен»,у одних галочка стоит когда-«активен»,у других наоборот.Здесь чаще всего косячат :!: :!: :!: !!! Рекомендую перед прошивкой сначала считать Ваш контролер(почему-увидите ниже),определится с фьюзами,как они стоят и как Вам их нужно установить. Каждая программа делает это по разному,внимательно изучите сей момент!!! Потом прошить его ,потом проверить прошивку(считать),а уже потом подбиратся к фьюзам. Помните- у PonyProg и AVR Studio значение «активен» и «не активен» абсолютно противоположено программам Algorithm Builder и UniProf !!! Значение или назначение некоторых фьюзов: SPIEN – разрешение на последовательное программирование. Нетрогать! Табу! DWEN – бит, разрешающий работу DebugWire Нетрогать! Табу! RSTDISBL –разрешает использовать ножку Reset как еще один порт ввода-вывода Нетрогать! Табу! Lock Bit Byte – лок биты для защиты программы от копирования CKSEL – выбор тактового генератора для микроконтроллера CKSEL0– Внешний тактовый сигнал; CKSEL1 – Внутренний тактовый генератор – частота 4 МГц; CKSEL2 – Внутренний тактовый генератор – частота 8 МГц; Если Вы выставили фьюзы на внешний генератор, а его нет, то придется припаять кварц к соответствующим ножкам или подать тактовые импульсы. CKOUT – разрешает вывод тактовой частоты на ножку CLKO микроконтроллера CKOPT – задает размах тактового сигнала на внешнем генераторе. SCKDIV8 – деление тактовой частоты на 8 SUT – задает скорость запуска микроконтроллера BODLEVEL и BODEN – контроль напряжения питания микроконтроллера (Brown-out Detector). EESAVE – защита EEPROM от стирания Lock Bits – Это отдельный фьюз байт который предназначен для защиты области программ и/или EEPROM от копирования. Полное стирание восстанавливает эти биты в исходное состояние. Еще раз повторюсь, это не полный перечень фьюз бит, для каждого конкретного микроконтроллера смотрите даташит. Общий алгоритм установки фьюз бит должен быть следующим: - прошиваем Flash и, если нужно, EERROM; – открываем окно прошивки фьюзов, считываем текущие фьюзы микроконтроллера; – модифицируем только те фьюзы которые нам нужны; – обращаем внимание на критичные для последовательного программирования фьюзы RSTDISBL, SPIEN, др. Ну в общем вроде бы все что мог(или на что хватило задора)написал-звиняйте что не так! Милости просим! Добавляем информацию,дополняем,делимся,спрашиваем! Кстати(дабы не считали таким вумным) все в свое время подчерпнул сдесь-Здеся! Замечены неточности -укажите-исправлю! Сообщение отредактировал с2н5он - 4.11.2011, 7:13 |
![]() |
|
![]() |
![]()
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 441 Регистрация: 15.2.2010 Из: Серпухов Пользователь №: 17363 ![]() |
igorka Мда Мурзилка как всегда, автор пишет "Кроме заrрузки FLASНпамяти микроконтроллера ATtiny2313 в нём необходимо запроrраммировать разряд конфиrурации BODLEVELO (установить ero значение равным О). Этим будет задан пороr срабатывания внутреннего детектора понижения напряжения питаниямикроконтроллера равным 1,8 В. Состояния остальных разрядов конфиrурации, установленные изrотовителем этоrо микроконтроллера, оставляют
неизменными. " А, что от кварца работает, делитель на 8 отключить надо, ведь для начинающих проггер ![]() -------------------- Вот блин, опять в галерее картину малевича вверх ногами повесили.
|
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 10.2.2025, 21:12 |
|
![]() |