C语言 UART1 串口发送字符串程序解析
C 语言 UART1 串口发送字符串程序解析
以下代码片段展示了如何使用 C 语言通过 UART1 串口发送一个字符串。
void Uart1Sends(uchar *str)
{
while(*str!='\0')
{
SBUF=*str;
while(!TI);
TI=0;
str++;
}
}
程序解析:
-
void Uart1Sends(uchar *str):定义一个名为Uart1Sends的函数,参数为一个指向无符号字符型的指针str。该函数用于发送字符串。 -
while(*str!='\0'):循环判断当前指针指向的字符是否为 '\0',即是否到达字符串末尾。 -
SBUF=*str:将SBUF寄存器的值赋为当前指针指向的字符,即准备发送当前字符。 -
while(!TI);:等待TI标志位为 1,即等待当前字符发送完成。TI标志位通常由硬件设置,表示串口发送完成。 -
TI=0;:将TI标志位清零,表示当前字符发送完成,并准备发送下一个字符。 -
str++;:将指针指向下一个字符,继续循环发送下一个字符。
程序作用:
这段程序的作用是将一个字符串通过 UART1 串口发送出去。程序通过 while 循环遍历字符串中的每个字符,并将其逐个发送到 UART1 串口,直到遇到字符串末尾的 '\0' 字符。在每次发送字符之前,程序会通过 while 循环等待上一次发送完成,然后再将当前字符发送出去。
注意:
-
SBUF寄存器是 UART1 串口用于存储要发送的数据的寄存器。 -
TI标志位是 UART1 串口的发送完成标志位。 -
此程序片段仅供参考,实际使用时需要根据具体硬件平台进行修改。
原文地址: https://www.cveoy.top/t/topic/nLEj 著作权归作者所有。请勿转载和采集!