This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

interrupting interrupt and eeprom access questions

I'm new to keil and my boss forced me to use atmel 89S8252 so plz bare with me i have a few questions :

1. when a higher level priority interrupt interrupts lower level interrupt, do i lose the old interrupt or does it come back to it after higher level priority interrupt returns ?

2.Can I declare eeprom variable in keil c or do i have to do it in low level (i.e access the registers)?



Parents
  • I'm new to keil and my boss forced me to use atmel 89S8252 so plz bare with me i have a few questions :

    Forced? Consider yourself lucky. At least it's not a PIC :-)

    1. when a higher level priority interrupt interrupts lower level interrupt, do i lose the old interrupt or does it come back to it after higher level priority interrupt returns ?

    It comes back to the interrupted ISR.

    2.Can I declare eeprom variable in keil c or do i have to do it in low level (i.e access the registers)?

    C compilers don't know about EEPROM or RAM or serial EEROM. If it's memory mapped, then declare it _at_ the location and be sure it is not modified by the startup.a51. So you need to add a non-standard C extension to your C code and ensure the C run-time knows about it.

    - Mark


Reply
  • I'm new to keil and my boss forced me to use atmel 89S8252 so plz bare with me i have a few questions :

    Forced? Consider yourself lucky. At least it's not a PIC :-)

    1. when a higher level priority interrupt interrupts lower level interrupt, do i lose the old interrupt or does it come back to it after higher level priority interrupt returns ?

    It comes back to the interrupted ISR.

    2.Can I declare eeprom variable in keil c or do i have to do it in low level (i.e access the registers)?

    C compilers don't know about EEPROM or RAM or serial EEROM. If it's memory mapped, then declare it _at_ the location and be sure it is not modified by the startup.a51. So you need to add a non-standard C extension to your C code and ensure the C run-time knows about it.

    - Mark


Children