📄 init interrupts.c
字号:
#include "system.h"
/********************************************************************************/
/***** InitInterrupts() *****/
/***** This function configures PPI DMA interrupt in IVT 8 . *****/
/********************************************************************************/
void InitInterrupts(void)
{
// configure interrupts
register_handler(ik_ivg8, PPI_TX_Isr); // assign ISR to interrupt vector
*pSIC_IAR1 = 0x00000001;
*pSIC_IMASK = 0x00000100; // enable PPI (DMA0) interrupt
}
/********************************************************************************/
/***** PPI DMA Interrupt Service Routine *****/
/********************************************************************************/
EX_INTERRUPT_HANDLER(PPI_TX_Isr)
{
Ping_Pong = (Ping_Pong + 1)%2; // Toggle Flag
DMA_completed_Transmission = 1; // Set Semaphore for main routine
// confirm interrupt handling (NO Error Handling is implemented!)
*pDMA0_IRQ_STATUS |= 0x0001; // Write 1 to clear
asm("ssync;");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -