目录
一,配置GPIO
二,生成代码
三,代码补全
GPIO代码
///初始化GPIO
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);
///安装中断函数
INT_SYS_InstallHandler(PORTD_IRQn,PORTD_LeftRightPWM_ISR,NULL);
/*使能中断函数*/
INT_SYS_EnableIRQ(PORTD_IRQn);
中断代码
uint16_t g_Count = 0;
uint16_t g_LeftPWM_Count = 0;
uint16_t g_RightPWM_Count = 0;
void PORTD_LeftRightPWM_ISR(void)
{
g_Count++;
uint32_t TouchLeft = (PINS_DRV_GetPortIntFlag(PORTD) & ( 1 <<16 ) ); //获取中断标志位状态
/*检测中断*/
if(TouchLeft !=0 )
{
g_LeftPWM_Count++;
if(g_LeftPWM_Count == 4095)
{
g_LeftPWM_Count = 0 ;
}
///清除中断标志位
PINS_DRV_ClearPinIntFlagCmd(PORTD,16);
}
uint32_t TouchRight = (PINS_DRV_GetPortIntFlag(PORTD) & ( 1 <<15 ) ); ///获取中断标志位状态
/*检测中断*/
if(TouchRight !=0 )
{
g_RightPWM_Count++;
if(g_RightPWM_Count == 4095)
{
g_RightPWM_Count = 0 ;
}
///清除中断标志位
PINS_DRV_ClearPinIntFlagCmd(PORTD,15);
}
}