今天开始弄了一下STM32F4的板子,板子的核心芯片是STM32F407,是Contex M4的内核,和之前接触的STM32F1的相比,功能真的强大了很多,而且设计上也更加容易使用,先介绍一下今天的成果。
今天看了数据手册的RCC部分和GPIO部分,在灵格斯的帮助下,还是能够看懂的,因为它和STM32F1差不多,应该是高级芯片的寄存器结构都很类似,所以看起来不是那么的难懂,很多东西都是相通的。
GPIO部分,他的寄存器包括4个参数设置寄存器用来设置IO口的工作方式,两个数据寄存器(一个输入一个输出),一个置位复位寄存器,一个LOCK寄存器,两个功能选择寄存器。寄存器的结构是十分的清晰的,Configure寄存器用来设置工作方式,包括输出、输入、速度设置、上拉下拉设置等等,比Contex M3更加的方便,功能参数的设置更加的独立,比如模式的设置,M3是每个IO口有四位,包括推挽输出、开漏输出等,而M4的MODER用来设置输出还是输出还是备用功能选择,OTYPER用来设置输出的模式:推挽输出、开漏输出。OSPEEDR用来设置IO口的速度,我个人感觉这样独立开来是有好处的,结构更加的清晰,在代码上更加容易操作,看起来更加容易懂。
RCC部分,有几个时钟来源。第一个事HSI,高速内部时钟源。第二个是HSE,高速外部时钟源,就是外加的高频晶振。第三个是PLL,HSI或者HSE的时钟送到锁相环,经过倍频后输出。第四个是LSE,低速外部时钟源。第五个是LSI,低速内部时钟源。每种时钟源都有其特殊的用途和特点。HSI是内部RC振荡器产生的,开启稳定时间更短,典型值为16M,但是不足之处是有误差,1%的精确度。HSE是外部时钟,需要外加晶振和助振电容,频率值比较精确,不过开启稳定时间稍微长一些。锁相环可以进行时钟的倍频,得到更高的时钟频率,STM32F4最高可以达到168M的时钟频率。LSE的典型值为32768Hz,即手表晶振,给内部的RTC提供时钟源。LSI的典型值为32kHz左右,为IWDG和AWU等提供时钟源。CPU复位以后,默认时钟源是HSI。
这只是粗略的纪录一下自己今天看DateSheet的体会,若要得到精确的东西,还是要去参考DataSheet,ST公司做的DataSheet结构还是挺清楚易懂的,个人感觉ST和TI做的DataSheet都很好,当然,若要比较后期服务的话,还是TI做的更加好一些,各种资料,让用户只是能够得心应手的进行“使用”工作!这一点很重要,拿到一个芯片,我就是一个使用者,我不需要过多的了解设计者应该了解的东西,那样对我来说没有太大的意义!
关键字:STM32F407 寄存器
引用地址:
接触STM32F407芯片的总结
推荐阅读最新更新时间:2024-03-16 14:01
ATmega 16 单片机的中断系统的相关寄存器(八)
复位和中断向量 向量号 程序地址 中断源 中断定义 1 0x000 RESET 外部引脚电平引发的,上电的,掉电检测的,看门狗,及JTAG AVR复位 2 0x002 INT0 外部中断请求0中断 3 0x004 INT1 外部中断请求1中断 4 0x006 TIMER2 COMP定时器/计数器2比较匹配中断 5 0x008 TIMER2 OVF定时器/计数器2溢出中断 6 0x00A TIMER1
[单片机]
ATmega64 状态寄存器
状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以 实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许 多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。 在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作 需要软件来处理。 AVR 状态寄存器 SREG 定义如下 • Bit 7 – I: 全局中断使能 I 置位时使能全局中断。单独的中断使能由其他独立的控制寄存器控制。如果I 清零,则不论单独中断标志置位与否,都不会产生中断。任意一个中断发生后I 清零,而执行RETI指令后I 恢复置位以使能中断。I 也可以通过SEI
[单片机]
STM32文档中关于NVIC寄存器说明的位置
要使用STM32,需要各种文档,其中有(以STM32F103RBT6为例): st官方资源地址:http://www.st.com/internet/mcu/product/164487.jsp 1、datasheet: http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf 2、REFERENCE MANUALS: http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/
[单片机]
stm32f407之DAC(操作寄存器)
DAC Stm32f4内嵌的DAC是12位数字输入,电压输出的数模转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。 主要特点: 2个DAC转换器:每个转换器对应1个输出通道 8位或者12位单调输出 12位模式下数据左对齐或者右对齐 同步更新功能 噪声波形生成 三角波形生成 双DAC通道同时或者分别转换
[单片机]
AVR单片机I/O口使用注意事项
1. 先正确设置DDRx方向寄存器,再进行I/O口的读写操作。 2. I/O口复位后的初始状态全部为输入工作方式,内部上拉电阻无效,外部引脚呈现三态高阻输入状态。 3. 当I/O口工作在输入方式时,且要读取外部引脚上的电平时,应读取PINxn的值,而不是PORTxn的值。 4. 当I/O工作在输入方式时,要根据实际情况使用或不使用内部的上拉电阻。 5. 一旦将I/O口的工作方式由输出设置成输入方式后,必须等待1个时钟周期后才能正确读到外部引脚PINxn的值。
[单片机]
8051单片机的寄存器是什么样的
CPU中使用寄存器来临时存储信息,这些信息可以是要处理的数据,也可以是指向要获取的数据的地址。在8051单片机中,有一种数据类型是8位,从MSB(最高有效位)D7到LSB(最低有效位)D0。对于8 位数据类型,任何大于 8 位的数据类型都必须在处理之前分成 8 位块。 8051中使用最广泛的寄存器是 A(累加器)、B、R0-R7、DPTR(数据指针)和 PC(程序计数器)。所有这些寄存器都是 8 位的,除了 DPTR和 PC。 一、8051中的存储寄存器 我们将在这里讨论以下类型的存储寄存器: 1.累加器; 2.寄存器; 3.B寄存器; 4.数据指针 (DPTR); 5.程序计数器 (PC); 6.堆栈指针 (SP)。 (
[单片机]
ARM处理器中的寄存器基本知识详解
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄器包括: ● 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。 ● 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。 ARM微处理器支持7种运行模式,分别为: ● usr(用户模式):ARM处理器正常程序执行模式。 ● fiq(快速中断模式):用于高速数据传输或通道处理 ● irq(外部中断模式):用于通用的中断处理 ● svc(管理模式):操作系统使用的保护模式 ● abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 ● sys(系统模式): 运行具有特权
[单片机]
ATMEGA48与DS1302组成的定时控制系统
Atmel公司的ATMEGA48是一款高性能、低功耗的8 位AVR微处理器,使用先进的RISC 结构,大多数指令的执行时间为单个时钟周期,所以运算速度更快。两个具有独立预分频器和比较器功能的8 位定时器/ 计数器;一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器;具有独立振荡器的实时计数器RTC;六通道PWM;8路10 位ADC(TQFP 与MLF 封装) ;可编程的串行USART 接口;可工作于主机/ 从机模式的SPI 串行接口;面向字节的两线串行接口;具有独立片内振荡器的可编程看门狗定时器;片内模拟比较器;引脚电平变化可引发中断及唤醒MCU等。 其具有的下面特点无论从编程、自编程和加密等方面都给用户提供了
[应用]