USART_SendData函数的第二个参数是一个u16类型的数据,而不是字符串类型。如果你想发送一个字符串,需要循环遍历字符串并将每个字符发送出去。,进行进一步修改
时间: 2024-05-04 21:22:32 浏览: 35
uart发送一个字符串
是的,你说得对。如果想要发送一个字符串,需要循环遍历字符串并将每个字符发送出去。下面是一个示例代码:
```c
void send_string(char* s) {
while (*s) { // 遍历字符串
USART_SendData(USART1, (uint16_t)*s); // 发送字符
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); // 等待发送完成
s++; // 指向下一个字符
}
}
```
在这个函数中,我们使用指针遍历字符串,并将每个字符转换为 u16 类型并发送出去。注意,在发送每个字符之前,需要等待上一个字符发送完成。
阅读全文