很简单的一条语句,检测串口不忙,数据放进去缓存区就好了。
//======================================================================== // 函数: void SendByte(uint8_t dat) // 描述: 串口1发送一个字节阻塞方式 // 参数: 发送的字节 // 返回: none // 版本: VER1.0 // 日期: 2019-08-16 // 备注: //======================================================================== void SendByte(uint8_t dat) { SBUF = dat; while(!TI); TI = 0; } //======================================================================== // 函数: void SendStr(uint8_t *s) // 描述: 串口1发送字符串阻塞方式碰到0停止 // 参数: 发送的字符串指针地址 // 返回: none // 版本: VER1.0 // 日期: 2019-08-16 // 备注: //======================================================================== void SendStr(uint8_t *s) { while(*s!='\0')// \0 表示字符串结束标志通过监测是否字符串末尾 { SendByte(*s); s++; } }
字符串包含多个字节,肯定不止8位的
然后串口发数据,一般通信协议上面要加帧头帧尾校验,可以没有时间间隔