WCH沁恒单片机
直播中

陈秀珍

7年用户 894经验值
私信 关注
[问答]

求助,有没有CH579 TMOS系统的GPIO中断例程

有没有CH579 TMOS系统的GPIO中断例程,我需要读取编码器
  

回帖(1)

张秀珍

2022-9-6 09:18:58
可以在中断程序服务里面的标志位,然后在主循环里关闭后查标志位



如:

无效gpio_interrupt_init(无效){
//初始化位输入上拉
GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
//开启沿沿
GPIOB_ITModeCfg(GPIO_Pin_8,GPIO_ITMode_FallEdge);
//开启GPIO的唤醒,如果需要的话
PWR_PeriphWakeUpCfg(启用,RB_SLP_GPIO_WAKE);
//开启GPIO中断
NVIC_EnableIRQ(GPIO_IRQn);
}
//中断服务程序
无效GPIO_IRQHandler(无效){
GPIOB_ClearITFlagBit(GPIO_Pin_8);
button_detected = 真;
}
然后在主循环里面查这个标志位然后调用tmos的相关api:

uint32_t irq_status;
而(1){
TMOS_SystemProcess();
SYS_DisableAllIrq( &irq_status );
如果(真 == button_detected){
tmos_set_event(Peripheral_TaskID, BUTTON_EVENT);
button_detected = 假;
}
SYS_RecoverIrq(irq_status);
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分