📄 isr.c
字号:
//*----------------------------------------------------------------------------
//* File Name : isr.c
//* Object : isr application written in C
//* Creation : dxb 3/8/2004
//*
//*----------------------------------------------------------------------------
#include "AT91RM9200.h"
#include "lib_AT91RM9200.h"
#include "sys.h"
#include <string.h>
#include <stdio.h>
extern unsigned int US1_RxLen;
extern unsigned char *US1_RxBuff;
extern unsigned short TC0_COUNT;
///////////////////////////////////////////////////////
extern void AT91F_ASM_US1_Handler(void);
extern void AT91F_US1_Handler(void);
void AT91F_US1_Handler()//US1中断服务程序
{
unsigned int dummy;
dummy= *AT91C_US1_CSR;
TC0_COUNT = 0;
if(dummy & AT91C_US_RXRDY)
{
US1_RxBuff[US1_RxLen] = (unsigned char)(*AT91C_US1_RHR);
US1_RxLen++;
}
*AT91C_AIC_EOICR = 0x00000000;
}
void AT91F_TC0_Handler()//TC0_中断服务程序
{
unsigned int dummy;
dummy=*AT91C_TC0_SR; //必须读取状态寄存器,才能再次产生比较中断
dummy=*AT91C_TC0_SR;
dummy=*AT91C_TC0_SR; //clear
if(TC0_COUNT == 0)
TC0_COUNT = 1;
else if (TC0_COUNT == 1)
TC0_COUNT = 2;
else if (TC0_COUNT == 2)
TC0_COUNT = 3;
*AT91C_AIC_EOICR = 0x00000000;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -