微风-过后 2022-03-03 05:12 采纳率: 50%
浏览 44
已结题

为什么while中变量值与if值满足条件,却没有执行if语句

最近在搞毕设,涉及到两个蓝牙数据透传,主机发送1,从机接收到了这个数据,也确实是1,但是并没有执行if语句的内容,同时循环中还有一个按键,通过触发按键从机可以发送一条数据给主机,事实表明,主机也接收到了,但是过会ucTemp(接受的数据)就一直为0,不管主机怎么发数据过来,但是从机依然可通过按键发送数据给主机,主机接受了。现在的问题是为什么if语句没有执行?求解惑

img

  • 写回答

2条回答 默认 最新

  • qllaoda 2022-03-03 05:24
    关注

    1,其实你说的这种情况,很可能是执行了代码的,只是效果和你预想的不一样而已,你可以直接执行一下试试。
    2,UCTEMP好像是个全局变量,可能其它地方会改变这个值。还有一点,这个变量,按你的说法,很可能是在串口中断里改变的,如果是这样,建议在定义和声明的时候加个volatile,防止不必要的优化。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 已采纳回答 3月7日
  • 创建了问题 3月3日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部