Autor Tema: En el 24FJ256GA110 y CCS C v.4.140 ¿la interrupción ADDRERR es "enmascarable"?  (Leído 1621 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Pues eso, la interrupción INT_ADDRERR, que debe saltar cuando se produzca un error de direccionamiento, ¿es enmascarable? o sea que se pueda habilitar / dehabilitar con el:

Código: CSS
  1. enable_interrupts(INT_ADDRERR);

Es que me salta un error de "A numeric expression must appear here ::Not a valid interrupt" y ya me entra la duda. En caso negativo imagino que esta interrupción está siempre habilitada ¿no?  :?
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
No puedes deshabilitarla, es una interrupcion de error y no se puede hacer, lo que debes hacer es crear una interrupcion que borre el flag y asi no se te resetee el pic, algo asi:

INTCON1bits.ADDRERR=0;

no se bien como van las interrupciones en el ccs, pero seria algo asi, crear una interrupcion con INT_ADDRERR y poner el registro que indico en la linea de mas arriba a 0, asi no se te resetea.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Gracias MerLiNz, si ya he visto que no es enmascarable.

También, de ese tipo, tengo las que se ejecutan cuando se produce un error en el Stack y en una operación Matemática (División por 0 por ejemplo) #INT_STACKERR e #INT_MATHERR.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
la division por 0 solo te daria error si utilizas la division por hardware, lo normal es que el CCS utilice su propia funcion de division (que suele ser mas lenta) que la division por hardware.


 

anything