STM32CubeMX—GPIO輸入輸出實驗

STM32CubeMx GPIO輸入輸出實驗

 

一、實驗說明

實驗平臺:STM32F103RCT6 (正點原子mini板)

實驗內容:使用GPIO 點亮LED ,使用按鍵控制LED燈。

使用IO口:led1 PD2,LED2 PA8 .(低電平點亮) 。按鍵  PC5  按下輸入低電平

二、實驗操作

1、基礎配置

    1)sys中,選好調試方式,例如jtag-4pin。

    2)RCC時鐘,晶振選擇。

    3)時鐘樹配置。

    4)中斷分組配置。

    以上步驟可以參考串口中斷實驗。

2、外設配置—IO口配置

   1)IO口基本配置。

                         

  

如圖配置PD2、PA8 爲輸出模式。

PC5 接的是按鍵所以配置爲輸入模式。

兩個IO口接LED,配置爲上圖的參數。

 

 

 

PC5配置爲輸入模式,上拉。(因爲PC5一端接GND,一端接IO口)

2)、生成代碼

     注意工程配置,和.c/.h 的添加。(串口中斷實驗有說明)

3)、編寫代碼

    在gpio.c中可以看到如下代碼,就是GPIO的配置。

然後我們在主函數中編寫控制代碼。

使用HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);  這個函數就可以操作IO口,讓IO口輸出高電平和低電平。

該函數有三個參數,

第一個是那組IO。

第二個是那個IO口。

第三個是輸出電平狀態,GPIO_PIN_RESET爲低,GPIO_PIN_SET爲高。

下一步讀取按鍵,控制LED(PA8),按下燈亮,擡起燈滅。

    使用,HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5)  函數判斷io口的輸入狀態。

兩個參數,一個是那組IO,另一個是那個IO口。

該函數會返回讀取到輸入的電平狀態。

 HAL_Delay(),是HAL 庫提供的ms級延時函數。這裏起消抖作用。

下載驗證即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章