stm32c串口发送
时间: 2023-07-27 09:08:30 浏览: 110
在STM32C中,可以使用阻塞式或非阻塞式的方式进行串口发送。如果使用阻塞式的方式,可以使用HAL_UART_Transmit函数来发送数据。例如,使用阻塞式的串口发送函数发送dat_Txd数组中的前5个数据到USART1,并在发送完成后翻转PB9引脚的输出电平,可以使用以下代码:
```c
HAL_UART_Transmit(&huart1, &dat_Txd, 5, 10000);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_9);
```
如果使用非阻塞式的方式进行串口发送,可以使用HAL_UART_Transmit_IT函数,并在发送完成后通过中断回调函数进行处理。例如,使用非阻塞式的串口发送函数发送dat_Txd数组中的前5个数据到USART1,并在发送完成后翻转PB9引脚的输出电平,可以使用以下代码:
```c
HAL_UART_Transmit_IT(&huart1, &dat_Txd, 5);
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance == USART1)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_9);
}
}
```
请注意,以上代码中的变量和引脚配置需要根据实际情况进行修改。
#### 引用[.reference_title]
- *1* *2* *3* [STM32系列——串口收发数据基础](https://blog.csdn.net/weixin_62261692/article/details/129451182)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文