天嵌 ARM开发社区

 找回密码
 注册
查看: 3373|回复: 3

关于流水灯中rGPBDAT的相关问题

[复制链接]
jing007520 发表于 2012-3-13 21:11:25 | 显示全部楼层 |阅读模式
rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5)
这个结果是多少?
望高手能把每一步按二进制代码表示出来。
我算的过程如下,不知道对不对,请高手指点:
1、rGPBDAT & ~(0xf<<5)):1111 00000
2、当date=1时,~data:1111 1101
((~data & 0xf)<<5):1111 1101 00000

所以rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5):1111 1111 00000
这样算出来的GPB5不就是1了么,然而电路图上看应该是0啊,我不知道我哪里算错了,请高手帮忙解答下。谢谢了
借我你的一生 发表于 2012-3-13 21:50:48 | 显示全部楼层
当date=1时,~data:1111 1101
回复

使用道具 举报

 楼主| jing007520 发表于 2012-3-13 22:14:22 | 显示全部楼层
晕,知道哪里错了,自己解答。
rGPBDAT & ~(0xf<<5)):0000 11111
~data:1111 1110
((~data & 0xf)<<5): 1110 00000
rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5): 1110 11111
回复

使用道具 举报

Mr_Double 发表于 2012-3-19 21:26:12 | 显示全部楼层
最近也遇到过这个东西,还老老实实算了下。
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-8-2 05:49 , Processed in 2.042517 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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