本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步!
> 发布人:@日月同辉,与我共生_单片机-CSDN博客
> 欢迎你为独创博主日月同辉,与我共生点赞❤❤❤+关注+收藏+评论☺。
系列专栏: CSDN-单片机串口通信学习系列
> 我的格言是:“尽最大努力,做最好的自己!
要转载,请提前告知!!!
版权声明:本文为CSDN博主「日月同辉,与我共生」的原创文章,CSDN独一份。
本文主要是整合前面所写的串口通信模块相关代码!!!
目录
一、如何发送一帧数据?
二、如何发送一串字符?
文章整合1:UART通信-发送数据原理
https://mp.csdn.net/mp_blog/creation/editor/134092879
原理:TI=0时,准备发送一帧数据,本帧数据发送完成TI自动置1,本帧数据发送完成后,TI要清0,为下一帧数据发送做好准备。
步骤:发送数据dat==>等待发送完成==>TI清0
void sendByte(unsigned char dat) //发送一帧数据功能函数
{
SBUF=dat;
while(!TI);
TI=0;
}
串口通信是一个一个字节/字符发送/接收数据的,并不是一次性发送/接收全部字节/字符。
因此要发送一串数据,就要一帧一帧的发送。
我们知道,数据帧要有停止位,用于告知接收端数据已经发送完成(本次通信结束),那么一串数据的停止位是什么呢?我们知道字符串本质是字符数组,而数组末尾有结束符“\0",结束符“\0"充当数据帧的停止位。
void sendString(unsigned char *dat)//发送字符串函数
{
while(*dat != '\0')
{
sendByte(*dat++);
}
}
亲爱的读者敬请期待,下一文更精彩!!!
一日不读书,胸臆无佳想。我叫不白吃,喜欢我的,可以支持我,博主名叫@日月同辉,与我共生
@日月同辉,与我共生_单片机基础,单片机串口通信-CSDN博客@日月同辉,与我共生擅长单片机基础,单片机串口通信,等方面的知识,@日月同辉,与我共生关注stm32,c语言,51单片机,proteus,单片机领域.https://blog.csdn.net/LIN___IT?spm=1000.2115.3001.5343