OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3946|回复: 2

stm32f4用指针数组接收两次数据问题

[复制链接]

95

主题

557

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3392
注册时间
2016-1-7
在线时间
561 小时
发表于 2017-5-21 12:54:51 | 显示全部楼层 |阅读模式
5金钱
我定义了一个指针* Receiver,定义了两个Receivebuf[20],Receivebuf1[20],准备接收两次数据。第一次指针指向p2+1,然后将第一次接收的0xff存在Receivebuf[0]中,接收的0x00存在Receivebuf[1]中,第二次指针指向p2+3:第二次接收的数据是与第一次数据不相同,第二次接收的数据分别存在Receivebuf1[0],Receivebuf1[1]中,结果单片机程序运行后,两次不同的Receivebuf[0],Receivebuf[1]与Receivebuf1[0],Receivebuf1[1]中数据都一样,都是:0xff,0x00。怎么回事?哪位高手对指针应用比较熟练,我第二次接收数据程序哪里出了问题?求教!!!
                          
                                  Receiver=(p2+1);     
                                  Receivebuf[0]=Receiver[0];
                                  Receivebuf[1]=Receiver[1];
                                        if(i==0&&Receivebuf[0]==0xff&&Receivebuf[1]==0x00)  //第一次接收0xff,0x00
                                        {
                        
                                sprintf((char*)dtbuf2,"%02X%02X",Receivebuf[0],Receivebuf[1]);
                                Show_Str(170,415,1000,12,dtbuf2,12,0);                                                
                                                i++;
                                        }               
                                Receiver=(p2+3);      
                                Receivebuf1[0]=Receiver[0];
                                Receivebuf1[1]=Receiver[1];
                                        if(i==1&&Receivebuf1[0]!=Receivebuf[0]&&Receivebuf1[1]!=Receivebuf[1])        //第二次接收不为0xff,0x00两个数据
                                        {
                               sprintf((char*)dtbuf2,"%02X%02X",Receivebuf1[0],Receivebuf1[1]);
                               Show_Str(320,415,1000,12,dtbuf2,12,0);        
                                                i++;
                                        }

最佳答案

查看完整内容[请看2#楼]

已经有了另一种解决办法,用存储的办法解决,接收一组,存储一组,然后依次读出来即可。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

95

主题

557

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3392
注册时间
2016-1-7
在线时间
561 小时
 楼主| 发表于 2017-5-21 12:54:52 | 显示全部楼层
已经有了另一种解决办法,用存储的办法解决,接收一组,存储一组,然后依次读出来即可。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-5-21 18:32:51 | 显示全部楼层
莫名其妙的P2,不知道什么鬼。仿真单步跟踪,得解脱。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-17 19:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表