微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 我这if else语句有问题吗?

我这if else语句有问题吗?

时间:10-02 整理:3721RD 点击:

if(a==0)
{
    a=1;


    GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID,
    TRUE,
    sizeof(advertData),
     advertData ); //原广播数据
}
else
{
     a=0;

     GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID,
     TRUE,
     sizeof(advertData_Update),
     advertData_Update ); //更新广播数据
}

//

仿真发现,if执行,然后else也执行,下一次else执行,依次循环,结果观察,广播只有else里边的数据,广播一秒,停一秒,

大佬帮我看看,是不是我失忆了。

您现在是想要实现什么功能呢?

我就是想测试一下,动态广播,广播间隔100ms,一秒钟执行一次换广播,通过if else实现,然后我发现,广播一秒,停一秒,广播内容都是else里边的,

仿真发现,a=0,执行if,执行a=1;执行

GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID, 
    TRUE, 
    sizeof(advertData), 
     advertData ); //原广播数据 

然后(问题在这),直接执行else里边的

GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID,
TRUE,
sizeof(advertData_Update),
advertData_Update ); //更新广播数据

else里边a=0;没有执行;

然后下一秒,a=1;执行else

现象是1秒钟广播else里边的内容,连续大概10条,一秒钟无广播,

就是if广播语句执行过后,直接跑到,else里边的广播语句,其它正常,

这个函数周期1秒,

a=0,执行1,2,4,

下次调用,a=1时,执行3,4,

下次调用,1,2,4,

再下次,3,4,

这样循环。

今天发生了好多诡异的事情。

建议全部重新编译 

a 是全局变量吗? 如果是临时变量,退出函数重入会重新初始化的。

函数内部定义的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top