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

I don't know how I can write my ISR routine with cortex m3

Dear Sir/Madam
I'm new in ARM programming with c .I saw the following code to handle timer ISR :

__irq void TIMER1_IRQHandler(void)
{
.
.
.
return;
}


can you introduce me some documents which I will be able to learn how to write my ISR code and how to use them in my code and learning ISR function instructions?

Thanks and bet regards.
Mohsen

Parents
  • Given where you're at on the learning curve it could only help.

    void ADC_IRQHandler(void) {
      volatile uint32_t adstat;
    
      adstat = LPC_ADC->ADSTAT;                       /* Read ADC clears interrupt     */
    
      AD_last = (LPC_ADC->ADGDR >> 4) & ADC_VALUE_MAX; /* Store converted value   */
    
      AD_done = 1;
    }
    

    The M3 doesn't require the __irq directive of the ARM7/9 cores, you will need to become familiar with the NVIC on the M3, and the hardware/peripheral configuration of your NXP part. Reading the manuals would be a good start.

    I'm sure there are other code examples an internet search away.

Reply
  • Given where you're at on the learning curve it could only help.

    void ADC_IRQHandler(void) {
      volatile uint32_t adstat;
    
      adstat = LPC_ADC->ADSTAT;                       /* Read ADC clears interrupt     */
    
      AD_last = (LPC_ADC->ADGDR >> 4) & ADC_VALUE_MAX; /* Store converted value   */
    
      AD_done = 1;
    }
    

    The M3 doesn't require the __irq directive of the ARM7/9 cores, you will need to become familiar with the NVIC on the M3, and the hardware/peripheral configuration of your NXP part. Reading the manuals would be a good start.

    I'm sure there are other code examples an internet search away.

Children
No data