STM32按鍵中斷(HAL庫版)
本文將介紹如何使用STM32F4的IO口作為中斷觸發(fā)源,通過串口顯示按鍵被按下的日志。
1.運用到的資源、工具:
1.1開發(fā)板芯片STM32F407,PI9作為外部中斷源、USART3串口向屏幕傳輸信息
1.3輔助工具:STM32CubeMX
2.硬件設計
2.1原理圖:
3.軟件設計
3.1STM32cubeMX配置工程文件
選擇Key1作為外部中斷源、選擇中斷觸發(fā)方式為下降沿觸發(fā)、并設置中斷優(yōu)先級分組選擇優(yōu)先級
使能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.代碼及運行結(jié)果
4.1運行結(jié)果 按下KEY1、打印一次KEY1 DOWN
-
STM32
+關注
關注
2258文章
10828瀏覽量
352505 -
開發(fā)板
+關注
關注
25文章
4771瀏覽量
96189 -
IO口
+關注
關注
3文章
168瀏覽量
23889 -
按鍵中斷
+關注
關注
0文章
14瀏覽量
6430 -
stm32cubemx
+關注
關注
5文章
278瀏覽量
14625
發(fā)布評論請先 登錄
相關推薦
評論