|
|
@ -226,18 +226,18 @@ bool ZGPIO::isItRisingAndItFallingEXITGPIO() { return m_irqtype == kIRQ_risingAn |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief 鍒ゆ柇褰撳墠鏄�惁鏄�繖涓�紩鑴氫骇鐢熺殑涓�柇 |
|
|
|
* @brief 判断当前是否是这个引脚产生的中断 |
|
|
|
* |
|
|
|
* @param checkloop |
|
|
|
* @param GPIO_Pin |
|
|
|
* @return true |
|
|
|
* @return false |
|
|
|
* |
|
|
|
* 鐢变簬STM32鐨凣PIO涓�柇绾挎槸鍏辩敤鐨勶紝鎵€浠ラ渶瑕佹牴鎹瓽PIO鐨勫嵆鏃剁姸鎬佸垽鏂�槸鍚︽槸杩欎釜寮曡剼浜х敓鐨勪腑鏂? |
|
|
|
* 由于STM32的GPIO中断线是共用的,所以需要根据GPIO的即时状态判断是否是这个引脚产生的中?? |
|
|
|
* |
|
|
|
* 鍒ゆ柇閫昏緫鏄?: |
|
|
|
* 鍏堝垽鏂�墍鏈変腑鏂�ā寮忔槸 GPIO_MODE_IT_RISING 鍜? GPIO_MODE_IT_FALLING 鐨勫紩鑴氾紝閲囨牱褰撳墠鐢靛钩鍒ゆ柇鏄�惁鏄�繖涓�紩鑴氫骇鐢熺殑涓�柇 |
|
|
|
* 鍐嶅垽鏂�腑鏂�ā寮忔槸 GPIO_MODE_IT_RISING_FALLING 鐨勫紩鑴氾紝鐩存帴杩斿洖true |
|
|
|
* 判断逻辑??: |
|
|
|
* 先判断所有中断模式是 GPIO_MODE_IT_RISING ?? GPIO_MODE_IT_FALLING 的引脚,采样当前电平判断是否是这个引脚产生的中断 |
|
|
|
* 再判断中断模式是 GPIO_MODE_IT_RISING_FALLING 的引脚,直接返回true |
|
|
|
*/ |
|
|
|
bool ZGPIO::tryTriggerIRQ(uint16_t GPIO_Pin) { |
|
|
|
bool ret = false; |
|
|
@ -337,7 +337,7 @@ IRQn_Type ZGPIO::getEXTIIRQn() { |
|
|
|
return EXTI0_IRQn; |
|
|
|
} |
|
|
|
/**
|
|
|
|
* @brief 鍒濆�鍖朑PIO涓轰腑鏂�ā寮? |
|
|
|
* @brief 初始化GPIO为中断模?? |
|
|
|
* |
|
|
|
* @param pull GPIO_NOPULL, GPIO_PULLUP, GPIO_PULLDOWN |
|
|
|
* @param mode GPIO_MODE_IT_RISING, GPIO_MODE_IT_FALLING, GPIO_MODE_IT_RISING_FALLING |
|
|
|