STM32中斷功能學(xué)習(xí)及代碼

STM32的學(xué)習(xí),這里用到三個工具,CubeMX、Keil和Proteus,有了這三個工具外加一臺電腦,就可以好好學(xué)習(xí)。
中斷這個開發(fā)流程,也是先從CubeMX進(jìn)行的單片機(jī)配置,內(nèi)容如下圖所示。

其他默認(rèn)后生成代碼也可以仿真,但是如果不是仿真還是做一點設(shè)置應(yīng)該更好。
時鐘這里是默認(rèn)的。
project更改如下:


設(shè)置好以后,就可以生成代碼,點一下就能自動生成了。然后可以用keil去打開了。只要在main.c里面user code 4部分加入回調(diào)函數(shù),就可以實現(xiàn)中斷功能。

下面對這個函數(shù)進(jìn)行一些解釋。
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)? ?//中斷回調(diào)函數(shù)
{
if(GPIO_Pin==GPIO_PIN_0)? ? ?//如果中斷引腳是PC0
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_10); //引腳PA10輸出取反
if(GPIO_Pin==GPIO_PIN_13)? //如果輸出是PC13
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_7); //引腳PA7取反
}
然后編譯,就可以用Proteus進(jìn)行運行了,畫的原理圖如下。

標(biāo)簽: