求助!!!GPIOB->CRL|=0X00033000这后面的数据怎么来的啊?

2019-07-20 23:32发布

STM32里面的,GPIOB->CRL|=0X00033000这后面的数据怎么来的啊,我看过参考手册了,还是看不太懂,不知道00033000具体是怎么来的,有点蒙了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
xkwy
1楼-- · 2019-07-21 04:21
在手册中,
如上代码的作用是
1、将GPIOB->CRL[MODE3]设置为11b
2、将GPIOB->CRL[MODE4]设置为11b


再根据寄存器就知道它是要把PB3和PB4设置为输出模式,最大频率50MHz

l.png

不过建议楼主不要这么写,使用标准掩码可读性会强很多,而且要多加注释,如下:
[mw_shl_code=c,true]
    /* PB3,PB4: Output mode, max speed 50 MHz. */
    GPIOB->CRL |= (GPIO_CRL_MODE3|GPIO_CRL_MODE4);
[/mw_shl_code]

-----不正经的分割线------

z (13).jpg

777
2楼-- · 2019-07-21 05:30
xkwy 发表于 2016-3-7 20:50
在手册中,
如上代码的作用是
1、将GPIOB->CRL[MODE3]设置为11b

好的,谢谢了,这么一来懂很多了,自己在揣摩一下就行了

一周热门 更多>