野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15787|回复: 3

为什么程序,稍微修改一些就不行了?求解答

[复制链接]
发表于 2015-4-28 12:34:32 | 显示全部楼层 |阅读模式
        LCD_Init();       

        LCD_Clear(0, 0, 240, 320, BACKGROUND);
       
       
            
               
        while (1)
         {       
           if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9) == 0 )
               {
                     
                  
                        LCD_DispStr(10, 90, (uint8_t *)"kid is crying", WHITE);
                        sim900a_sms((char *)num,"kid is crying ");
                          
               }
     }


这是 B9口IO 电平为0 时候 就通过GSM发送短信在手机上
回复

使用道具 举报

 楼主| 发表于 2015-4-28 12:36:10 | 显示全部楼层
因为如果 一直是低电平 就会一直发送短信,,,

所以我就在 if里面 添加了一句 while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9) == 0);  让程序一直停在这里 直到变为高电平 ,就不会一直发送短信,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-28 12:37:09 | 显示全部楼层
但是 加上了这一句后。。。。程序在开发板上就 不行了,,LCD_Clear(0, 0, 240, 320, BACKGROUND);  这句都没用执行,屏幕背景颜色没有改变。

为什么加上了一句就不行了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-28 12:38:35 | 显示全部楼层
之后我又尝试另一种方法

先定义一个m=1;

while(1) 改为while(m)
然后,再if里面 发送短信程序之后把m 赋值为0.。

但是这样改完之后整个程序 下进开发板去 就什么反应都没有,也是 LCD_Clear(0, 0, 240, 320, BACKGROUND);  连这句都没用执行
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-21 08:36 , Processed in 0.038452 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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