写一个串口接收发送程序
时间:11-09
来源:互联网
点击:
对于串口,流,的编程一直是相当头疼的,总是分不清头尾,写出来的程序总是没有把握,传输间的的程序尚可,但是发送一些带协议的东西就受不了了。
经过查资料,学习,得到一些经验,可以使用定界符法,显式长度法来发送数据。
一贯习惯是使用定界符+显式长度,写的不论不类,现在想想没有这个必要,如果在单片机上的话使用定界符,在中断里快速判断定界符和过滤每一个字符是相当奢侈的事情。故而转用显式长度法
显式长度的具体用法是,先发送要发送数据的字节数,在发送数据
接收也比较简单,先接收数据长度区,判断大小是否适合自己的RAM空间,
确定需要接收的长度后,启动正常的接收,并设置一个超时(在有限的时间里没有收到完整的数据,则丢弃)。在实际的应用中,发送数据总是有个时间限制的,一组数据会在相对集中的时间内完成。
例子:发送abcdefg,
char[] data = "abcdefg";
char length = 0;//一个字节
char i = 0;
do{
length ++;
while(data[length] != \0);
putc(length);
for(int i=0; i { putc(data[i]); } 备注:该例子未经过验证,仅供参考
串口接收发送程 相关文章:
- stm32应用-简单的串口接收与发送程序(11-24)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)