OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2483|回复: 3

Keil C语言编程问题,小白求大神解答,感激不尽

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2019-9-16
在线时间
4 小时
发表于 2019-11-20 22:49:27 | 显示全部楼层 |阅读模式
1金钱
我写了如下一段话:
if(ENC28J60_Read(MAADR5)== macaddr[0])
{
语句1;
}       
else
{
语句2;
}
实际中ENC28J60_Read(MAADR5)和macaddr[0]的值都为0x04,但程序判断为假,执行else语句。
如果我把if语句改成if(ENC28J60_Read(MAADR5)==0x04)或者if(0x04== macaddr[0]),则判断为真,执行语句1.
求问大神,这是什么原因造成的?小弟感谢


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

180

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-1-14
在线时间
152 小时
发表于 2019-11-21 17:05:12 | 显示全部楼层
回复

使用道具 举报

6

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2019-10-23
在线时间
58 小时
发表于 2019-11-25 15:51:09 | 显示全部楼层
ENC28J60_Read(MAADR5)你看看你这个函数的返回类型和你的数组类型是不是一样的,可能会出现字符0x04 和 十六进制0x04误区
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2019-9-16
在线时间
4 小时
 楼主| 发表于 2019-11-25 20:49:18 | 显示全部楼层
金木一花 发表于 2019-11-25 15:51
ENC28J60_Read(MAADR5)你看看你这个函数的返回类型和你的数组类型是不是一样的,可能会出现字符0x04 和 十 ...

我刚又试了试   macaddr[]是以太网控制芯片的寄存器, ENC28J60_Read() 好像不能和寄存器的值比较,我把 macaddr[]赋值给数组,就可以比较了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 05:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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