STM32按鍵中斷(HAL庫版)
本文將介紹如何使用STM32F4的IO口作為中斷觸發(fā)源,通過串口顯示按鍵被按下的日志。
1.運(yùn)用到的資源、工具:
1.1開發(fā)板芯片STM32F407,PI9作為外部中斷源、USART3串口向屏幕傳輸信息
1.3輔助工具:STM32CubeMX
2.硬件設(shè)計(jì)
2.1原理圖:
3.軟件設(shè)計(jì)
3.1STM32cubeMX配置工程文件
選擇Key1作為外部中斷源、選擇中斷觸發(fā)方式為下降沿觸發(fā)、并設(shè)置中斷優(yōu)先級(jí)分組選擇優(yōu)先級(jí)
使能USART3串口配置為異步通信
最后生成工程文件
3.2串口輸出重定向(重寫fputc函數(shù))
int fputc(int ch, FILE *p)
{
while(!(USART3->SR & (1 << 7)));
USART3->DR = ch;
return ch;
}
3.3在中斷回調(diào)函數(shù)中,打印KEY1 DOWN
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == GPIO_PIN_9)
{
HAL_Delay(40);
if(HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_9) == 0)
{
printf("KEY1 DOWN
");
}
}
}
4.代碼及運(yùn)行結(jié)果
4.1運(yùn)行結(jié)果 按下KEY1、打印一次KEY1 DOWN
-
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356060 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97488 -
IO口
+關(guān)注
關(guān)注
3文章
170瀏覽量
24044 -
按鍵中斷
+關(guān)注
關(guān)注
0文章
15瀏覽量
6448 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
283瀏覽量
14809
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論