如何访问STM32开发学习板寄存器内容

 时间:2024-10-14 01:37:39

1、今天小编从一个例子入手来讲如何访问STM32开发学习板寄存器,所谓的访问寄存器也就是说要找到寄存器,在单片机中寄存器都是以地址所表示的,所有盟廊巴反访问寄存器必须找到对应寄存器的地址,接下来从一个例子入手:STM32的GPIOF的第9管脚输入低电平,下图上寄存器的地址最高级分配,由于GPIOF属于片上外设,所有在Block2上,所以地址就是在Block2的地址范围中,先使用C语言定义一下Block2基地址:#define PERIPH_BASE ((unsigned int)0x40000000)如下图:

如何访问STM32开发学习板寄存器内容

3、然后定义一下各个总线的地址:#define APB1PERIPH_BASE P苇质缵爨ERIPH_BASE#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000)#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000)#define AHB2PERIPH_BASE (PERIPH_BASE + 0x10000000)如下图:

如何访问STM32开发学习板寄存器内容

5、下图中是寄存器相对于外设地址偏移,我们设置TM32的GPIOF的第9管脚输入低电平,就是要复位,这里需要设置BSRR(置位、复位寄存器),如下图:

如何访问STM32开发学习板寄存器内容

7、下图中就是复位的C语言表莲镘拎扇示,GPIOF_BSRR是寄存器地址宏定义,C语言会认为这只是个立即数,所以使用(unsigned int*)这样来强制将这个镟搞赃呓GPIOF_BSRR寄存器地址宏定义转换成地址,然后前面再次加入一个【*】号,这个表示将对应地址的内容进行设置,后面的(0x01<<(16+9))表示将1值赋予的第16+9位,这样写的好处是便于阅读,如下图:

如何访问STM32开发学习板寄存器内容
  • Labview中TCP发送端程序如何设计
  • Ubuntu怎么更换桌面壁纸
  • ubuntu14.04 ,window双系统教程(U盘启动)
  • 热门搜索
    北疆旅游 乐山旅游攻略 嘉兴旅游景点 柳州旅游 南昌旅游攻略 "旅游节目 " 郑州旅游景点 旅游顾问 长春旅游攻略 旅游杂志