今天,60后工程师敲响了IPO的钟声:湖北又一家硬核上市公司诞生
06-18
1. GPIO寄存器按照功能可以分为以下几类: A、配置寄存器 B、数据寄存器 C、位寄存器 D、锁定寄存器 2。
对于 GPIO 端口,每个端口有 16 个引脚。
每个引脚的模式由寄存器的四位控制。
每四位分为两位控制引脚配置(CNFy[1:0]),两位控制引脚的模式和最大速度(MODEy[1:0]),其中y代表第y个引脚。
有两个寄存器用于配置 GPIO 引脚模式。
CRH为高位寄存器,用于配置高8位引脚,CRL配置低8位引脚。
3。
端口位设置清除寄存器(GPIOx_BSRR) 某个引脚 y 的输出数据由 GPIOx_BSRR 寄存器位的 2 位控制,分别是 BRY(Bit Reset y)和 BSy(Bit Set y), BRy 位使用写1清零,使该引脚输出低电平,用BSy位写1置1,使该引脚输出高电平。
向这两位写零是无效的。
4。
Cortex-M3有32条地址线,因此其 寻址空间大小为2^32位=4GB。
ARM设计的时候,就预先大致分配好了4GB的寻址空间。
它将 0x 到 0x5FFF FFFF(MB) 的地址分配给片上外设。
5。
这个文件stm32f10x.h的重要内容是映射STM32所有寄存器的地址。
就像51单片机的头文件一样,stm32f10x.h就像一张大桌子。
我们在使用的时候,是通过宏定义来进行类似查表的操作。
6。
STM32总线包括AHB总线、APB2总线、APB1总线 7。
时钟系统。
A。
从时钟频率来看,分为高速时钟和低速时钟。
高速时钟提供给芯片的主体时钟,而低速时钟只提供给芯片内的RTC和独立看门狗。
B。
从芯片角度来看,时钟源分为内部时钟源和外部时钟源。
内部时钟由芯片内部的RC振荡器产生并快速开始振荡。
因此,芯片首次上电时,时钟默认使用 内部高速时钟。
外部时钟信号由外部晶振输入,在精度和稳定性方面具有很大优势。
因此,上电后,我们将软件配置为使用外部时钟信号。
8。
stm32f10x.h 相当于 STC12CAD.H。
它的作用是定义寄存器和外设之间的关系,类似于一个大的查找表。
9、STM32从3.0库开始引入了CMSIS。
CMSIS 是 Cortex MicroController 软件接口标准的缩写。
这是ARM为Cortex-M系列定制的标准,主要是提供Universal API接口来访问内核和一些片上外设,以提高代码的可移植性。
CMSIS 具有三层:核心外设访问层 (CPAL)、中间件访问层 (MWAL) 和设备外设访问层。
CPAL用于访问内核的寄存器和组件,例如NVIC、调试系统等。
该层由ARM实现。
MWAL 用于访问中间件,尚未实现。
(不知道所谓的中间件是什么)。
DPAL用于定义一些硬件寄存器的地址和一些外设访问函数,由芯片制造商实现。
CPAL层的实现是Core_cm3.c文件,DPAL层的实现是system_stm32f10x.c文件(看来外设函数库也应该加上)。
? - M3核心设计SOC芯片制造商设计的芯片外设提供了进入M3核心的接口 。
这两个文件在其他公司的M3系列芯片上也是一样的。

11。
system_stm32f10x.c由ST公司提供,符合CMSIS标准。
该文件 的作用是设置系统时钟和总线时钟 12。
startup_stm32f10x_hd.s启动文件是任何处理器在上点复位后运行的第一个汇编程序。
在我们编写的C语言代码可以运行之前,汇编需要建立一个适合C语言运行的环境,然后我们的程序才能运行。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-18
06-18
06-18
06-08
06-17
06-18
06-06
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现