最近在搞毕设,涉及到两个蓝牙数据透传,主机发送1,从机接收到了这个数据,也确实是1,但是并没有执行if语句的内容,同时循环中还有一个按键,通过触发按键从机可以发送一条数据给主机,事实表明,主机也接收到了,但是过会ucTemp(接受的数据)就一直为0,不管主机怎么发数据过来,但是从机依然可通过按键发送数据给主机,主机接受了。现在的问题是为什么if语句没有执行?求解惑
1,其实你说的这种情况,很可能是执行了代码的,只是效果和你预想的不一样而已,你可以直接执行一下试试。
2,UCTEMP好像是个全局变量,可能其它地方会改变这个值。还有一点,这个变量,按你的说法,很可能是在串口中断里改变的,如果是这样,建议在定义和声明的时候加个volatile,防止不必要的优化。
从机接收的语句在哪呢,你不会是放到while外面去了吧
你要在循环里接收才行呀
否则永远在判断内存里的2个变量变不变