Arduino as programmer Atmega328
- Войдите на сайт для отправки комментариев
Ср, 25/10/2017 - 15:23
Здравстуйте.
Есть простой скетч.Загружаю в Ардуино Уно четко работает,но когда тот же самый скетч прошиваю в Атмега328 (используя Ардуино как программатор) работает некорректно.
И плюс всему этому, снимаю с Ардуино процессор - работает.
Откликните пожалуйста.
Есть простой скетч.
Где?
прошиваю в Атмега328 (используя Ардуино как программатор) работает некорректно.
И плюс всему этому, снимаю с Ардуино процессор - работает.
Еще легкое усилие - чем атмега328 в ардуине отличается от просто атмега328?
Еще легкое усилие - чем атмега328 в ардуине отличается от просто атмега328?
Наличием загрузчика и, вполне вероятно, фьюзами. Но, я предлагаю, не вести никаких переговоров пока не увидим скетча. Хрустальные шары ведь Клапауций запретил.
Еще легкое усилие - чем атмега328 в ардуине отличается от просто атмега328?
Наличием загрузчика и, вполне вероятно, фьюзами. Но, я предлагаю, не вести никаких переговоров пока не увидим скетча. Хрустальные шары ведь Клапауций запретил.
Фу, противный. Нет, чтобы ТС хоть слегка голову поломал.)))
вот скетч но не понимаю какая разница
int BUTTON1_PIN = 9; int BUTTON2_PIN = 10; int LED_PIN = 11; unsigned long timer; bool button1; //переменный состояний кнопок и леда bool button2; bool led; bool button1_on; //флаг нажатия кнопки 1 void setup(){ pinMode(BUTTON1_PIN, INPUT); pinMode(BUTTON2_PIN, INPUT); pinMode(LED_PIN, OUTPUT); } void loop() { button1 = digitalRead(BUTTON1_PIN); //считываются состояния кнопок и лампочки button2 = digitalRead(BUTTON2_PIN); led = digitalRead(LED_PIN); if(button1 && !button1_on) { //если кнопка1 нажата, но флаг что она была нажата не стоит button1_on = 1; //ставим флаг что кнопка нажата delay(20); //ждем 20мс чтоб дребезг ушел button1 = digitalRead(BUTTON1_PIN); //проверяем нажата ли кнопка все еще if(button1){ //если таки нажата timer = millis(); //засекаем текущее время, т.к. в изначальном условии есть флаг - //оно засечется только в момент нажатия на кнопку if(!led){digitalWrite(LED_PIN,HIGH);} //если лампочка не горит, то зажигаем ее }} if(!button1 && button1_on) {button1_on=0; digitalWrite(LED_PIN,LOW);} // если кнопка отжата - снимаем флаг нажатия кнопки //и отключаем лампочку if(button2 && led){ //а тут тупо каждый цикл пока зажата кнопка 2 при горящем леде timer = millis(); //будет обновляться время в таймере } if(button2 && button1 && !led){ //если кнупку2 нажали при удерживаемой 1 и потухшем леде delay(20); //типа дребезг button2 = digitalRead(BUTTON1_PIN); //проверяем кнопку2 if(button2){ //если нажата digitalWrite(LED_PIN,HIGH); timer = millis(); //подрубаем светодиод и засекаем время }} if(led && millis()-timer>10000){ // если лампочка горит и время не обновлялось более 10с digitalWrite(LED_PIN,LOW); //выключаем лампочку } }Ну, не понимаете и не надо, но скетч публикуйте.
Как и какие фьюзы Вы устанавливали в микросхеме, прежде, чем шите её программатором? Если никакие не устанавливали или не понимаете о чём я - так и говорите.
допустим что так - не понимаю.
Прошиваете фьюзы как low_fuses=0xFF high_fuses=0xDE extended_fuses=0xFD радуетесь. Запаиваете кварц на 16 мегагерц с двумя конденсаторами.