串口通信代码整合1

 本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步!

> 发布人:@日月同辉,与我共生_单片机-CSDN博客

> 欢迎你为独创博主日月同辉,与我共生点赞❤❤❤+关注+收藏+评论☺。

系列专栏: CSDN-单片机串口通信学习系列

> 我的格言是:“尽最大努力,做最好的自己!

要转载,请提前告知!!!

版权声明:本文为CSDN博主「日月同辉,与我共生」的原创文章,CSDN独一份。

串口通信代码整合1_第1张图片

本文主要是整合前面所写的串口通信模块相关代码!!!

目录

一、如何发送一帧数据?

二、如何发送一串字符?

文章整合1:UART通信-发送数据原理icon-default.png?t=N7T8https://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

你可能感兴趣的:(单片机基础,单片机串口通信,单片机,嵌入式硬件,UART通信,代码整合,发送数据)