16+
Воскресенье
26 мая
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
abivan  (23.04.2019 16:46) , в ответ на PIC24HJ256GP206A и ошибка значения указателя стека. Вроде бы хорошая вещь, можно контролировать выход стека за границы. Но, если в указатель стека записать что-то, выходящее за рамки физического ОЗУ, то вместо прерывания (и перехода на обработчик автор: AlexBi
вот мои обработчики 
void __attribute__((interrupt, no_auto_psv)) _StackError (void){
t_Trap        Trap;
    Trap.wType=1;
    Trap.wSP=WREG15;
    Trap.wSPLIM=SPLIM;
    DB_PutPar(ID_PAR_TRAP, (ptr)&Trap);
    TRISD=0xF00;
    LATD=0x20;
    while(1) Nop();   /* при переполнении стека задачи попадем сюда */
}
void __attribute__((interrupt, no_auto_psv)) _MathError (void){
t_Trap        Trap;
    Trap.wType=2;
    Trap.wSP=WREG15;
    Trap.wSPLIM=SPLIM;
    DB_PutPar(ID_PAR_TRAP, (ptr)&Trap);
    TRISD=0xF00;
    LATD=0x28;
    while(1) Nop();
}
void __attribute__((interrupt, no_auto_psv)) _AddressError (void){
t_Trap        Trap;
    Trap.wType=3;
    Trap.wSP=WREG15;
    Trap.wSPLIM=SPLIM;
    DB_PutPar(ID_PAR_TRAP, (ptr)&Trap);
    TRISD=0xF00;
    LATD=0x30;
    while(1) Nop();
}
void __attribute__((interrupt, no_auto_psv)) _OscillatorFail (void){
t_Trap        Trap;
    Trap.wType=4;
    Trap.wSP=WREG15;
    Trap.wSPLIM=SPLIM;
    DB_PutPar(ID_PAR_TRAP, (ptr)&Trap);
    TRISD=0xF00;
    LATD=0x38;
    while(1) Nop();
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX