然后我的问题在定义外设时钟的基地址上面
我用宏定义定义一个基地址的指针,然后再在这个指针上面加上使能APB2外设时钟寄存器的偏移地址0x18,之后主函数直接操作这个寄存器对时钟使能
问题在于:我这样做灯不亮,然后删掉第10行的(unsigned int)就可以了。我本来想法是这样将宏定义指针加上偏移地址可能不行,但是我又看到上面定义GPIOB基地址也是这样定义的啊,为什么上面的第二行的(unsigned int)可加可不加,下面时钟的基地址就不能加(unsigned int*)
然后我的问题在定义外设时钟的基地址上面
我用宏定义定义一个基地址的指针,然后再在这个指针上面加上使能APB2外设时钟寄存器的偏移地址0x18,之后主函数直接操作这个寄存器对时钟使能
问题在于:我这样做灯不亮,然后删掉第10行的(unsigned int)就可以了。我本来想法是这样将宏定义指针加上偏移地址可能不行,但是我又看到上面定义GPIOB基地址也是这样定义的啊,为什么上面的第二行的(unsigned int)可加可不加,下面时钟的基地址就不能加(unsigned int*)
为啥你地址定义前面要加“*”?
#define GPIOB_BASE (0x40010C00U)
#define GPIOB_CRL (GPIOB_BASE + 0x00U)