打印

请教串口多返回一个值怎么解决

[复制链接]
871|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
默默玩火|  楼主 | 2019-3-21 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if(RXBUF0=='e')
        {
            n_1=count/256;    //count=60000,n_1=EA,n_2=60
            TXBUF0 = n_1;
            while((UTCTL0&0X01)==0);
            n_2=count-256*n_1;
            TXBUF0 = n_2;
       }
走串口接收n_1和n_2的值,应该显示‘EA 60’,结果返回是‘EA 60 60’,多了个60,请问哪来的,咋改

相关帖子

沙发
零三翟邢止胃| | 2019-3-21 09:32 | 只看该作者
帮你顶住啊!!

使用特权

评论回复
评论
默默玩火 2019-3-21 09:41 回复TA
老哥你每次咋那么皮呢。。。 
板凳
zhangmangui| | 2019-3-21 22:39 | 只看该作者
你要看数据类型 在分析       你最好加上printf看看打出来的数据在分析

使用特权

评论回复
地板
vibra2016| | 2019-3-23 00:24 | 只看该作者
这个进行数据长度的判断的呀,多出的数据直接舍弃掉的

使用特权

评论回复
5
vibra2016| | 2019-3-23 00:24 | 只看该作者
还一个进行数据的crc校验的,校验不过,请求重新发送数据的也可以的

使用特权

评论回复
6
tongbu2015| | 2019-3-23 21:58 | 只看该作者
多返回的数据直接丢弃掉的不就行了么?

使用特权

评论回复
7
tongbu2015| | 2019-3-23 21:58 | 只看该作者
数据包的一定要有校验的

使用特权

评论回复
8
kkzz| | 2019-4-1 16:18 | 只看该作者
怎么可能返回多个数字呢                       

使用特权

评论回复
9
hudi008| | 2019-4-1 16:19 | 只看该作者
‘EA 60’怎么获取的这个数据呢                       

使用特权

评论回复
10
lzmm| | 2019-4-1 16:19 | 只看该作者
可以使用for循环读取试试看看。                       

使用特权

评论回复
11
minzisc| | 2019-4-1 16:20 | 只看该作者
RXBUF0=='e'这个是怎么读取的呢。

使用特权

评论回复
12
selongli| | 2019-4-1 16:20 | 只看该作者
while((UTCTL0&0X01)==0);这个对吗

使用特权

评论回复
13
fentianyou| | 2019-4-1 16:21 | 只看该作者
使用中断吧。                             

使用特权

评论回复
14
xiaoyaodz| | 2019-4-1 16:21 | 只看该作者
串口多返回一个是什么问题   

使用特权

评论回复
15
febgxu| | 2019-4-1 16:22 | 只看该作者
你要实现的是什么功能呢   

使用特权

评论回复
16
sdlls| | 2019-4-1 16:22 | 只看该作者
没有看懂这个代码要表达什么  

使用特权

评论回复
17
pixhw| | 2019-4-1 16:23 | 只看该作者
网上不是有发送字符串的函数吗?        

使用特权

评论回复
18
fentianyou| | 2019-4-1 16:23 | 只看该作者
中断做控制计较简单一些。                              

使用特权

评论回复
19
kkzz| | 2019-4-1 16:23 | 只看该作者
你是不是将寄存器读取了两次呢?                  

使用特权

评论回复
20
selongli| | 2019-4-1 16:23 | 只看该作者
应该判断是否产生外部的串口中断  

使用特权

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

本版积分规则

5

主题

6

帖子

0

粉丝