对比标准库的流程使用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 */