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

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

img

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

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

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

  • 写回答

2条回答 默认 最新

  • 关注

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

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

报告相同问题?

问题事件

  • 创建了问题 3月8日

悬赏问题

  • ¥20 安装 opencv4nodejs 报错
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!