解释一下以下C语言程序片段中每句程序的作用void Uart1Sendsuchar str whilestr!=0 SBUF=str; while!TI; TI=0; str++;
这段程序的作用是将一个以字节为单位的字符串通过UART1发送出去。
void Uart1Sends(uchar *str):定义一个函数Uart1Sends,参数为一个无符号字符型指针str,函数的返回值类型为void。while(*str!='\0'):当指针str指向的字符不是字符串结尾符号\0时,执行循环体内的语句。SBUF=*str;:将指针str指向的字符赋值给串口数据寄存器 SBUF,即将该字符发送出去。while(!TI);:等待串口发送完成。当 TI(发送中断标志位)为 1 时,表示发送完成,否则继续等待。TI=0;:将 TI 标志位清零,准备发送下一个字符。str++;:将指针str向后移动一位,指向下一个字符,继续执行循环,直到字符串结尾符号\0被发送出去。
原文地址: https://www.cveoy.top/t/topic/dT8e 著作权归作者所有。请勿转载和采集!