реклама на сайте
подробности

 
 
> ATmega128 постоянный сброс устройства с частотой около 10герц.
nullakilla
сообщение Jan 11 2010, 22:40
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 7-05-09
Пользователь №: 48 785



Значится так.

Одной из задач второй платы моего устройства на ATmega128 является передача отладочной инфы на компьютер по интерфейсу RS232.

Ну и я начал писать прошивку с того, что инициализировал USART1 и передавал строку или символ по интерфейсу.

Но в окне Terminal почему-то появлялась эта строка или символ многое количество раз и с непонятно большой скоростью.

Я решил поставить _delay_ms(1000); после инициализации (на всякий случайsmile.gif)
Тогда при перепрошивке символы в Terminal перестали передаваться.

В итоге я решил забить на RS232 и просто поморгать светодиодом через ножку порта.

написал прогу что-то наподобие:
CODE
int main() {
DDRA = (1 << PA2);

while (1) {
PORTA |= (1 << PA2);
_delay_ms(1000);
PORTA &= ~(1 << PA2);
_delay_ms(1000);

}


}


а светодиод почему-то моргал с частотой около 10 Гц.

и тут меня осенило! закомментил цикл while
CODE
int main() {
DDRA = (1 << PA2);

//while (1) {
PORTA |= (1 << PA2);
_delay_ms(1000);
PORTA &= ~(1 << PA2);
_delay_ms(1000);

//}


}

,а программа работает точно так же!

проверил питание - все в порядке, резет тоже стабильный, а микроконтроллер перезагружается.

Подскажите, пожалуйста, в чем может быть проблема!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
idle1
сообщение Jan 13 2010, 12:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367



Для отладки лучше отключи оптимизацию кода в компиляторе, однажды налетел на такое, долго провозился с ерундовой проблемой...
Go to the top of the page
 
+Quote Post
nullakilla
сообщение Jan 14 2010, 08:03
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 7-05-09
Пользователь №: 48 785



Я прошивал эту ATmega128 через AVRDude в Eclipse, но когда возникали проблемы, то запускал AVReal из консоли. Дак вот интересно что.

Когда смотрел авриэлом, то вотчдог был 1 т.е. Unprogrammed, а когда в рабочем порядке шил AVRDude, то этот фьюз каким то хреном устанавливался Programmed sad.gif При чем, что в настройках аврдюда я выключил перезапись фьюзов.


ВОТ ВАМ И БЕСПЛАТНЫЙ СОФТ, ТОВАРИЩИ.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Jan 15 2010, 07:03
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



nullakilla
Так как все же разрешилась Ваша проблема?
Причина редактирования: Избыточное цитирование. Omen_13
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 14:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01443 секунд с 7
ELECTRONIX ©2004-2016