OpenEdv-开源电子网

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

24L01程序和按键怎么就执行一次?

[复制链接]

5

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2018-4-5
在线时间
5 小时
发表于 2018-5-11 02:20:59 | 显示全部楼层 |阅读模式
1金钱
        以下是MINI 板程序没有动过 为什么按键程序只执行一次呢 假如我按了key1  然后就一直进入发送程序 之后再按key2  更换模式也不管用了? 必须要初始化才行
我想在这个程序加入按键一直不成功 按下按键灯不能亮



while(1)//Ôú¸Ã2¿·Öè·¶¨½øèëÄĸöÄ£ê½!
        {
                key=KEY_Scan(0);
                if(key==KEY0_PRES)
                {
                        mode=0;   
                        break;
                }else if(key==KEY1_PRES)
                {
                        mode=1;
                        break;
                }
                t++;
                if(t==100)LCD_ShowString(10,150,230,16,16,"KEY0:RX_Mode  KEY1:TX_Mode"); //éá˸ÏÔê¾ìáê¾DÅÏ¢
                if(t==200)
                {       
                        LCD_Fill(10,150,230,150+16,WHITE);
                        t=0;
                }
                delay_ms(5);          
        }   
        LCD_Fill(10,150,240,166,WHITE);//Çå¿ÕéÏÃæμÄÏÔê¾                  
        POINT_COLOR=BLUE;//éèÖÃ×ÖìåÎaà¶é«          
        if(mode==0)//RXÄ£ê½
        {
                LCD_ShowString(60,150,200,16,16,"NRF24L01 RX_Mode");       
                LCD_ShowString(60,170,200,16,16,"Received DATA:");       
                NRF24L01_RX_Mode();                  
                while(1)
                {                                                                                   
                        if(NRF24L01_RxPacket(tmp_buf)==0)//ò»μ©½óêÕμ½DÅÏ¢,ÔòÏÔê¾3öà′.
                        {
                                tmp_buf[32]=0;//¼óèë×Ö·û′®½áêø·û
                                LCD_ShowString(0,190,239,32,16,tmp_buf);   
                        }else delay_us(100);          
                        t++;
                        if(t==10000)//′óÔ¼1sÖó¸Ä±äò»′Î×′ì¬
                        {
                                t=0;
                                LED0=!LED0;
                        }                                     
                };       
        }else//TXÄ£ê½
        {                                                            
                LCD_ShowString(60,150,200,16,16,"NRF24L01 TX_Mode");       
                NRF24L01_TX_Mode();
                mode=' ';//′ó¿Õ¸ñ¼ü¿aê¼  
                while(1)
                {                                                              
                        if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
                        {
                                LCD_ShowString(60,170,239,32,16,"Sended DATA:");       
                                LCD_ShowString(0,190,239,32,16,tmp_buf);
                                key=mode;
                                for(t=0;t<32;t++)
                                {
                                        key++;
                                        if(key>('~'))key=' ';
                                        tmp_buf[t]=key;       
                                }
                                mode++;
                                if(mode>'~')mode=' ';            
                                tmp_buf[32]=0;//&#188;óè&#235;&#189;áê&#248;·&#251;                  
                        }else
                        {                                                                                          
                                LCD_ShowString(60,170,239,32,16,"Send Failed ");
                                LCD_Fill(0,188,240,218,WHITE);//&#199;&#229;&#191;&#213;é&#207;&#195;&#230;μ&#196;&#207;&#212;ê&#190;                          
                        };
                        LED0=!LED0;
                        delay_ms(1500);                                    
                };
        }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 03:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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