完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
8个回答
|
|
C语言的 "=="和 "=" 是不同的
|
|
|
|
是不等号啊“!=”,我烧到mini2440中并不能识别按键,把所有的 if (dwDat & (1<<3)!=0)换成 if (dwDat & (1<<3))就能正确运行。
错误现象:按第一个键,四个灯全亮,按下其他键led没反应。 |
|
|
|
这是我的代码
#define GPBCON (*(volatile unsigned long *)0x56000010) #define GPBDAT (*(volatile unsigned long *)0x56000014) #define GPGCON (*(volatile unsigned long *)0x56000060) #define GPGDAT (*(volatile unsigned long *)0x56000064) #define GPB5_out (1<<(5*2)) #define GPB6_out (1<<(6*2)) #define GPB7_out (1<<(7*2)) #define GPB8_out (1<<(8*2)) #define GPB5_msk (3<<(5*2)) #define GPB6_msk (3<<(6*2)) #define GPB7_msk (3<<(7*2)) #define GPB8_msk (3<<(8*2)) #define GPG1_in (0<<0) #define GPG2_in (0<<6) #define GPG3_in (0<<10) #define GPG4_in (0<<12) #define GPG1_msk (3<<0) #define GPG2_msk (3<<6) #define GPG3_msk (3<<10) #define GPG4_msk (3<<12) int main() { unsigned long dwDat; GPBCON &= ~(GPB5_msk | GPB6_msk | GPB7_msk | GPB8_msk); GPBCON |= GPB5_out | GPB6_out | GPB7_out | GPB8_out; GPGCON &= ~(GPG1_msk | GPG2_msk | GPG3_msk | GPG4_msk); GPGCON |= GPG1_in | GPG2_in | GPG3_in | GPG4_in; while(1){ dwDat = GPGDAT; if (dwDat & (1<<0)!=0) // 改成 if (dwDat & (1<<0))就对了,下面同理 GPBDAT |= (1<<5); // LED1熄灭 else GPBDAT &= ~(1<<5); // LED1点亮 if (dwDat & (1<<3)!=0) // K2没有按下 GPBDAT |= (1<<6); // LED2熄灭 else GPBDAT &= ~(1<<6); // LED2点亮 if (dwDat & (1<<5)!=0) // K3没有按下 GPBDAT |= (1<<7); // LED3熄灭 else GPBDAT &= ~(1<<7); // LED3点亮 if (dwDat & (1<<6)!=0) // K4没有按下 GPBDAT |= (1<<8); // LED4熄灭 else GPBDAT &= ~(1<<8); // LED4点亮 } return 0; } |
|
|
|
目测是优先级的问题 建议加上括号
|
|
|
|
确实是优先级的问题,大神!
|
|
|
|
一般建议能加括号就加括号,就可以不用考虑优先级了。
|
|
|
|
你好,我最近也在按键点灯,看你的代码应该是其他型号的开发板,但我们的soc都是S3C2440,这样的话,那几个寄存器的地址都是一样的,先不谈你提出的问题,不知你的点灯程序编译后烧录到nandflash能正常运行吗?我的也是安老师的思路改的代码,死活按键没反应,特来问问
|
|
|
|
行不行自己算一下,但是我觉得至少加个括号规范点--》 if ((dwDat & (1<<3))!=0)
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2156 浏览 6 评论
1964 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4521 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 17:25 , Processed in 0.705847 second(s), Total 92, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号