stm32操作寄存器中的位求解~~~

liuchang910781261 2015-04-03 04:24:28
假如我想操作某个寄存器中的某一个位,我该如何操作啊
如下是例程程序,小弟不知道为什么要*32*4?求解!!!
#define CLKCR_OFFSET (SDIO_OFFSET + 0x04)
#define CLKEN_BitNumber 0x08
#define CLKCR_CLKEN_BB (PERIPH_BB_BASE + (CLKCR_OFFSET * 32) + (CLKEN_BitNumber * 4))
#define PERIPH_BB_BASE ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */
...全文
284 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-04-04
  • 打赏
  • 举报
回复
操作寄存器位如果芯片不支持位访问,那么可以使用 OR、AND、XOR进行操作 比如,我想给第五位写1 Reg=Reg | 16 置零 Reg=Reg & ~16
pathletboy 2015-04-03
  • 打赏
  • 举报
回复
先看明白这个。 http://blog.csdn.net/gaojinshan/article/details/11479929

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧