HAL庫_流水燈
阿新 • • 發佈:2020-07-22
對比標準庫的流程使用HAL庫編寫流水燈
標準庫:
1.開時鐘
2.初始化GPIOInit結構體
3.呼叫GPIO_Init(GPIOB, &GPIO_InitStructure) 初始化函式
1 typedef struct 2 { 3 uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. 4 This parameter can be any value of @ref GPIO_pins_define*/ 5 6 GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. 7 This parameter can be a value of @ref GPIOSpeed_TypeDef */ 8 9 GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. 10 This parameter can be a value of @ref GPIOMode_TypeDef*/ 11 }GPIO_InitTypeDef;
HAL流程:
1.開時鐘
2.從PinOut介面點選引腳,設定GPIO為輸出
3.再標準庫中要手動初始化一個GPIO的結構體,現在CubeMx可以讓我們使用圖形配置的方式設定這些通用的、繁瑣的固定的初始化程式碼。
從PinOut介面選擇了對應的GPIO後按照下面圖片上面的方法設定GPIO的模式、速度、上拉和下拉。
千萬別忘了開啟sys下的debug,不然會導致無法第二次下載程式。
程式碼:自己寫的程式碼一定要放在每一個 user code begin 和user code end之間,不然放在cubemx中修改了配置再生成工程時後自動刪除我們寫的程式碼。
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5); HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_5); HAL_Delay(600); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */