📄 main.c
字号:
/* 包含文件 */
#include "def.h"
#include "2410lib.h"
#include "option.h"
#include "2410addr.h"
#include "interrupt.h"
/* functions */
__irq void eint2_isr(void); //__attribute__ ((interrupt("IRQ")));
__irq void eint0_isr(void); //__attribute__ ((interrupt("IRQ")));
void LedDisplay0(void);
void LedDisplay2(void);
/* variables */
int dither_count2 = 0;
int dither_count3 = 0;
/*****************************************************************************
// Function name : Main
// Description : JXARM9-2410 中断实验主程序
// 完成功能:
// 外部中断按键引发中断
// Return type : void
// Argument : void
*****************************************************************************/
void Main(void)
{
/* 配置系统时钟 */
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz
/* 中断初始化 */
Isr_Init();
/* 初始化端口 */
Port_Init();
/* 初始化串口 */
Uart_Init(0,115200);
Uart_Select(0);
/* 打印提示信息 */
PRINTF("\n---外部中断测试程序---\n");
PRINTF("\n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)\n");
PRINTF("\n外部中断测试开始\n");
/* 请求中断 */
Irq_Request(IRQ_EINT2, (void*)eint2_isr);
Irq_Request(IRQ_EINT0, (void*)eint0_isr);
/* 使能中断 */
Irq_Enable(IRQ_EINT2);
Irq_Enable(IRQ_EINT0);
dither_count2 = 0;
}
/*****************************************************************************
// Function name : eint2_isr
// Description : EINT2中断处理程序
// Return type : int
// Argument : void
*****************************************************************************/
__irq void eint2_isr(void)
{
Irq_Clear(IRQ_EINT2);
LedDisplay2();
}
__irq void eint0_isr(void)
{
Irq_Clear(IRQ_EINT0);
LedDisplay0();
}
void LedDisplay2(void)
{
rGPFCON=0x55aa;
rGPFUP=0x0;
rGPFDAT=0xff;
}
void LedDisplay0(void)
{
rGPFCON=0x55aa;
rGPFUP=0xff;
rGPFDAT=0x0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -