打印
[STM32F1]

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

[复制链接]
783|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huzb11|  楼主 | 2017-5-21 12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 huzb11 于 2017-5-21 12:45 编辑

我定义了一个指针* 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++;
                                        }
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

55

帖子

1

粉丝