关于PIC18F4620保存端口值的问题

2020-02-09 11:29发布

我最近在做个小程序,用的是PIC18F4620。我用键盘来控制发光二极管的亮灭,同时用变量来读取断后的电平值,然后用变量还原当时记录的状态。
但是我在线调试的时候发现变量i、m的值在变化...这是为什么呢?
想听听大家的说法...
case 0x0dfb:
                            if(turnon)
                              {
                               if(turnon1)
                                {
                                                   
                                    led3green=1;
                                    send232[0]=0xAF;
                                    send232[1]=0X96;
                                    send_count=0X02;
                                    TRISC=0XFF;
                                    m=LATC;
                                    TRISB=0XFF;
                                    i=LATB;
                                    TRISB=0X00;
                                    TRISC=0X00;  
                                    ppt=1;
                                 
                                }
                              }
                             break;



接下来是还原端口状态
if((m&0x08==0x08)&&(i&0x07==0x07))
                                   {                     
                                TRISC=0X00;
                                TRISB=0x00;
                                delay_10ms();
                                                    led1green=0;
                                led2green=0;
                                led3green=0;
                                led4green=0;
                                   }
                                     else
                             
                                  {
                                                                            TRISC=0x00;
                                                            TRISB=0x00;
                                                                            delay_10ms();
                                                            LATC=m;
                                                            LATB=i;
                                    }
                                                            turnon1=0xff;
                                                            n=1;
                                }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。