開發環境使用 MDK5.16a + CUBEMX生成代碼
開發板使用:NUCLEO-L053R8
核心芯片:STM32L053R8
今天主要學習了下最基礎的IO的讀寫,IO使用 PA5 LED輸出, PC13按鍵輸入
使用CUBEMX生成LED和按鍵的設置輸入輸出的代碼(此步略去),比較簡單戳戳點點就行了
注意事項:
1.NUCLEO板子沒外置晶振,所以晶振選擇HSI
2.按鍵最好設置使用內部上拉,個人習慣。沒仔細看電路上的按鍵是否是有上拉。
3.MDK使用GB2312編碼格式,其它的編碼寫過的中文注釋,重新用CUBEMX生成有時候會亂碼。
4.自己寫的代碼一定要寫在系統提示的user code begin 和end之間,這樣重新生成CUBEMX時候不會覆蓋這部分代碼,其它的地方寫的程序在生成代碼時候會被軟件覆蓋掉。
5.MDK5有自動的代碼補全功能,還是挺好使的,記得開啟下。
IO的讀寫學習:
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){ //是否有按鍵按下 HAL_Delay(10); //延遲去抖動 if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){ //重新檢測是否有按鍵按下 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); //按鍵按下了,點亮LED }else{ HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET); //松開按鍵,熄滅LED } }
IO狀態翻轉
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); HAL_Delay(1000);