打印

关于使用寄存器点亮LED灯 或 和 与置位符号的问题

[复制链接]
542|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大碴子味|  楼主 | 2020-4-3 22:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPIOB_CRL &= ~( 0x0F<< (4*0));          (这个我可以理解是,对端口配置低寄存器 0~3 共四位进行清零操作,有个小疑问,就是一般写程序之前都要进行清零嘛??)

GPIOB_CRL |= (1<<4*0);  (这个我得理解 1<<4*0   其中 4*0指的是 0寄存器中4位。 1 我是用 16进制来理解的 就是0x1)

GPIOB_CRL |= ((0x1) << (4*0));(所以我根据自己的理解修改成了 这样运行程序是没问题的,但是还是想请给位大佬看看这样写对不对)

GPIOB_ODR &= ~(1<<0); (最后输出低电平这个我有2个问题 (1): &= ~(1<<0)  我理解的是 进行1取反 在与0号位里面的任意数据进行与操作,结果肯
*(unsigned int*)0X40010C0C |= ((0x0)<< (1*0)); (这是我个人写的 输出低电平的语句 不知道对不对 我没有用 与取反 而是用了 或 灯的亮了 但我不知到这样写 对不对)

使用特权

评论回复

相关帖子

沙发
21ic小喇叭| | 2020-4-7 09:53 | 只看该作者
帮顶一下,希望问题得到解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

372

主题

372

帖子

0

粉丝