关于串口,流,的编程一直是适当头疼的,总是分不清头尾,写出来的程序总是没有掌握,传输间的的程序尚可,可是发送一些带协议的东西就受不了了。
通过查资料,学习,得到一些经历,能够运用定界符法,显式长度法来发送数据。
一向习气是运用定界符+显式长度,写的不管不类,现在想想没有这个必要,如果在单片机上的话运用定界符,在中止里快速判别定界符和过滤每一个字符是适当奢华的工作。故而转用显式长度法
显式长度的详细用法是,先发送要发送数据的字节数,在发送数据
接纳也比较简单,先接纳数据长度区,判别巨细是否合适自己的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]); } 补白:该比如未通过验证,仅供参考