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

 
 
> Регистр STATUS_PMIC в хмеге, инициализация
zombi
сообщение Dec 27 2011, 12:58
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Из за наличия многоуровневых прерываний в Хмеге столкнулся с проблемой инициализации контроллера прерываний.
Приоритет HI имеет всего одно прерывание (пропадание питания) по нему нужно уйти в слип.
Поскольку и MED и LO прерывания тоже имеются и заканчивать их в случае пропадания питания нет необходимости а регистр статуса
необходимо сбросить то мне пришлось нагородить вот такой код.
Гляньте Ув. знатоки. Не перемудрил ли я , может можно проще?
Код
INT_TO_SLEEP:
    cli
    lds    RA,(PMIC_STATUS)
    sbrs    RA,PMIC_MEDLVLEX_bp
    rjmp    END1
    ldi    RA, LOW(END1)
    push    RA
    ldi    RA,HIGH(END1)
    push    RA
    reti
END1:    
    lds    RA,(PMIC_STATUS)
    sbrs    RA,PMIC_LOLVLEX_bp
    rjmp    END2
    ldi    RA, LOW(END2)
    push    RA
    ldi    RA,HIGH(END2)
    push    RA
    reti
END2:    
    ldi    RA, LOW(SLEP)
    push    RA
    ldi    RA,HIGH(SLEP)
    push    RA
    reti

SLEP:    
    sei
    SLEEP
    cli
...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
zombi
сообщение Dec 30 2011, 10:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Поскольку возражений нет, я понимаю что это единственный способ.
Go to the top of the page
 
+Quote Post

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

 


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


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