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

 
 
> Регистр 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



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

 


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


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