首页| 论坛| 消息

标题:qt 串口编程
作者:2003wanglian
日期:2011-01-15 16:03
内容:

工程中想实现一个功能:我是在arm9上做个界面,上面要显示一些相关信息,这些信息都是通过串口接收来自主控机所发的数据。
如:主机发送数据:A1+C9+03+01+4+CD+F5+BA+CD+21+AC
A1+C9:字头
03:地址
01:射手的姓名
4:姓名的字节长度
CD+F5+BA+CD:姓名的ASCII码,
21:异或和
AC:字尾
我现在只会接收数据,不知道如何提取出来我要用的数据“姓名”,请朋友们帮忙!!!


#1 [2003wanglian 01-15 16:05]
请高手指点我具体使用那个函数,先谢谢拉!!!
#2 [sng2008 01-15 17:12]
charname[5] = {0};
memcpy(name,&(Msg[5]),4);
#3 [sng2008 01-15 17:20]
也可以:
structSMsg
{
wordhd
unsigned char add;
unsigned char SName;
ussigned char Namelen;
unsigned char Name[4];
unsigned char sum;
unsigned char off;
}
SMsg msg;
com->rev(&msg, sizeof(SMsg))
;
然后直接访问Name成员。
#4 [guomeng0905 02-24 21:45]
楼主,能把你的串口程序分享一下吗,我现在也是要用ARM9做个界面,通过串口接收数据,但是没头绪啊,可以加我QQ:734122618把程序发过来也可以,非常感谢!
#5 [kozmers 02-25 20:54]
// Set QString str to the buffer ofserial data accepted.
// ASCII character stream buffer must be used
QString str = buffer;
// A1+C9+03+01 process program yourself
////////////
str.remove(0, 4);// remove first "A1+C9+03+01"
int lenthName = str.at(0).toInt();// Get lenth of name
QString name =str.mid(1, lenthName); // Get name content
return name;

<< 1 2 >> (1/2)

回复 发表
主题 版块