3751|10

32

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430读取rxbuf数据 [复制链接]

请教各位了,通过UART串口收到一包数据,有数据通讯协议含包头AA99,包长度0x05,发送有效数据和校验和等,不知道如何写程序来读取和判断数据是否是所收到的数据。很急的!!谢谢了

最新回复

怎么有点像脑电模块?   详情 回复 发表于 2015-3-4 15:07
 
点赞 关注

回复
举报

1228

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
本帖最后由 lidonglei1 于 2015-2-28 09:11 编辑

那个寄存器每次存储的是一个字节,你写函数每次中断读取数据存放到一个数组里a[10],if(a[0]==99),if(a[1]==aa) ,我理解的问题没错吧?
 
个人签名

喝最烈的酒,..DIY最实用的东西

 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
串口一次只接收一个字节,你需要判断一个5字节的字符串,那可以建立一个5字节的数组和一个指针,每收到一个字节先判断是否包头第一字节,是的话指针自增,收完第五字节再判断整包的内容。
 
 
 

回复

9795

帖子

24

TA的资源

版主

4
 
rxbuf[5];
rxbuf_index = 0;

rxbuf[rxbuf_index++] = RXD;
if(rxbuf[rxbuf_index] == 0x99 && rxbuf_index >0 &&  rxbuf[rxbuf_index-1] == 0xaa)
{
   rxbuf_index = 0;
}

点评

我想请教程序中的if语句后为啥设 rxbuf_index = 0???谢谢!![/backcolor]  详情 回复 发表于 2015-3-2 21:50
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

5
 
先用数组存下来,再做处理,个人看法
 
 
 

回复

32

帖子

0

TA的资源

一粒金砂(中级)

6
 
littleshrimp 发表于 2015-2-28 09:22
rxbuf[5];
rxbuf_index = 0;

rxbuf[rxbuf_index++] = RXD;
if(rxbuf[rxbuf_index] == 0x99 && rxbuf_index >0 &&  rxbuf[rxbuf_index-1] == 0xaa)
{
   rxbuf_index = 0;
}


我想请教程序中的if语句后为啥设 rxbuf_index = 0???谢谢!!

点评

好吧,怪我有阅读障碍,看错一个字。“我想请教程序中的if语句后为啥设 (没)rxbuf_index = 0???谢谢!!”[/backcolor] 我想我都写了,为什么还问没有。 设 [/backcolor]rxbuf_index = 0的目的是  详情 回复 发表于 2015-3-4 09:47
??  详情 回复 发表于 2015-3-3 11:17
 
 
 

回复

9795

帖子

24

TA的资源

版主

7
 
neal9431 发表于 2015-3-2 21:50
我想请教程序中的if语句后为啥设 rxbuf_index = 0???谢谢!!

??


点评

你好littleshrimp!你是不是没有看懂我的问题??  详情 回复 发表于 2015-3-3 20:55
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

32

帖子

0

TA的资源

一粒金砂(中级)

8
 



你好littleshrimp!你是不是没有看懂我的问题??

点评

我觉得。。 你收一包数据,首先要判断数据头是否正确,然后读取你预定长度的数据,数据收全后根据效验合判断数据是否合法。  详情 回复 发表于 2015-3-4 09:41
 
 
 

回复

9795

帖子

24

TA的资源

版主

9
 
neal9431 发表于 2015-3-3 20:55
你好littleshrimp!你是不是没有看懂我的问题??

我觉得。。
你收一包数据,首先要判断数据头是否正确,然后读取你预定长度的数据,数据收全后根据效验合判断数据是否合法。

 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

9795

帖子

24

TA的资源

版主

10
 
neal9431 发表于 2015-3-2 21:50
我想请教程序中的if语句后为啥设 rxbuf_index = 0???谢谢!!

好吧,怪我有阅读障碍,看错一个字。“我想请教程序中的if语句后为啥 (没)rxbuf_index = 0???谢谢!!”
我想我都写了,为什么还问没有


rxbuf_index = 0的目的是让收到数据头后把有效数据从零开始存入数组。


 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

11

帖子

8

TA的资源

一粒金砂(初级)

11
 
怎么有点像脑电模块?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表