查看: 1520|回复: 1

[分享] YL-K26Z程序警告之一

[复制链接]
  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-5-27 19:47:39 | 显示全部楼层 |阅读模式
    本帖最后由 wambob 于 2015-5-27 19:47 编辑

    ..\Source\Drv\gpio\MKL_gpio.c(121): warning:  #111-D: statement is unreachable
                    if((FGPIOD_PDIR & 1<<6) == 1<<6) {
    ..\Source\Drv\gpio\MKL_gpio.c: 1 warning, 0 errors

    双击121行来到警告的地方
    1. BOOLEAN getButton(void)
    2. {
    3. if((FGPIOA_PDIR & 1<<4) == 1<<4) {
    4. return False;
    5. } else {
    6. return 2;
    7. }
    8. if((FGPIOD_PDIR & 1<<6) == 1<<6) {
    9. return False;
    10. } else {
    11. return 1;
    12. }
    13. }
    复制代码

    上面是个布尔型函数,警告中的statement is unreachable 翻译出来就是声明到不了这里,仔细分析一下函数,可不是,进入函数后执行完第一个if语句后就跳出函数了 ,根本执行不到第2个if语句。
    解决方法,我觉得因该再+1个 if  else语句
    1. BOOLEAN getButton(void)
    2. {
    3. if((FGPIOA_PDIR & 1<<4) == 1<<4)
    4. {
    5. if((FGPIOA_PDIR & 1<<4) == 1<<4)
    6. {
    7. return False;
    8. }
    9. else
    10. {
    11. return 2;
    12. }
    13. }
    14. else
    15. {
    16. if((FGPIOD_PDIR & 1<<6) == 1<<6)
    17. {
    18. return False;
    19. }
    20. else
    21. {
    22. return 1;
    23. }
    24. }
    25. }
    复制代码

    大家有没有跟简洁的代码,分享下

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16711
    最后登录
    1970-1-1
    发表于 2015-5-28 13:54:33 | 显示全部楼层
    帮顶!!!
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-26 19:14 , Processed in 0.079892 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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