📄 eint2.c
字号:
#include "configLPC.h"
#include "i2c.h"
extern RAMP_CONTROLLER g_ramp;
void eint2_ISR(void)
{
OS_ENTER_CRITICAL();
while (EXTINT & 0x04 != 0)
{
//g_ramp.vehicle_num ++;
uint8 * io_value;
//pcf的地址 前4bits固定为 0100 接着的3bits是A2,A1,A0选中多片pcf中的一片 只有一片所以为000 最后1bit读/写位,0为写、1读
uint8 address_of_pcf8574 = 0x41;
x1226LastRegister = reg;
i2cReadBuffer (address_of_pcf8574, io_value, sizeof (uint8));
//将io口的值写到g_ramp.vehicle_num中
g_ramp.vehicle_num += *io_value;//字符类型要改 io_value是uint8 和 vehicle_num的类型不同
//EXTINT = 0x04;
}
VICVectAddr = 0;
OS_EXIT_CRITICAL();
}
void eint2_process(void)
{
extern void EINT2_Handler(void);
PINSEL0 &= ~PCB_PINSEL0_P015_MASK;
PINSEL0 |= PCB_PINSEL0_P015_EINT2;
VIC_IntSelect = 0x00000000;
// UART0中断通道分配到IRQ slot 4
VIC_VectCntl4 = VIC_VectCntl_ENABLE | VIC_Channel_EINT2;
// 设置UART0向量地址
VIC_VectAddr4 = (uint32)EINT2_Handler;
// 使能UART0中断
VIC_IntEnable |= VIC_IntEnable_EINT2;
EXTINT = 0x04;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -