打印

串口发送数据丢失的问题

[复制链接]
2419|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rospiers|  楼主 | 2018-6-30 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Rospiers 于 2018-6-30 15:59 编辑

写了一个149串口发送的程序,测试的时候发现发送的数据0x00后面的数据都丢失了,比如发送 11 22 33 00 44 55只能接收到11 22 33后面的数据就没了,求大神解答一下这是为啥呢?

void MSP430_VOID_Rx485SendBytes( uchar *ptr ) {

        while( (*ptr != '\0') ) {

                while ( !( IFG1 & UTXIFG0 ) );                         // TX缓存空闲?
                TXBUF0 = *ptr++;                                               // 发送数据
        }
        while ( !( IFG1 & UTXIFG0 ) );
}

评论
dirtwillfly 2018-7-1 21:16 回复TA
0x00被误认为\0了 

相关帖子

沙发
Lewisnx| | 2018-6-30 16:00 | 只看该作者
你发送的是数据又不是字符串!为什么要用‘\0’呢?

使用特权

评论回复
板凳
CCompton| | 2018-6-30 16:18 | 只看该作者
除非你把发送的数据放到数组里面并且知道其长度!

使用特权

评论回复
地板
Richardd| | 2018-6-30 16:25 | 只看该作者
只发送16进制的数据,怎么做呢

使用特权

评论回复
5
Mattheww| | 2018-6-30 16:44 | 只看该作者
要知道长度,长度为多少就发多少

使用特权

评论回复
6
Erichk| | 2018-6-30 16:54 | 只看该作者
‘\0’是什么作用

使用特权

评论回复
7
kkzz| | 2018-7-1 14:37 | 只看该作者
while( (*ptr != '\0') )有问题吧。

使用特权

评论回复
8
hudi008| | 2018-7-1 14:37 | 只看该作者
!= '\0'才发送的。

使用特权

评论回复
9
lzmm| | 2018-7-1 14:38 | 只看该作者
字符串判断的问题。

使用特权

评论回复
10
minzisc| | 2018-7-1 14:38 | 只看该作者
'\0'这个字符串呢

使用特权

评论回复
11
selongli| | 2018-7-1 14:38 | 只看该作者
字符串的结尾标志为'\0'

使用特权

评论回复
12
fentianyou| | 2018-7-1 14:39 | 只看该作者
改变一种发送方式。

使用特权

评论回复
13
febgxu| | 2018-7-1 14:40 | 只看该作者
数据都丢失还是不发送呢

使用特权

评论回复
14
sdlls| | 2018-7-1 14:40 | 只看该作者
串口发送你看看网上怎么操作的。

使用特权

评论回复
15
pixhw| | 2018-7-1 14:40 | 只看该作者
00这个字符有问题的。

使用特权

评论回复
16
minzisc| | 2018-7-1 14:41 | 只看该作者
使用空判断试试看。

使用特权

评论回复
17
lzmm| | 2018-7-1 14:41 | 只看该作者
建议后期修改为使用数量判断的。

使用特权

评论回复
18
hudi008| | 2018-7-1 14:41 | 只看该作者
该修改为空操作的。

使用特权

评论回复
19
kkzz| | 2018-7-1 14:41 | 只看该作者
使用for循环吧。

使用特权

评论回复
20
sdlls| | 2018-7-1 14:41 | 只看该作者
11 22 33 00 44 55是字符串吗?

使用特权

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

本版积分规则

116

主题

377

帖子

0

粉丝