HAL库常用
HAL库常用
一、GPIO通用
1 | // 1. 写引脚:置1/0 |
二、UART串口
1. 阻塞收发
1 | //发送数据 |
2. 中断收发
1 | // 开启接收中断 |
3. 中断回调函数
1 | void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) |
4. printf重定向
1 | int fputc(int ch, FILE *f) |
三、定时器TIM(定时 + PWM)
1. 开启定时器中断
1 | HAL_TIM_Base_Start_IT(&htim2); |
2. 定时器中断回调
1 | void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) |
3. PWM输出(呼吸灯、电机)
1 | //开启PWM |
四、ADC数模转换(读模拟量)
1. 单次采集
1 | HAL_ADC_Start(&hadc1); |
2. DMA采集(不占CPU)
1 | HAL_ADC_Start_DMA(&hadc1, buf, len); |
五、DMA数据搬运(高效必备)
1 | //串口DMA发送 |
六、I2C(OLED、传感器)
1 | //写数据 |
七、中断通用(EXIT外部中断)
1 | void HAL_GPIO_EXIT_Callback(uint16_t GPIO_Pin) |
八、常用宏
1 | // 使能/失能中断 |
1 | 1. HAL_GPIO_WritePin |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 CCの日记!
评论
