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

 
 
> Port Change Interrupt на PIC18, Фича Interrupt on-change от Microchip
Master
сообщение Feb 18 2008, 13:03
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405



Большой привет!

После AVR кажется уж очень утомительным PIC18F2585 sad.gif
Подскажите плиз, кто пользовал Port Change Interrupt: как его заставить работать?

Среда MPLAB, компилятор MCC18, отладчик ICD2.
Делаю следующее:
Код
void    IO_Init( void )
{
    TRISBbits.TRISB5    = 1;        // Input 0
    TRISBbits.TRISB4    = 1;        // Input 1
    INTCONbits.RBIF     = 0;        // Clear RB Port Change Interrupt Flag bit
    INTCONbits.RBIE    = 1;        // Enables the RB port change interrupt
}
void    RBPortChangeInt_ISR( void )
{
    if ( INTCONbits.RBIF ){
        Nop();
        INTCONbits.RBIF = 0;        // Clear RB Port Change Interrupt Flag bit
    }
}
На "нопе" ставлю breakpoint, но при отладке прерывание не происходит.
Остальные прерывания работают (UART,SPI,ExtInt0,ExtInt1,Timer0).

Что не так делаю? Может что нужное не делаю?

Спасибо.

-----------------
Как удалить пост не нашёл, поэтому пишу решение вопроса: я забыл добавить вызов обработчика прерывания RB Port Change Interrupt в глобальный обработчик низкоприоритетного прерывания:

Код
#pragma interruptlow MyLowISR
void MyLowISR(void)
{
// Handle low priority interrupts.

    Timer0_ISR();
    ExtInt0_ISR();
    ExtInt1_ISR();
    RBPortChangeInt_ISR();        // Эта строка
    SPI_ISR();
    UART_ISR();
}
#pragma code LowVector = 0x18
void LowVector (void)
{
    _asm goto MyLowISR _endasm
}
#pragma code //# return to default code section #//


Сообщение отредактировал Master - Feb 18 2008, 13:30
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Master   Port Change Interrupt на PIC18   Feb 18 2008, 13:03


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

 


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


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