采用中断模式编程并使用杜邦线模拟开关实现LED灯的亮灭
生活随笔
收集整理的這篇文章主要介紹了
采用中断模式编程并使用杜邦线模拟开关实现LED灯的亮灭
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、環境
- 二、使用stm32CubeMX創建文件
- 三、配置代碼
- 1、編譯、燒錄
- 2、效果
- 四、總結
- 五、參考資料
一、環境
- 硬件:stm32f103c8t6 核心板
- 軟件:STM32CubeMX 6.4.0
- 軟件:keil5 mdk
二、使用stm32CubeMX創建文件
創建新項目,搜索框找到自己的板子型號
時鐘RCC配置,將HSE選為外部晶振模式
管腳配置
選擇PA5作為LED燈的連接管腳,PB9 作為杜邦線(等價于開關)的連接管腳;具體配置是:左擊PA5端口選擇GPIO_Output模式,PB9設為EXTI。
SYS設置,選擇Serial Wire模式。
GPIO管腳設置
點擊左側GPIO,PA5是高電平觸發,所以不需要改變設置,別名設為**“A5_LED”,選中PB9,將GPIO Mode設置為下降沿觸發外部中斷;
將GPIO 設置為上拉電阻模式(Pull-up**);別名設置為B9_EXTI。
6.NVIC配置,
勾選下方選項表示支持中斷操作。
三、配置代碼
直接打開keil項目或者關閉STMCube再打開對應文件。并在main.c文件的main函數外重寫一個回調函數。
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if( GPIO_Pin == B9_EXTI_Pin) //判斷中斷源 { HAL_GPIO_TogglePin(GPIOA, A5_LED_Pin); //翻轉led管腳 A1口的電平 } }1、編譯、燒錄
2、效果
VID_20221023_205054
四、總結
學習了中斷模式,并將其成功的應用在了LED的亮滅上,又一次使用STMCube進行HAL庫的設置,增加了對STMCube的熟練操作。
五、參考資料
https://blog.csdn.net/qq_47281915/article/details/121024427
總結
以上是生活随笔為你收集整理的采用中断模式编程并使用杜邦线模拟开关实现LED灯的亮灭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用nginx实现内网地图瓦片代理
- 下一篇: sh_gamit报错:error rea