打印

2个单片机通信问题

[复制链接]
693|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JAWN|  楼主 | 2015-10-24 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
JAWN|  楼主 | 2015-10-24 15:47 | 只看该作者
简单来说 单片机怎样接收多个字节

使用特权

评论回复
板凳
dirtwillfly| | 2015-10-24 17:40 | 只看该作者
串口每次接收一个字符,接收后记得及时存到别的地方去,或者及时转发

使用特权

评论回复
地板
nyf1972| | 2015-10-24 20:13 | 只看该作者
我不了解MSP430 ,但是原理一样 :
      这个问题可能在你转发的时候出现的问题 (我理解T0接受 ,T1发送 ) ,我建议 ,接收和发送的使用不同波特率(如果使用相同的波特率,容易掉数据如果 在串口中断 中 接收后立即发送 ,那么 可能会 出现 问题,特别 是对 一组数据 ,将非常明显 ,但是掉的基本上 是靠后的  ),发送波特率高一些。
       如果只有最后一个字节 ,而不是前面 有 后面没有 ,你更应该查询你的代码 。代码上可能有问题的 。

使用特权

评论回复
5
JAWN|  楼主 | 2015-10-25 09:17 | 只看该作者
nyf1972 发表于 2015-10-24 20:13
我不了解MSP430 ,但是原理一样 :
      这个问题可能在你转发的时候出现的问题 (我理解T0接受 ,T1发送 )  ...

那要将接收到的数据存到一个数组里要怎样存

使用特权

评论回复
6
huarana| | 2015-10-25 10:50 | 只看该作者
JAWN 发表于 2015-10-25 09:17
那要将接收到的数据存到一个数组里要怎样存

430的寄存器记不下

以pic举例

u8 rx_dat[]={0};
u8 rx_num;
中断里面

rx_dat[rx_num]=RCREG;   //接受寄存器

rx_num++;

简单的就是这样,然后你再组织下。

使用特权

评论回复
7
JAWN|  楼主 | 2015-10-25 13:30 | 只看该作者
huarana 发表于 2015-10-25 10:50
430的寄存器记不下

以pic举例

能用51举例一下么

使用特权

评论回复
8
huarana| | 2015-10-27 11:37 | 只看该作者
JAWN 发表于 2015-10-25 13:30
能用51举例一下么

寄存器名字换下就行了 - -!  RCREG换成 SBUF

使用特权

评论回复
9
xiaoyaozt| | 2015-10-27 22:09 | 只看该作者
16进制吗?

使用特权

评论回复
10
xiaoyaozt| | 2015-10-27 22:10 | 只看该作者
超出发送量程了。

使用特权

评论回复
11
sunmeat| | 2015-10-28 17:33 | 只看该作者
接收完,保存到数组中。你那个应该是没有缓冲完毕的问题。

使用特权

评论回复
12
baimiaocun2015| | 2015-10-28 21:52 | 只看该作者
串口收发数据是很简单的啦

使用特权

评论回复
13
旧影子| | 2015-10-29 16:21 | 只看该作者
接收再发送的函数做好,还要速度一定要匹配。

使用特权

评论回复
14
陌小生| | 2015-10-30 23:33 | 只看该作者
51之类的程序,多了去了,随便找

使用特权

评论回复
15
1988020566| | 2015-10-31 11:06 | 只看该作者
看看共地了吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

110

帖子

1

粉丝