【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的輸入輸出應用

好了,上一章我們主要講解了一下STM32CubeMx如何創建工程。這一章我們主要是講解使用該軟件去配置初始化GPIO。

一、準備工作

1、使用我們第一章配置好工程文件。如圖

2、準備你需要編程硬件對應的原理圖或者PCB,將你需要點亮的燈對應到IO口上去。如圖

可知我們需要點亮GPIO PB8對應的LED。

3、準備好硬件。

二、具體操作

1、打開STM32CubeMx工程軟件配置所需要的GPIO。在Pinout欄目下如圖所示

將PB8配置爲Gpio_Ouput模式,意味着PB8這個引腳是作爲輸出使用。如果設置成Gpio_Input則爲輸入模式。

2、在Configuration欄目下配置該IO口的功能。

點擊Systems下的GPIO進入配置界面。如圖所示

①點擊我們配置PB8口,下面彈出來五個欄目。

②設置GPIO優先級。

③設置GPIO輸出模式(開漏/推輓)。

④設置GPIO上下拉模式(這裏默認是下拉模式)。

⑤設置GPIO速度。

⑥設置當前PB8 GPIO的宏定義。

⑦點擊OK設置完成。

3、生成工程

點擊Project菜單欄選擇Generate code,工程生成完畢。

4、驗證工程

打開編譯工程,在while(1)裏面添加LED閃爍程序。代碼如下

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
	HAL_Delay(1000);
	HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
  }
  /* USER CODE END 3 */

}

這樣可以實現一個簡單的GPIO輸出控制。

如果之前設置的爲輸入模式這裏面代碼和輸出就有區別

輸入模式我們需要讀取GPIO狀態,使用的HAL庫函數爲HAL_GPIO_ReadPin(LED1_GPIO_Port, LED1_Pin);

如有什麼不懂聯繫加QQ羣:1063618791歡迎大家學習交流!

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