天嵌 ARM开发社区

 找回密码
 注册
查看: 1768|回复: 6

流水灯的那段底层程序看不懂

[复制链接]
阿咪罗罗 发表于 2013-6-5 17:49:04 | 显示全部楼层 |阅读模式
谁能解释一下这段程序啊
rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5);  
wbz073 发表于 2013-6-5 18:06:09 | 显示全部楼层
建议看看C语言中关于位操作,很有帮助的。
亚瑟王 发表于 2013-6-5 18:07:59 | 显示全部楼层
给GPBDAT寄存器对应的GPB5开始的口置位或清零。
 楼主| 阿咪罗罗 发表于 2013-6-6 09:15:50 | 显示全部楼层
亚瑟王 发表于 2013-6-5 18:07
给GPBDAT寄存器对应的GPB5开始的口置位或清零。

rGPBDAT    (*(volatile unsigned *)0x56000014)这个是寄存器地址么?
还有我看程序Led_Display(66) 为什么是两位 我试着一位六进制就可以完成四个灯的选亮
 楼主| 阿咪罗罗 发表于 2013-6-6 09:16:37 | 显示全部楼层
wbz073 发表于 2013-6-5 18:06
建议看看C语言中关于位操作,很有帮助的。

位操作我会一点,可是看不懂这段为什么可以点亮灯:L
亚瑟王 发表于 2013-6-6 16:10:40 | 显示全部楼层
阿咪罗罗 发表于 2013-6-6 09:15
rGPBDAT    (*(volatile unsigned *)0x56000014)这个是寄存器地址么?
还有我看程序Led_Display(66)  ...

把值带进去计算出来,哪些灯亮,哪些灯灭,然后看一下实际运行后的情况,你就知道了。
 楼主| 阿咪罗罗 发表于 2013-6-6 17:54:18 | 显示全部楼层
亚瑟王 发表于 2013-6-6 16:10
把值带进去计算出来,哪些灯亮,哪些灯灭,然后看一下实际运行后的情况,你就知道了。

算出一个十六进制的数字 这个是不是还应该知道底层电路的逻辑关系啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-2 13:49 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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