CubeMX教学以及HAL库基本函数的使用,这里记录常见的CubeMX的常见用法:IO口、中断、定时器、PWM。这里感谢伍大佬的答疑,大佬真是太强了,问什么会什么,66666。文章如果有什么错误的地方也欢迎大家指出,本人菜鸟一枚,还望海涵。
一、IO口的设置
这里先理解输入设置成上拉、下拉选哪个。上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平,所以对接地的按键,要有电平的突变应该使无信号输入时为高,按下按键接地电平才能突变。此外:
开漏输出:IO的高低电平由外部电路决定
推挽输出:IO的高低电平由程序决定
1、配置
2、函数HAL_GPIO_WritePin的使用
HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET);
表示将PB15设置为高电平。
我的板子灯是PB15,14,13,12,加上延时写了个流水灯:
3、函数 HAL_GPIO_ReadPin的使用
HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_5)==GPIO_PIN_RESET
4、User Lable的使用
二、串口通讯
1、逻辑代码
//发送数据 (这个是阻塞式发送,发送完才会接收)
HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData,
uint16_t Size, uint32_t Timeout);