找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 679|回复: 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)
                        {
                       
                        }
}

回复

使用道具 举报

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的大括号外面去。


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

使用道具 举报

ID:517951 发表于 2023-12-8 08:51 | 显示全部楼层
unreachable code, 意思是 这辈子你都得不到的女人
回复

使用道具 举报

ID:458247 发表于 2023-12-8 08:52 | 显示全部楼层
Hephaestus 发表于 2023-12-7 22:40
就是说存在永远无法执行到的代码,这个警告可以无视。

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

使用道具 举报

ID:1103189 发表于 2023-12-8 09:14 | 显示全部楼层
Hephaestus 发表于 2023-12-7 22:40
就是说存在永远无法执行到的代码,这个警告可以无视。

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

使用道具 举报

ID:1103189 发表于 2023-12-8 09:16 | 显示全部楼层
是数码管显示数字,不小心打错了
回复

使用道具 举报

ID:628113 发表于 2023-12-8 10:22 | 显示全部楼层
从程序猜测,P2 P0 驱动 共阳极数码管, 其中P2 通过 38 译码器 驱动 共阳极, P0驱动共阴极。

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

谢谢您,受教了
回复

使用道具 举报

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 单片机教程网

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