有沒有CH579 TMOS系統(tǒng)的GPIO中斷例程

有沒有CH579 TMOS系統(tǒng)的GPIO中斷例程,我需要讀取編碼器

可以在中斷服務(wù)程序里面 置標志位,然后在主循環(huán)里關(guān)中斷后去查標志位


如:

void?gpio_interrupt_init(void)?{
????//初始化位輸入上拉
????GPIOB_ModeCfg(GPIO_Pin_8,?GPIO_ModeIN_PU);
????//開啟下降沿中斷
????GPIOB_ITModeCfg(GPIO_Pin_8,GPIO_ITMode_FallEdge);
????//開啟GPIO的睡眠喚醒,如果需要的話
????PWR_PeriphWakeUpCfg(?ENABLE,?RB_SLP_GPIO_WAKE?);?
????//開啟GPIO中斷
????NVIC_EnableIRQ(?GPIO_IRQn?);
}
//中斷服務(wù)程序
void?GPIO_IRQHandler(void)?{
????GPIOB_ClearITFlagBit(GPIO_Pin_8);
????button_detected?=?true;
}

然后在 主循環(huán)里面查這個標志位然后調(diào)用tmos的相關(guān)api:

uint32_t?irq_status;
while(1)?{
????TMOS_SystemProcess(?);
????SYS_DisableAllIrq(?&irq_status?);
????if(?true?==?button_detected?)?{
????????tmos_set_event(?Peripheral_TaskID,?BUTTON_EVENT);
????????button_detected?=?false;
????}
????SYS_RecoverIrq(?irq_status?);
}





按照上述方法對外部脈沖輸入進行檢測,在主循環(huán)里面查標志位然后調(diào)用tmos的相關(guān)api對外部脈沖進行計數(shù),在u32 CH57X_LowPower( u32 time )函數(shù)中設(shè)備標志位喚醒設(shè)備,但在BLE\Peripheral工程下開啟SLEEP和看門狗的情況下,會出現(xiàn)看門狗復(fù)位的情況。

image.pngimage.png


根據(jù)您提供的工程,將翻轉(zhuǎn)io放到中斷中進行操作。只要觸發(fā)中斷就可以讀取脈沖進行計數(shù)。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频