zkdujaeasw zkdujaeasw
关注数: 36 粉丝数: 93 发帖数: 14,951 关注贴吧数: 37
关于编程/单片机间的通讯,数据格式相关的问题想请教【新手】 最近项目做一个单片机之间通讯的课题。 简单来说:模块A从某个接口获得数据之后,打包传给模块B,模块B再和电脑通信,满足某个条件的时候给出报警。 整个功能的实现都完成了,没有什么问题。后来拿去让导师指导,他说传输的数据的结构不明确,要区分“报头”“报尾”和数据部分。 用C编写的程序截两段如下: int data[]; data[0] = (int)(num)%10; //个位(num是从接口获得的数据) data[1] = (int)(num*10)%10; //十分位 data[2] = (int)(num*100)%10; //百分位 data[3] = (int)(num*1000)%10; //千分位 //这一部分是模块A的。data[i]会发送给B模块。 ———————————————————— Receive_Data_buffer[i] = data[i] adcdata[1] = (char)(Receive_Data_buffer[0])+48; adcdata[2] = '.'; adcdata[3] = (char)(Receive_Data_buffer[1])+48; adcdata[4] = (char)(Receive_Data_buffer[2])+48; adcdata[5] = (char)(Receive_Data_buffer[3])+48; UartTX_Send_String(adcdata,17); //这一部分是模块B的,adcdata[]是收到的准备和电脑通信的数据。 ———————————————————— 关键是导师的话。 我翻了一下手边的课本,并没有具体提到编程中用的“报头"”报尾“这样的内容。 如果按我的理解的话,举个例子: 在A模块程序中,把data[0]和data[1]以及data[n-1]data[n]改成4个特定的字符; 在B模块程序中,adcdata取值前先验证data[0]和data[1]是不是为给定的字符,不是的话报警;取值的过程写成循环,在取到data[n-1]和data[n]之后自动停止。 (这几个特定字符就是所谓的头尾部分(?)) 请教各位一下,我这样的处理对吗? “报头”“报尾”这样的概念该怎么理解好? 这俩东西一般又有什么用? 谢谢
关于编程/单片机间的通讯,数据格式相关的问题想请教【新手】 最近项目做一个单片机之间通讯的课题。 简单来说:模块A从某个接口获得数据之后,打包传给模块B,模块B再和电脑通信,满足某个条件的时候给出报警。 整个功能的实现都完成了,没有什么问题。后来拿去让导师指导,他说传输的数据的结构不明确,要区分“报头”“报尾”和数据部分。 用C编写的程序截两段如下: int data[]; data[0] = (int)(num)%10; //个位(num是从接口获得的数据) data[1] = (int)(num*10)%10; //十分位 data[2] = (int)(num*100)%10; //百分位 data[3] = (int)(num*1000)%10; //千分位 //这一部分是模块A的。data[i]会发送给B模块。 ———————————————————— Receive_Data_buffer[i] = data[i] adcdata[1] = (char)(Receive_Data_buffer[0])+48; adcdata[2] = '.'; adcdata[3] = (char)(Receive_Data_buffer[1])+48; adcdata[4] = (char)(Receive_Data_buffer[2])+48; adcdata[5] = (char)(Receive_Data_buffer[3])+48; UartTX_Send_String(adcdata,17); //这一部分是模块B的,adcdata[]是收到的准备和电脑通信的数据。 ———————————————————— 关键是导师的话。 我翻了一下手边的课本,并没有具体提到编程中用的“报头"”报尾“这样的内容。 如果按我的理解的话,举个例子: 在A模块程序中,把data[0]和data[1]以及data[n-1]data[n]改成4个特定的字符; 在B模块程序中,adcdata取值前先验证data[0]和data[1]是不是为给定的字符,不是的话报警;取值的过程写成循环,在取到data[n-1]和data[n]之后自动停止。 (这几个特定字符就是所谓的头尾部分(?)) 请教各位一下,我这样的处理对吗? “报头”“报尾”这样的概念该怎么理解好? 这俩东西一般又有什么用? 谢谢
1 下一页