WXYANXW 2022-03-08 14:55 采纳率: 63.6%
浏览 51

stm32f103单片机简单的寄存器点灯程序出现的一些问题

img

然后我的问题在定义外设时钟的基地址上面

我用宏定义定义一个基地址的指针,然后再在这个指针上面加上使能APB2外设时钟寄存器的偏移地址0x18,之后主函数直接操作这个寄存器对时钟使能

问题在于:我这样做灯不亮,然后删掉第10行的(unsigned int)就可以了。我本来想法是这样将宏定义指针加上偏移地址可能不行,但是我又看到上面定义GPIOB基地址也是这样定义的啊,为什么上面的第二行的(unsigned int)可加可不加,下面时钟的基地址就不能加(unsigned int*)

  • 写回答

2条回答 默认 最新

  • ycode110 2022-03-08 15:10
    关注

    为啥你地址定义前面要加“*”?

    #define GPIOB_BASE (0x40010C00U)
    #define GPIOB_CRL (GPIOB_BASE + 0x00U)
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月8日