找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2102|回复: 12
打印 上一主题 下一主题
收起左侧

请问各位大神 warning C294: unreachable code 这个是错在森么地方啊?

[复制链接]
跳转到指定楼层
楼主
ID:1103189 发表于 2023-12-7 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REGX52.H>//普中单片机 点亮led灯

unsigned char Nixieshu[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};

void Nixiewei(unsigned char location,number)
{
        switch(location)
        {
                case 1:P2_4=1;P2_3=1;P2_2=1;break;
                case 2:P2_4=1;P2_3=1;P2_2=0;break;
                case 3:P2_4=1;P2_3=0;P2_2=1;break;
                case 4:P2_4=1;P2_3=0;P2_2=0;break;
                case 5:P2_4=0;P2_3=1;P2_2=1;break;
                case 6:P2_4=0;P2_3=1;P2_2=0;break;
                case 7:P2_4=0;P2_3=0;P2_2=1;break;
                case 8:P2_4=0;P2_3=0;P2_2=0;break;
                P0 = Nixieshu[number];
        }
}
void main()
{      
                        Nixiewei(8,7);
                        while(1)
                        {
                       
                        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-12-7 22:40 | 只看该作者
就是说存在永远无法执行到的代码,这个警告可以无视。
回复

使用道具 举报

板凳
ID:213173 发表于 2023-12-8 06:20 | 只看该作者
#include <REGX52.H>//普中单片机 点亮led灯

unsigned char Nixieshu[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};

void Nixiewei(unsigned char location,number)
{
        switch(location)
        {
                case 1:P2_4=1;P2_3=1;P2_2=1;break;
                case 2:P2_4=1;P2_3=1;P2_2=0;break;
                case 3:P2_4=1;P2_3=0;P2_2=1;break;
                case 4:P2_4=1;P2_3=0;P2_2=0;break;
                case 5:P2_4=0;P2_3=1;P2_2=1;break;
                case 6:P2_4=0;P2_3=1;P2_2=0;break;
                case 7:P2_4=0;P2_3=0;P2_2=1;break;
                case 8:P2_4=0;P2_3=0;P2_2=0;break;
//                P0 = Nixieshu[number];
        }
        P0 = Nixieshu[number];
}
void main()
{      
        Nixiewei(8,7);
        while(1)
        {
       
        }
}
回复

使用道具 举报

地板
ID:458247 发表于 2023-12-8 08:51 | 只看该作者
Hephaestus 发表于 2023-12-7 22:40
就是说存在永远无法执行到的代码,这个警告可以无视。

P0 = Nixieshu[number]; 这句放switch的大括号外面去。


你这里无视了的话,功能肯定没法实现
回复

使用道具 举报

5#
ID:517951 发表于 2023-12-8 08:51 | 只看该作者
unreachable code, 意思是 这辈子你都得不到的女人
回复

使用道具 举报

6#
ID:458247 发表于 2023-12-8 08:52 | 只看该作者
Hephaestus 发表于 2023-12-7 22:40
就是说存在永远无法执行到的代码,这个警告可以无视。

不是什么警告都能无视的,不要误导别人。
而且编程最好把所有警告都消除掉
回复

使用道具 举报

7#
ID:1103189 发表于 2023-12-8 09:14 | 只看该作者
Hephaestus 发表于 2023-12-7 22:40
就是说存在永远无法执行到的代码,这个警告可以无视。

您好,现在这个是不能忽视的,因为我的这串代码是令led灯显示数字,而上面的代码是表示数字在第几个led灯显示的,所以我现在代码的问题就是只能显示第几个led灯亮,但是不能显示相应的数字,您能帮我看一下吗,非常感谢您,谢谢
回复

使用道具 举报

8#
ID:1103189 发表于 2023-12-8 09:16 | 只看该作者
是数码管显示数字,不小心打错了
回复

使用道具 举报

9#
ID:628113 发表于 2023-12-8 10:22 | 只看该作者
从程序猜测,P2 P0 驱动 共阳极数码管, 其中P2 通过 38 译码器 驱动 共阳极, P0驱动共阴极。

要想正常显示, 必须满足两个条件:
1. 切换 P2 的同时 改变 P0
2. 不断的扫描刷新. (就是 P2 P0 值【不停】的变化)
显然 你的程序 location,number 值不变, 当然显示不了。
回复

使用道具 举报

10#
ID:712097 发表于 2023-12-8 10:39 | 只看该作者
case 8下面一行 P0 = Nixieshu[number];永远无法执行,因为已经被case 8这行最末尾的break跳出switch循环了。另外5楼回答精辟。
回复

使用道具 举报

11#
ID:1057978 发表于 2023-12-8 15:40 | 只看该作者
都break了“P0 = Nixieshu[number];”这句怎么执行???
“只能显示第几个led灯亮,但是不能显示相应的数字”
共阴极还是共阳极接线?字模取得对不对?
多个数码管得循环刷新,为啥不放到While循环里面呢?
回复

使用道具 举报

12#
ID:1103189 发表于 2023-12-8 19:08 | 只看该作者
chxelc 发表于 2023-12-8 10:39
case 8下面一行 P0 = Nixieshu[number];永远无法执行,因为已经被case 8这行最末尾的break跳出switch循环了 ...

谢谢您,受教了
回复

使用道具 举报

13#
ID:1103189 发表于 2023-12-8 19:09 | 只看该作者
rayin 发表于 2023-12-8 08:51
unreachable code, 意思是 这辈子你都得不到的女人

哈哈,懂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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