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

 
 
> Atmega зависает при включении питания
LSerg
сообщение May 22 2010, 17:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967



Имеется плата с Atmega 128. При включении питания зависает не постоянно.
Программа написана на winavr включен fuse WDTON. В main первая команда погасить светодиоды, затем wdt_enable(WDTO_2S);
После повторной подачи питания запуск происходит нормально. Состояние зависания определяю по тому, что светодиоды не гаснут.
Возможные варианты:
1. Так как при повторном запуске программа запускается нормально значит flash память не портится.
2. AVR не правильно выполняет команды в "стрессовых" ситуациях .....
3. Загадки WinAVR

Кварц внешний 14.7456

Уважаемые специалисты, помогите разобраться.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
LSerg
сообщение May 22 2010, 19:29
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967



Код
#define SV_1_OFF                      PORTC |=(1<<PC0)
#define SV_2_OFF                         PORTC|=(1<<PC1)
#define SV_3_OFF                      PORTC |=(1<<PC2)
#define SV_4_OFF                         PORTC|=(1<<PC3)
#define SV_5_OFF                         PORTC|=(1<<PC4)

void Init_Port(void)
{
    DDRC = 0xFF;        //Настроить выводы на выход светодиоды
    DDRF = 0xF0;        //Настроить выводы на вход "Кнопки"
    DDRB = 0xC8;
    DDRG |= 0x07;
    DDRE |= 0x02;        //Выводы прерываний настроены на вход
    
    PORTF &= 0x0F;
    

    SV_1_OFF;
    SV_2_OFF;
    SV_3_OFF;
    SV_4_OFF;
    SV_5_OFF;
}
int main(void)
{
    unsigned char LCD_Menu=0,                  
                  Cikl_Menu = 0,                  
                  Flag_1sec=0,
                  Time_Test_Ust = 0;
                  
    volatile unsigned char Seconds_OLD = 0;
    
    wdt_enable(WDTO_2S);
    _delay_ms(30);        //    Задержка на переходные процессы
    
    Init_Port();
        .....
}

Светодиоды подключены через резистор на +5В.
В программе они при наступлении аварии зажигаются индицируя номер события.
И поэтому светится все вместе одновременно не могут, кроме включения.

На счет очередности команд в вопросе я ошибся. В программе они идут на оборот.

Отключить WDT можно, но зависание проявляется не часто примерно 1 в 30 включений. Может в этом и есть смысл, но пока непонятен. И отключать не хочется требуется постоянная работа устройства и перезапуск возможен.

Сообщение отредактировал LSerg - May 22 2010, 20:29
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- LSerg   Atmega зависает при включении питания   May 22 2010, 17:30
- - Dog Pawlowa   Цитата(LSerg @ May 22 2010, 20:30) В main...   May 22 2010, 18:31
- - Leonmezon   Чтоб можно было подсказать: Привидите текст програ...   May 22 2010, 18:42
- - V_G   А фьюзы выставили для ВЧ кварца? Забыл точно наиме...   May 23 2010, 01:38
- - LSerg   Fuse Full Amplitude установлен. На счет WDT как я ...   May 23 2010, 07:56
- - sigmaN   А что там насчёт электромагнитной совместимости? ...   May 23 2010, 08:44
- - LSerg   Релюшки стоят, но срабатывают они уже после включе...   May 23 2010, 08:49
- - sigmaN   Ничего не бывает просто так Разводка питания как ...   May 23 2010, 09:04
- - LSerg   На счет прерывания по WDT в мега 128 по моему его ...   May 23 2010, 09:06
- - sigmaN   Да что вы так за WDT вцепились. это вообще крайний...   May 23 2010, 12:49
- - =AK=   Цитата(LSerg @ May 23 2010, 03:00) При вк...   May 23 2010, 12:57
- - V_G   1. Стоит попробовать все-таки внутреннее тактирова...   May 23 2010, 13:00
- - LSerg   Цитата2. Непонятно, почему в программе НЕ инициали...   May 23 2010, 14:39
- - sigmaN   ЦитатаНе совсем понял вопрос на счет операторов ну...   May 23 2010, 15:03
|- - V_G   Цитата(sigmaN @ May 24 2010, 02:03) Но ли...   May 23 2010, 23:04
- - LSerg   Программный глюк об этом по подробней?   May 24 2010, 07:24
- - sigmaN   В хорошо написанной программе таких программных гл...   May 24 2010, 08:03
- - V_G   А что, кто-то умеет писать программы без ошибок? О...   May 24 2010, 08:13
- - LSerg   Вопрос по симуляции не по светодиодам. Если питани...   May 24 2010, 08:34
|- - V_G   Цитата(LSerg @ May 24 2010, 19:34) Вопрос...   May 24 2010, 11:00
- - sigmaN   LSerg, пора бы вам раскрыть больше данных о своём ...   May 24 2010, 15:16
- - DpInRock   Убрать конденсатор с резета.   May 24 2010, 16:05
- - LSerg   Спасибо кто откликнулся по данному вопросу. Прошу ...   May 25 2010, 16:05


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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 23:17
Рейтинг@Mail.ru


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