收藏官网首页
查看: 17684|回复: 3

宠物屋STM32串口接收程序有问题

3

主题

11

帖子

134

积分

注册会员

Rank: 2

积分
134
跳转到指定楼层
楼主
发表于 2015-8-2 11:21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
看了串口接收程序那部分的代码,有点疑惑,麻烦大家解释一下。
void USART1_IRQHandler(void)函数中的:

                     if(cmd_flag2 ==0)  //.......1
                        {
                                if(cmd_flag2)  //.......2
                                {
                                                uart_buf[uart_Count]=vlue;
                                                uart_Count++;
                                                if(uart_buf[1] == 0xff)
                                                {
                                                        cmd_flag2 = 1;                                                       
                                                }       
                                                else
                                                {
                                                        cmd_flag1 = 0;
                                                }
                                }
                                cmd_flag2 = 1;
                        }


1处和2处是不是存在矛盾啊?看函数意思是确定数组包头的,但1处函数成立2处就不成立,反之亦然。结果是永远进不去2处判断,是有BUG,还是我自己还没理解函数啊?

1

主题

2

帖子

13

积分

新手上路

Rank: 1

积分
13
沙发
发表于 2015-8-24 13:46:24 | 只看该作者
我也发现有这样的问题

0

主题

2

帖子

64

积分

注册会员

Rank: 2

积分
64
板凳
发表于 2016-1-10 13:01:56 来自手机 | 只看该作者
感觉嵌套的判定cmd_flag2不太对哎

0

主题

1

帖子

24

积分

新手上路

Rank: 1

积分
24
地板
发表于 2016-7-25 13:06:56 | 只看该作者
我也是感觉这个地方有问题,,有没有官方的解释啊,,,看了一个机智云教程,也没说这个问题怎么回事。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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