猿小B:繼續(xù)講完剩下的三個(gè)API
4.綁定引腳中斷回調(diào)函數(shù):rt_err_t rt_pin_attach_irq(rt_int32_t pin,rt_uint32_t mode,
void(*hdr)(void*args),void *args);
參數(shù): 描述
pin 引腳編號(hào)
mode 中斷觸發(fā)模式
hdr 中斷回調(diào)函數(shù),用戶需要自行定義這個(gè)函數(shù)
args 中斷回調(diào)函數(shù)的參數(shù),不需要時(shí)設(shè)置為RT_NULL
返回 ——————————
RT_EOK 綁定成功
錯(cuò)誤碼 綁定失敗
——————————————————————————
mode選擇:
#define PIN_IRQ_MODE_RISING 0X00/*上升沿觸發(fā)*/
#define PIN_IRQ_MODE_FALLING 0X01/*下降沿觸發(fā)*/
#define PIN_IRQ_MODE_RISING_FALLING 0X02/*上下邊沿觸發(fā)*/
#define PIN_IRQ_MODE_HIGH_LEVEL 0X03/*高電平觸發(fā)*/
#define PIN_IRQ_MODE_LOW_LEVEL 0X04/*低電平觸發(fā)*/
5.引腳終端使能:rt_err_t rt_pin_irq_enable(rt_base_t pin,rt_uint32_t enabled);
參數(shù): 描述:
pin 引腳編號(hào)
enabled 狀態(tài),PIN_IRQ_ENABLE(開(kāi)啟) ,PIN_IRQ_ENABLE(關(guān)閉)
返回 ——————————————————————
RT_EOK 使能成功
錯(cuò)誤碼 使能失敗
6.脫離引腳中斷回調(diào)函數(shù): rt_err_t rt_pin_detach_irq(rt_int32_t pin);
參數(shù): 描述:
pin 引腳編號(hào)
返回 ——————————————
RT_EOK 脫離成功
錯(cuò)誤碼 脫離失敗
猿小B:到這里API介紹全部完畢,完全手打我再加深一下印象,這里有一點(diǎn)要注意,在RTT中程序的執(zhí)行只有兩種上下文環(huán)境,一種是中斷,一種是線程,這里并沒(méi)有出現(xiàn)任何線程相關(guān)的內(nèi)容,所以中斷回調(diào)函數(shù)應(yīng)該是在中斷上下文中,喜歡delay的筒子們注意了。
猿小A:我說(shuō)你一張圖能搞定的非要手打不嫌累呢。。。不過(guò)關(guān)于上下文環(huán)境是個(gè)值得深思的問(wèn)題。
猿小B:。。。