STMf寄存器说明
STM32微控制器寄存器说明
PLLXTPRE:HSE 分频器作为 PLL 输入(HSE divider for PLL entry)。由软件
置‘1’或清‘0’来分频 HSE 后作为 PLL 输入时钟。只能在关闭 PLL 时才能
写入此位。
0:HSE 不分频; 1:HSE 2 分频
PLLSRC:PLL 输入时钟源(PLL entry clock source)。由软件置‘1’或清‘0’
保 HSI HSI
留 RDY ON
位 31:26 位 25 位 24
位 23:20 位 19 位 18
位 17
位 16
位 15:8 位 7:3
保留,始终读为 0。 PLLRDY:PLL 时钟就绪标志(PLL clock ready flag)。PLL 锁定后由硬件置‘1’。 0:PLL 未锁定; 1:PLL 锁定。 PLLON:PLL 使能(PLL enable)。由软件置‘1’或清零。当进入待机和停止 模式时,该位由硬件清零。当 PLL 时钟被用作或被选择将要作为系统时钟时, 该位不能被清零。 0:PLL 关闭; 1:PLL 使能。 保留,始终读为 0。 CSSON:时钟安全系统使能(Clock security system enable)。由软件置‘1’或 清零以使能时钟监测器。 0:时钟监测器关闭; 1:如果外部 4-16MHz 振荡器就绪,时钟监测器开启。 HSEBYP:外部高速时钟旁路(External high-speed clock bypass)。在调试模式 下由软件置‘1’或清零来旁路外部晶体振荡器。只有在外部 4-16MHz 振荡器 关闭的情况下,才能写入该位。 0:外部 4-16MHz 振荡器没有旁路; 1:外部 4-16MHz 外部晶体振荡器被旁路。 HSERDY:外部高速时钟就绪标志(External high-speed clock ready flag)。由硬 件置‘1’来指示外部 4-16MHz 振荡器已经稳定。在 HSEON 位清零后,该位 需要 6 个外部 4-16MHz 振荡器周期清零。 0:外部 4-16MHz 振荡器没有就绪; 1:外部 4-16MHz 振荡器就绪。 HSEON:外部高速时钟使能(External high-speed clock enable)。由软件置‘1’ 或清零。当进入待机和停止模式时,该位由硬件清零,关闭 4-16MHz 外部振荡 器。当外部 4-16MHz 振荡器被用作或被选择将要作为系统时钟时,该位不能被 清零。 0:HSE 振荡器关闭; 1:HSE 振荡器开启。 HSICAL[7:0]:内部高速时钟校准(Internal high-speed clock calibration)。系统 启动时,这些位被自动初始化。 HSITRIM[4:0]:内部高速时钟调整(Internal high-speed clock trimming)。由软 件写入来调整内部高速时钟,它们被叠加在 HSICAL[7:0]数值上。这些位在
STM32F105xx 107xx 数据手册
参照2011年8月 STM32F105xx 107xx数据手册 英文第6版 (本译文仅供参考,如有翻译错误,请以英文原稿为准)
STM32F105xx 107xx数据手册
目录
1 2 介绍 ............................................................................................................................................................ 4 规格说明 ..................................................................................................................................................... 5 2.1 2.2 2.3 器件一览 ......................................................................................................................................... 5 系列之间的全兼容性 ....................................................................................................................... 6 概述 .............................................................................................
stm32_fmc底层原理_概述及解释说明
stm32 fmc底层原理概述及解释说明1. 引言1.1 概述本篇长文旨在对STM32 FMC底层原理进行概述和解释说明。
STM32 FMC(Flexible Memory Controller)是ST公司推出的一款用于嵌入式应用的灵活内存控制器,它能够实现对多种外部存储器接口的支持,并提供高速数据传输和处理能力。
了解FMC的底层原理对于开发者来说非常重要,因为它涉及到系统的性能、稳定性以及扩展能力等方面。
1.2 文章结构本文主要分为引言、正文、STM32 FMC底层原理解释说明、案例分析和结论五个部分。
其中,引言部分将介绍文章的背景和目的,正文部分将详细介绍与FMC相关的知识和技术,包括FMC概述、架构和功能以及工作原理等内容。
案例分析部分将通过三个不同实例来展示如何使用STM32 FMC,最后结论部分对FMC底层原理进行总结,并展望其未来发展。
1.3 目的本文的目的有两个方面:首先是向读者介绍STM32 FMC底层原理相关知识,让读者了解其重要性和应用领域,以及如何充分利用其功能和特性。
其次是通过案例分析展示具体的应用场景和实际操作步骤,帮助读者更好地理解和掌握STM32 FMC的使用方法。
本文将提供全面而系统的内容,希望能够为读者提供关于STM32 FMC底层原理的详细了解,促进其在实际开发过程中的应用与创新。
2. 正文:正文部分旨在对STM32 FMC(Flexible Memory Controller)的底层原理进行详细的说明和概述。
本节将介绍FMC的作用、架构和功能,并解释FMC的工作原理。
2.1 FMC概述:STM32 FMC是一种强大灵活的存储器控制器,广泛应用于STM32单片机系列中。
它支持多种外部存储设备,如SDRAM、NOR Flash、SRAM等,并提供了丰富的接口和功能以实现高效数据交互。
2.2 FMC架构和功能:FMC采用了独立片外总线(Flexible External Bus Interface)结构,在STM32芯片上与其他系统模块分离开来,以充分发挥其性能优势。
stm32f373cct6编程手册
stm32f373cct6编程手册STM32F373CCT6是一款32位高性能微控制器,广泛应用于各种嵌入式系统中。
本文将为您提供STM32F373CCT6编程手册的概述和重要内容。
1. 简介STM32F373CCT6是意法半导体(ST Microelectronics)生产的一款ARM Cortex-M4内核的微控制器。
它具有高性能、低功耗和丰富的外设,适用于工业控制、消费电子、自动化和通信等领域。
2. STM32F373CCT6编程环境为了编程STM32F373CCT6,您需要准备以下开发工具:- STM32CubeIDE: 一个集成开发环境,用于编写、编译和调试STM32F373CCT6的代码。
- STM32CubeMX: 一个图形化配置工具,用于生成初始化代码和设置外设的参数。
- ST-Link调试器: 用于将生成的代码下载到STM32F373CCT6中,并调试运行程序。
3. 编程基础在开始编程STM32F373CCT6之前,您需要掌握以下基本知识:- C语言编程: 熟悉C语言的语法、数据类型和常用的编程结构。
- 寄存器操作: 了解如何通过读写寄存器来访问和配置STM32F373CCT6的硬件资源。
- 中断处理: 理解中断的概念和处理中断的方法,以处理外部事件。
- 时钟和时序: 理解STM32F373CCT6的时钟系统和时序要求,以确保正确的操作。
4. 编程手册内容STM32F373CCT6编程手册主要包括以下内容:- 芯片架构和内部模块介绍: 描述STM32F373CCT6的内部组成和各个模块的功能,例如GPIO、UART、SPI等。
- 寄存器映射和编程接口: 列出各个寄存器的地址和编程接口,用于配置和控制每个模块。
- 中断和异常处理: 解释中断和异常的特性和处理方法,包括NVIC(Nested Vector Interrupt Controller)的使用。
- 时钟和时序管理: 详细说明STM32F373CCT6的时钟系统和相关的时序要求,以确保系统正常运行。
stm32f407 backup sram用法
stm32f407 backup sram用法STM32F407 Backup SRAM的用法STM32F407是一款高性能的ARM Cortex-M4微控制器,配备有强大的外设和丰富的存储器资源,其中包括Backup SRAM(备份静态随机存取存储器)。
Backup SRAM在电源断电时能够保存数据,因此非常适合用于存储关键数据和状态。
Backup SRAM的容量通常较小,仅有几KB,但它具有低功耗和快速读写的特点。
以下是使用STM32F407 Backup SRAM的几个步骤:1. 初始化Backup SRAM:通过设置相关的寄存器和位字段,来使能并配置Backup SRAM。
可以使用STM32Cube软件包提供的库函数来完成初始化过程。
2. 数据读写:一旦Backup SRAM初始化完成,就可以开始对其进行数据读写操作。
读写操作使用备份域寄存器(BKP)来实现。
通过指定备份寄存器的地址和数据,可以将数据写入Backup SRAM,或从Backup SRAM中读取数据。
请注意,备份寄存器是16位宽的。
3. 数据保护:为了保证数据的完整性和可靠性,可以使用CRC(循环冗余校验)来校验Backup SRAM中存储的数据。
CRC可以检测到数据的变化并执行错误纠正。
4. 低功耗模式:Backup SRAM可以在低功耗模式下工作,以节省能源。
可以使用待机模式或备份模式来实现低功耗操作。
Backup SRAM在许多应用中都有广泛的用途,例如嵌入式系统中的关键数据存储,工业自动化中的状态保存,以及智能电表中的电能计量等。
通过充分了解STM32F407 Backup SRAM的用法,可以更好地应用于实际的项目开发和产品设计中。
STM32F407 Backup SRAM是一种非常有用的存储器资源,它能在电源断电时保持数据,并具有低功耗和快速读写的特点。
合理地使用Backup SRAM可以提高系统的可靠性和稳定性,适用于各种应用场景。
STM32F10xxx 寄存器--详细说明
1位(RWU--Receiver wakeup):接收唤醒。该位用来决定是否把USART置于静默模式。该位由软件设置或清除。当唤醒序列到来时,硬件也会将其清零。 定义:0(接收器处于正常工作模式),1(接收器处于静默模式)。【注意】:1.在把USART置于静默模式(设置RWU位)之前,USART要已经先接收了一个数据字节 否则在静默模式下,不能被空闲总线检测唤醒。2.当配置成地址标记检测唤醒(WAKE位=1),在RXNE位被置位时,不能用软件修改RWU位。
DIV_Mantissa[11:0]
DIV_Fraction[3:0]
15-4位(DIV_Mantissa[11:0]--Mantissa of USARTDIV):USARTDIV的整数部分。这12位定义了USART分频器除法因子(USARTDIV)的整数部分。 3-0位(DIV_Fraction[3:0]--Fraction of USARTDIV):USARTDIV的小数部分。这4位定义了USART分频器除法因子(USARTDIV)的小数部分。
USART(Universal Synchronous Asynchronous Receiver Transmitter
USART_SR/DR/BRR/CR1-3/GTPR--7
【1】 【3】 【7】 SR BRR GTPR Status Register 状态寄存器 【2】 【4-6】 DR CR1-3
USART_DR(Data Register 数据寄存器) Addr offset: 0x04 Reset value: Undefined
31 30 29 28 27 26 25 24 保留 15 2 14 13 12 保留 11 10 9 8 7 6 5 4 DR[8:0] 3 2 1 23 22 21 20 19 18 17
STM32F030_USART详细配置说明_stm32f030串口
STM32F030_USART详细配置说明_stm32f030串口串口是我们在编程时最经常用的问题,通常用它来发送和接收数据,同时它还有另外一个功能——检测程序是否正确,stm32f030系类单片机自然而然少不了串口,本文主要介绍STM32F030_USART的几个常用的简单应用和它的功能配置。
1、概述通用同步异步收发器(USART)提供了一个灵活的方式,使 MCU 可以与外部设备通过工业标准 NRZ 的形式实现全双工异步串行数据通讯。
USART 可以使用分数波特率发生器,提供了超宽的波特率设置范围。
可以使用DMA 实现多缓冲区设置,从而能够支持高速数据通讯•全双工,异步通讯•可配置的 16 倍或 8 倍过采样方法提供速度和时钟容忍度间的灵活选择•小数波特率发生器•自动波特率检测•单线半双工通讯•停止位个数可设置 - 支持 1 个或 2 个停止位•十四个中断源和中断标志•- CTS 切换•- LIN 断开检测•-发送数据寄存器空•-发送完成•-接收数据寄存器满•-检测到线路空闲•-溢出错误•-帧错误•-噪声错误•-奇偶错误•-地址 / 字符匹配•-接收超时中断•-块结束中断•-从 Stop 模式唤醒•校验控制:•-发送奇偶校验位•-接收数据的奇偶检查2、准备工作1.认真阅读STM32F030x数据手册2.了解USART的运行原理3.查看STM32F030开发板原理图和封装图4.电脑装有keil等编译软件3、寄存器说明控制寄存器 1(USART_CR1)控制寄存器 2(USART_CR2)控制寄存器 3(USART_CR3)波特率寄存器( USART_BRR)保护时间和预分频器寄存器( USART_GTPR)中断和状态寄存器(USART_ISR)中断标志清除寄存器( USART_ICR)数据接收寄存器( USART_RDR)数据发送寄存器( USART_TDR)4、USART配置ART原理图ART代码分析3.①USART初始化void Usart_Init(uint32_t BaudRate){ USART_InitTypeDef USART_InitStruct; GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE); /* PA9-TX-推挽复用PA10-RX-浮空输入/上拉输入*/ GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1); GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF;GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF;GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;GPIO_Init(GPIOA,&GPIO_InitStruct); /*USART基本配置*/ USART_ART_BaudRate=BaudRate;USART_ART_HardwareFlowControl=USART_Hardwa reFlowControl_None;USART_ART_Mode=USART_Mode_Tx|USART_Mode_ Rx; USART_ART_Parity=USART_Parity_No; USART_ART_StopBits=USART_StopBits_1;USART_ART_WordLength=USART_WordLength_8b; USART_Init(USART1,&USART_InitStruct); /*使能接收中断*/ NVIC_Config(USART1_IRQn); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); USART_Cmd(USART1,ENABLE);}②USART发送数据void USART1_SendBuf(uint8_t *pBuf, uint32_tu32Len){ while(u32Len--) { /*判断发送缓冲区是否为空*/ while(!USART_GetFlagStatus(USART1,USART_FLAG_TXE)); USART_SendData(USART1,*pBuf++); }}③USART接收数据uint8_t USART1_ReciverBuf(void){ /*判断接收缓冲区是否为非空*/ while(!USART_GetFlagStatus(USART1,USART_FLAG_RXNE)); return USART_ReceiveData(USART1);}3 . printf函数重映射int fputc(int ch, FILE*f){ USART_SendData(USART1,(uint8_t)ch); while (!USART_GetFlagStatus(USART1, USART_FLAG_TXE)); return (ch);}5、总结在进行USART的printf函数的使用时,一定要记得将微库打开:点击keil工具栏的小魔术棒符号,进入Target配置,勾选Use MicroLib。
stm32f429数据手册
stm32f429数据手册一、导言对于嵌入式开发者来说,芯片的数据手册是一本非常重要的工具书。
其中,STM32F429数据手册堪称StMicroelectronics公司旗下MCU产品系列中的精华之作。
本文将深入探讨STM32F429数据手册,介绍其内容以及如何使用。
二、概述STM32F429是一款高性能、低功耗的32位ARM Cortex-M4微控制器。
数据手册提供了有关芯片的各种技术规格、功能介绍、外设接口等信息。
通过阅读数据手册,开发者可以深入了解芯片的架构和特性,为开发过程提供全面准确的参考。
三、产品特点1.性能卓越STM32F429运行频率高达180MHz,拥有强大的运算能力。
通过浏览数据手册,我们可以了解到芯片的内核、存储器以及时钟配置等方面的详细信息。
2.丰富的外设芯片支持多种通信接口,如UART、SPI、I2C等。
此外,它还拥有USB、SDIO、CAN等高级外设接口,方便连接外部设备。
3.多样的功耗模式数据手册中提供了关于芯片不同功耗模式的详细说明。
通过配置相应的寄存器,我们可以将芯片在不同场景下的功耗控制在合理范围内,从而节约能源并延长电池寿命。
四、引脚布局数据手册中包含了芯片的引脚图及其功能说明。
开发者可以通过阅读数据手册了解每个引脚的功能,并根据需要进行连接。
五、模块详解1.系统和存储器模块在这个模块中,我们可以了解到关于芯片的系统时钟、复位源、存储器类型、位带模式等方面的详细信息。
通过合理配置这些参数,我们可以优化系统性能和资源利用。
2.中断和异常模块芯片中的中断控制器可以管理多个中断源,并按照优先级对中断进行处理。
数据手册中提供了中断优先级分组规则、清除中断标志位的方法等详细说明,有助于开发者合理处理中断。
3.通信接口模块该模块详细介绍了芯片支持的各种通信接口的工作原理和使用方法。
例如,数据手册中对SPI接口的时序图、I2C接口的总线速率计算公式等进行了清晰的解释,为开发者提供了技术支持。
STM32F407VET6底层驱动之定时器寄存器封装
STM32F407VET6底层驱动之定时器寄存器封装 因为在项⽬中引⼊了操作系统,所以使⽤定时器的地⽅不多,因此这⾥只⽤了三个定时器,每个定时器可以注册⼗个任务。
1、定时器封装接⼝如下: a、定时器初始化:unsigned int tim_init(eTimType_t tim, unsigned short interval, unsigned char prio) b、定时器禁能:unsigned int tim_stop(eTimType_t tim) c、定时器重新开始计时:unsigned int tim_restart(eTimType_t tim) d、定时器任务注册:unsigned int tim_task_append(void (*pfunc)(void *), const void *parg, unsigned int interval, eTimType_t tim) e、定时器任务删除:unsigned int tim_task_delete(void (*pfunc)(void *), eTimType_t tim) f、定时器任务禁能:unsigned int tim_task_stop(void (*pfunc)(void *), eTimType_t tim) g、定时器任务使能:unsigned int tim_task_start(void (*pfunc)(void *), eTimType_t tim)2、定时器模块对外开放的枚举类型如下:// 定时器类型typedef enum _eTimType{ eTIM2, eTIM3, eTIM4, eTIM_COUNT, // 注:这不是定时器类型,不可删除,仅⽤做数量统计}eTimType_t;#define TIM_TASK_COUNT ((unsigned char)10) // 每个定时器⽀持的任务个数3、定时器模块代码实现如下:// 定时器任务数据结构#pragma pack(push, 1)typedef struct _sTimTaskList{ bool enable; // 任务使能标志位 unsigned int task_count; // 定时任务计数器 unsigned int tim_interval; // 定时中断时间间隔,单位:微秒 unsigned int task_interval; // 定时任务执⾏时间间隔,单位:毫秒 void (*pCallBack)(void *); // 定时器回调函数指针 void *parg; // 定时器回调函数形参}sTimTaskList_t;#pragma pack(pop)// 定时器任务链表(STM32F407最多⽀持8个定时器)static sTimTaskList_t sTimTaskList[eTIM_COUNT][TIM_TASK_COUNT] = {0};/********************************************************* 函数功能:定时器中断优先级设置(组4),注意优先级不能超过设定的组的范围否则会有意想不到的错误。
stm32f寄存器算法
stm32f寄存器算法STM32F系列微控制器是STMicroelectronics公司生产的一系列ARM Cortex-M核的微控制器。
对于这些微控制器,我们通常需要操作其内部寄存器以实现各种功能,如配置时钟、配置GPIO、读写串口等。
以下是一个基本的STM32F寄存器操作算法:1. **初始化**:首先,你需要了解你要操作的寄存器的地址和位域。
这些信息通常可以在STM32的参考手册和数据手册中找到。
2. **读取寄存器**:使用适当的函数或方法读取寄存器的值。
例如,如果你正在使用STM32 HAL库,你可以使用`HAL_READ_REGISTER()`函数。
3. **设置/清除位**:使用位操作来设置或清除寄存器中的特定位。
例如,你可以使用`|=`和`&=`操作符来设置或清除特定位。
4. **写入寄存器**:使用适当的函数或方法将修改后的值写回到寄存器中。
例如,如果你正在使用STM32 HAL库,你可以使用`HAL_WRITE_REGISTER()`函数。
5. **验证**:最后,验证你的更改是否已经正确应用。
这可能涉及到再次读取寄存器的值,并检查是否与预期一致。
这是一个简单的示例,用于设置STM32F微控制器的GPIO引脚模式:```c#include "stm32f4xx_hal.h"void set_gpio_mode(uint32_t pin, uint32_t mode) {// 读取GPIO模式的寄存器uint32_t reg = HAL_READ_REGISTER(GPIO_MODE_REGISTER, pin);// 设置或清除模式位reg &= ~(MODE_MASK << MODE_OFFSET); // 清除模式位reg |= (mode << MODE_OFFSET); // 设置新的模式// 写回GPIO模式的寄存器HAL_WRITE_REGISTER(GPIO_MODE_REGISTER, pin, reg);}```请注意,上述代码只是一个示例,并不能直接在STM32F微控制器上运行。
STM32F207中文数据手册分解
Page 1基于ARM内核的32位MCU,150DMIPs,高达1MB Flash/128+4KB RAM,USB On-The-Go Full-speed/High-speed,以太网,17 TIMs,3 ADCs,15个通信&摄像头接口主要特性:内核:使用ARM 32位Cortex™-M3 CPU,自适应实时加速器(ART加速器™)可以让程序在Flash中以最高120MHz频率执行时,能够实现零等待状态的运行性能,内置存储器保护单元,能够实现高达150DMIPS/1.25DMIPS/MHz(Dhrystone 2.1)性能。
存储器:高达1M字节的Flash存储器512字节的动态口令存储器高达128+4K字节的SRAM灵活的静态存储控制器,支持CF卡、SRAM、PSRAM、NOR和NAND存储器并行LCD接口,兼容8080/6800模式时钟、复位和电源管理:1.65~3.6V用于供电和I/O管脚上电复位、掉电复位、可编程电压监测器和欠压复位4~26MHz晶体振荡器内嵌经出厂调校的16MHz RC振荡器(25 °C下精度为1%)带校准功能的32kHz RTC振荡器内嵌带校准功能的32kHz的RC振荡器低功耗:睡眠、停机和待机模式VBAT为RTC,20×32位后备寄存器,以及可选的4KB后备SRAM供电3×12位A/D转换器,0.5μs转换时间:多达24个输入通道在三倍间插模式下转换速率高达6MSPS2×12位D/A转换器通用DMA:16组带集中式FIFO和支持分页的DMA控制器多达17个定时器:多达12个16位和2个32位的定时器,频率可达120MHz,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入调试模式:串行单线调试(SWD)和JTAG接口Cortex-M3内嵌跟踪模块(ETM)多达140个具有中断功能的I/O端口:多达136个快速I/O端口,其频率可达60MHz多达138个耐5V的I/O端口多达15个通信接口:多达3个I2C接口(支持SMBus/PMBus)多达4个USART接口和2个UART接口(传输速率7.5 Mbit/s,支持ISO7816,LIN,IrDA接口和调制解调控制)多达3个SPI接口(传输速度可达30 Mbit/s),其中2个可复用为I2S接口,通过音频PLL或外部PLL来实现音频类精度2个CAN接口(2.0B 版本)SDIO接口高级互连功能:带有片上物理层的USB 2.0全速设备/主机/On-The-Go控制器带有专用DMA,片上全速PHY和ULPI的USB 2.0高速/全速设备/主机/On-The-Go 控制器带有专用DMA的10/100 以太网MAC.,支持硬件IEEE 1588v2(MII/RMII)8到14bit并行摄像头接口,最高达48Mbyte/sCRC计算单元96位唯一ID模拟真正的随机数发生器Page 2目录略Page 3目录略Page 4目录略Page 5表格目录略Page 6表格目录略Page 7插图目录略Page 8插图目录略Page 9插图目录略Page 101 简介这个数据手册给出了STM32F205xx和STM32F207xx系列微控制器的说明书。
【PM0042】STM32F10xxx闪存编程参考手册
STMF串口通信寄存器设置
STMF串口通信寄存器设置————————————————————————————————作者:————————————————————————————————日期:STM32f103寄存器配置串口通信主程序接收数据,上位机串口发送的数据已回车键结束,单片机接之后将所有数据发回。
#include "stm32f10x_lib.h"#include "sys.h"//#include "ioshezhi_jb.h"unsigned char res; //串口接受数据临时存储unsigned char enddd=0; //接受完成标志unsigned int len=0; //数据长度unsigned char shubiao[200]; //数据存储表,限制长度为200字节unsigned int t; //通信数据操作for循环控制unsigned long i=0;int main(){Stm32_Clock_Init(); //系统时钟设置// io_init(); //io时钟以及输入输出选项设置RCC->APB2ENR|=0x4000; //开启USART1时钟;○1RCC->APB2ENR|=0x0004; //开启GPIOA口时钟;○2GPIOA->CRH&=0xfffff00f; //PA9、PA10IO设置清零GPIOA->CRH|=0x000008b0; //P9推挽输出,max50MHZ;P10上拉输入RCC->APB2RSTR|=0x4000; //串口复位○3RCC->APB2RSTR&=0xbfff; //串口停止复位○4//USART1->BRR=0x1d4c; //主频72M时,波特率为9600○5 USART1->BRR=0x0ea6; //主频36M时,波特率为9600// USART1->BRR=0x0139; //主频36M时,波特率为115200//USART1->CR1|=0x200c; //串口开,发送长度8字节,无校验,发送开,接收开;USART1->CR1|=0x340c; //串口开,发送长度9字节,偶校验,发送开,接收开;//(有效数据还是8位长度)○6while (1){//shuru_init(); //计算输入口的值if(0x0020==((USART1->SR)&0x0020)) //如果接受到了一个字节的数据○7{ res=USART1->DR; //读取串口寄存器数据并存在临时位置res○8if(res!=0x0a){shubiao[len]=res;len++;} //如果该数据不是回车符的最后一个//字节0x0a,则存入数表else{if(shubiao[len-1]==0x0d){enddd=1;len--;};}; };//如果是0x0a,则判断前一个字符是不是0x0d,(回车符ASCII码为0x0a0d)//是的话则标记接受完成标志eddd并删掉已接受到的前一个字节的数据if(enddd==1) //如果接受完成了{for(t=0;t<len;t++) //依次发送数表中的数据{ USART1->DR=shubiao[t]; //○9while((USART1->SR&0X40)==0); //等待当前字节数据发送结束○10};enddd=0;for(t=0;t<=len;t++){shubiao[t]=0;}; //将数表中数据清零len=0;};i++;// if(i==20000){PC151;}; //程序运行状态指示灯// if(i==40000){PC150;i=0;};};}寄存器注释:○1、○2时钟使能寄存器RCC->APB2ENR参考不完全手册P108页面需要开启的PORTA和USART1的时钟使能位,分别在bit2 和bit14,只要将这两位置1 就可以使能PORTA和USART1的时钟了。
stm32f407 引脚复用原理
stm32f407 引脚复用原理STM32F407是意法半导体(STMicroelectronics)推出的一款高性能ARM Cortex-M4内核的微控制器。
在STM32F407微控制器中,引脚复用是一项重要的功能,它允许多个功能模块共用同一个引脚,从而提高了芯片的功能灵活性和利用率。
引脚复用的原理是通过配置复用功能寄存器(AFR)来实现的。
STM32F407微控制器的每个引脚都有一个对应的AFR寄存器,用于选择该引脚的功能模块。
AFR寄存器被划分为两个字节,每个引脚占用4位。
其中低4位用于配置引脚的复用功能,高4位用于配置引脚的复用编号。
具体来说,引脚复用的过程如下:1. 配置GPIO模式:首先需要将引脚设置为复用模式,以便选择对应的功能模块。
可以通过GPIO模式寄存器(MODER)来实现,将引脚设置为复用模式。
2. 配置复用功能:根据需要选择相应的复用功能,比如串口通信、定时器、SPI等。
可以通过AFR寄存器的低4位来选择复用功能。
3. 配置复用编号:对于每个复用功能,都有一个特定的复用编号,用于区分不同的功能模块。
可以通过AFR寄存器的高4位来选择复用编号。
4. 配置其他参数:根据具体需求,可能还需要配置引脚的上拉/下拉、输出驱动能力等其他参数。
引脚复用的好处是可以在有限的引脚数量下实现更多的功能模块,提高了系统的灵活性和可扩展性。
但同时也需要注意一些问题:1. 引脚复用会增加系统的复杂度,需要仔细配置每个引脚的复用功能和编号,避免冲突和错误。
2. 不同的功能模块可能对引脚的电气特性有不同的要求,需要根据实际情况进行合理配置,以确保系统的稳定性和可靠性。
3. 引脚复用还可能引入信号干扰和串扰问题,需要进行相应的电路和布线设计来解决。
总的来说,引脚复用是STM32F407微控制器功能丰富和资源利用率高的重要特性之一。
通过合理配置引脚的复用功能和编号,可以实现多种功能模块的共用,提高系统的性能和可扩展性。
STMf寄存器说明
CRC寄存器(一种算法,用以确认发送过程中是否出错)数据寄存器:CRC_DR可读写,复位值:0xFFFFFFFF;独立数据寄存器:CRC_IDR临时存放任何8位数据;控制寄存器:CRC_CR只零位可用,用于复位CRC,对其写1复位,由硬件清零;PWR电源控制(控制和管理电源)电源控制寄存器:PWR_CR控制选择系统的电源电源控制/状态寄存器:PWR_CSR睡眠或待机模式电源控制BKP备份寄存器(用以控制和管理备份数据)备份数据寄存器x:BKP_DRx(x=1…10)10个16位数据寄存器用以存储用户数据RTC时钟校准寄存器:BKP_RTCCR控制实时时钟的运行备份控制寄存器:BKP_CR控制选择清除备份数据的类型备份控制/状态寄存器:BKP_CSR对侵入事件的控制RCC寄存器(时钟的选择、复位、分频)时钟控制寄存器(RCC_CR)各时钟状态显示时钟配置寄存器(RCC_CFGR)时钟分频时钟中断寄存器(RCC_CIR)控制就绪中断使能与否APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR) 复位APB各功能寄存器AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制备份域控制寄存器(RCC_BDCR)备份域时钟控制控制/状态寄存器(RCC_CSR)复位标志寄存器AHB外设时钟复位寄存器(RCC_AHBRSTR)复位以太网MAC模块时钟配置寄存器2(RCC_CFGR2)时钟选择与分频GPIO寄存器(设置端口的功能)端口配置低寄存器(GPIOx_CRL)(x=A..E)端口配置高寄存器(GPIOx_CRH)(x=A..E)端口输入数据寄存器(GPIOx_IDR)(x=A..E)只读数据,读出IO口的状态端口输出数据寄存器(GPIOx_ODR)(x=A..E)可读可写端口位设置/清除寄存器(GPIOx_BSRR)(x=A..E)端口位清除寄存器(GPIOx_BRR)(x=A..E)将某一端口清零端口配置锁定寄存器(GPIOx_LCKR)(x=A..E)用于保护端口配值AFIO寄存器(将端口重映射到其它端口用以端口的第二功能)事件控制寄存器(AFIO_EVCR)选择时间输出端口与引脚复用重映射和调试I/O配置寄存器(AFIO_MAPR) 各寄存器功能引脚重映射选择外部中断配置寄存器1(AFIO_EXTICR1) 外部中断配置寄存器2(AFIO_EXTICR2) 外部中断配置寄存器3(AFIO_EXTICR3) 外部中断配置寄存器4(AFIO_EXTICR4) 外部中断引脚重映射选择EXTI寄存器(外部中断控制器)中断屏蔽寄存器(EXTI_IMR)用于屏蔽或开放某一引脚的中断请求事件屏蔽寄存器(EXTI_EMR)用于屏蔽或开放某一引脚的事件上升沿触发选择寄存器(EXTI_RTSR)禁止或允许某一引脚的上升沿触发下降沿触发选择寄存器(EXTI_FTSR)禁止或允许某一引脚的下降沿触发软件中断事件寄存器(EXTI_SWIER)控制某引脚的软件中断挂起寄存器(EXTI_PR)显示某线的引脚有无触发请求DMA寄存器(脱离cpu的传输模式)DMA中断状态寄存器(DMA_ISR)中断情况标志器DMA中断标志清除寄存器(DMA_IFCR)手动清除标志位DMA通道x配置寄存器(DMA_CCRx)(x=1…7)传输控制寄存器DMA通道x传输数量寄存器(DMA_CNDTRx)(x=1…7)数据传输剩余数量存储器DMA通道x外设地址寄存器(DMA_CPARx)(x=1…7)设置数据传输外设源或目标地址DMA通道x存储器地址寄存器(DMA_CMARx)(x=1…7)设置存储器地址ADC寄存器(模数转换器)ADC状态寄存器(ADC_SR)AD转换标志寄存器ADC控制寄存器1(ADC_CR1)ADC控制寄存器2(ADC_CR2)设置AD转换的各种功能ADC采样时间寄存器1(ADC_SMPR1)ADC采样时间寄存器2(ADC_SMPR2)某通道选择固定的采样时间ADC注入通道数据偏移寄存器x(ADC_JOFRx)(x=1..4) 设置数据偏移量ADC看门狗高阀值寄存器(ADC_HTR)设置模拟看门狗的阀值高限ADC看门狗低阀值寄存器(ADC_LRT)设置模拟看门狗的阀值低限ADC规则序列寄存器1(ADC_SQR1)ADC规则序列寄存器2(ADC_SQR2)ADC规则序列寄存器3(ADC_SQR3)设置ADC顺序ADC注入序列寄存器(ADC_JSQR)ADC注入数据寄存器x(ADC_JDRx)(x=1..4)ADC数据结果寄存器ADC规则数据寄存器(ADC_DR)DAC寄存器(数模转换器)DAC控制寄存器(DAC_CR)DAC软件触发寄存器(DAC_SWTRIGR)DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2)双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD)双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD)双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD) DAC通道1数据输出寄存器(DAC_DOR1)DAC通道2数据输出寄存器(DAC_DOR2)TIM1和TIM8寄存器(高级的定时计数寄存器)TIM1和TIM8控制寄存器1(TIMx_CR1)TIM1和TIM8控制寄存器2(TIMx_CR2)TIM1和TIM8从模式控制寄存器(TIMx_SMCR)TIM1和TIM8DMA/中断使能寄存器(TIMx_DIER)TIM1和TIM8状态寄存器(TIMx_SR)TIM1和TIM8事件产生寄存器(TIMx_EGR)TIM1和TIM8捕获/比较模式寄存器1(TIMx_CCMR1) TIM1和TIM8捕获/比较模式寄存器2(TIMx_CCMR2) TIM1和TIM8捕获/比较使能寄存器(TIMx_CCER)TIM1和TIM8计数器(TIMx_CNT)TIM1和TIM8预分频器(TIMx_PSC)TIM1和TIM8自动重装载寄存器(TIMx_ARR)TIM1和TIM8重复计数寄存器(TIMx_RCR)TIM1和TIM8捕获/比较寄存器1(TIMx_CCR1)TIM1和TIM8捕获/比较寄存器2(TIMx_CCR2)TIM1和TIM8捕获/比较寄存器3(TIMx_CCR3) TIM1和TIM8捕获/比较寄存器(TIMx_CCR4) TIM1和TIM8刹车和死区寄存器(TIMx_BDTR) TIM1和TIM8DMA控制寄存器(TIMx_DCR)TIM1和TIM8连续模式的DMA地址(TIMx_DMAR)TIMx寄存器(控制定时器)控制寄存器1(TIMx_CR1)控制寄存器2(TIMx_CR2)从模式控制寄存器(TIMx_SMCR)DMA/中断使能寄存器(TIMx_DIER)状态寄存器(TIMx_SR)事件产生寄存器(TIMx_EGR)捕获/比较模式寄存器1(TIMx_CCMR1)捕获/比较模式寄存器2(TIMx_CCMR2)捕获/比较使能寄存器(TIMx_CCER)计数器(TIMx_CNT)预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器1(TIMx_CCR1)捕获/比较寄存器2(TIMx_CCR2)捕获/比较寄存器3(TIMx_CCR3)捕获/比较寄存器4(TIMx_CCR4)DMA控制寄存器(TIMx_DCR)连续模式的DMA地址(TIMx_DMAR)TIM6和TIM7寄存器(基本定时计数器)TIM6和TIM7控制寄存器1(TIMx_CR1)TIM6和TIM7控制寄存器2(TIMx_CR2)TIM6和TIM7DMA/中断使能寄存器(TIMx_DIER)TIM6和TIM7状态寄存器(TIMx_SR)TIM6和TIM7事件产生寄存器(TIMx_EGR)TIM6和TIM7计数器(TIMx_CNT)TIM6和TIM7预分频器(TIMx_PSC)TIM6和TIM7自动重装载寄存器(TIMx_ARR)RTC寄存器(实时时钟)RTC控制寄存器高位(RTC_CRH)RTC控制寄存器低位(RTC_CRL)16.4.3RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 16.4.4RTC预分频器余数寄存器(RTC_DIVH/RTC_DIVL) RTC计数器寄存器(RTC_CNTH/RTC_CNTL)16.4.6RTC闹钟寄存器(RTC_ALRH/RTC_ALRL)IWDG寄存器(独立看门狗,用以监督系统硬件的正常运行)键寄存器(IWDG_KR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)状态寄存器(IWDG_SR)窗口看门狗(WWDG)寄存器(用以监督软件的正常运行)控制寄存器(WWDG_CR)配置寄存器(WWDG_CFR)状态寄存器(WWDG_SR)FSMC寄存器(可变静态存储控制器)NOR闪存和PSRAM控制器寄存器SRAM/NOR闪存片选控制寄存器1…4(FSMC_BCR1…4)SRAM/NOR闪存片选时序寄存器1…4(FSMC_BTR1…4)SRAM/NOR闪存写时序寄存器1…4(FSMC_BWTR1…4)NAND闪存和PC卡控制器寄存器PC卡/NAND闪存控制寄存器2..4(FSMC_PCR2..4)FIFO状态和中断寄存器2..4(FSMC_SR2..4)通用存储空间时序寄存器2..4(FSMC_PMEM2..4)属性存储空间时序寄存器2..4(FSMC_PATT2..4)I/O空间时序寄存器4(FSMC_PIO4)ECC结果寄存器2/3(FSMC_ECCR2/3)SDIO寄存器(数据传输控制器)SDIO电源控制寄存器(SDIO_POWER)SDIO时钟控制寄存器(SDIO_CLKCR)SDIO参数寄存器(SDIO_ARG)SDIO命令寄存器(SDIO_CMD)SDIO命令响应寄存器(SDIO_RESPCMD) SDIO响应1..4寄存器(SDIO_RESPx) SDIO数据定时器寄存器(SDIO_DTIMER) SDIO数据长度寄存器(SDIO_DLEN)SDIO数据控制寄存器(SDIO_DCTRLSDIO数据计数器寄存器(SDIO_DCOUNT) SDIO状态寄存器(SDIO_STA)SDIO清除中断寄存器(SDIO_ICR)SDIO中断屏蔽寄存器(SDIO_MASK) SDIOFIFO计数器寄存器(SDIO_FIFOCNT) SDIO数据FIFO寄存器(SDIO_FIFO)USB寄存器(usb传输控制器)通用寄存器USB控制寄存器(USB_CNTR)USB中断状态寄存器(USB_ISTR)USB帧编号寄存器(USB_FNR)USB设备地址寄存器(USB_DADDR)USB分组缓冲区描述表地址寄存器(USB_BTABLE)端点寄存器USB端点n寄存器(USB_EPnR),n=[0..7]缓冲区寄存器发送缓冲区地址寄存器n(USB_ADDRn_TX)发送数据字节数寄存器n(USB_COUNTn_TX)接收缓冲区地址寄存器n(USB_ADDRn_RX)接收数据字节数寄存器n(USB_COUNTn_RX)CAN寄存器(邮箱控制寄存器)CAN控制和状态寄存器CAN主控制寄存器(CAN_MCR)CAN主状态寄存器(CAN_MSR)CAN发送状态寄存器(CAN_TSR)CAN接收FIFO0寄存器(CAN_RF0R)CAN接收FIFO1寄存器(CAN_RF1R)CAN中断使能寄存器(CAN_IER)CAN错误状态寄存器(CAN_ESR)CAN位时序寄存器(CAN_BTR)CAN邮箱寄存器发送邮箱标识符寄存器(CAN_TIxR)(x=0..2)发送邮箱数据长度和时间戳寄存器(CAN_TDTxR)(x=0..2)发送邮箱低字节数据寄存器(CAN_TDLxR)(x=0..2)发送邮箱高字节数据寄存器(CAN_TDHxR)(x=0..2)接收FIFO邮箱标识符寄存器(CAN_RIxR)(x=0..1)接收FIFO邮箱数据长度和时间戳寄存器(CAN_RDTxR)(x=0..1)接收FIFO邮箱低字节数据寄存器(CAN_RDLxR)(x=0..1)接收FIFO邮箱高字节数据寄存器(CAN_RDHxR)(x=0..1)CAN过滤器寄存器CAN过滤器主控寄存器(CAN_FMR)CAN过滤器模式寄存器(CAN_FM1R)CAN过滤器位宽寄存器(CAN_FS1R)CAN过滤器FIFO关联寄存器(CAN_FFA1R)CAN过滤器激活寄存器(CAN_FA1R)CAN过滤器组i的寄存器x(CAN_FiRx)(互联产品中i=0..27,其它产品中i=0..13;x=1..2)SPI和I2S寄存器(串行外设接口控制器)SPI控制寄存器1(SPI_CR1)SPI控制寄存器2(SPI_CR2)SPI状态寄存器(SPI_SR)SPI数据寄存器(SPI_DR)SPICRC多项式寄存器(SPI_CRCPR) SPIRxCRC寄存器(SPI_RXCRCR) SPITxCRC寄存器(SPI_TXCRCR)SPI_I2S配置寄存器(SPI_I2S_CFGR)SPI_I2S预分频寄存器(SPI_I2SPR)I2C寄存器(数据传输寄存器)控制寄存器1(I2C_CR1)控制寄存器2(I2C_CR2)自身地址寄存器1(I2C_OAR1)自身地址寄存器2(I2C_OAR2)数据寄存器(I2C_DR)状态寄存器1(I2C_SR1)状态寄存器2(I2C_SR2)时钟控制寄存器(I2C_CCR)TRISE寄存器(I2C_TRISE)USART寄存器(通用同步异步收发器)状态寄存器(USART_SR)数据寄存器(USART_DR)波特比率寄存器(USART_BRR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)控制寄存器3(USART_CR3)保护时间和预分频寄存器(USART_GTPR)OTG_FS控制和状态寄存器(数据传输控制器)OTG_FS全局寄存器OTG_FS控制和状态寄存器(OTG_FS_GOTGCTL)OTG_FS中断寄存器(OTG_FS_GOTGINT)OTG_FSAHB配置寄存器(OTG_FS_GAHBCFG)OTG_FS_USB配置寄存器(OTG_FS_GUSBCFG)OTG_FS复位寄存器(OTG_FS_GRSTCTL)OTG_FS控制器中断寄存器(OTG_FS_GINTSTS)OTG_FS中断屏蔽寄存器(OTG_FS_GINTMSK)OTG_FS接收状态调试读/OTG状态读和POP寄存器(OTG_FS_GRXSTSR/OTG_FS_GRXSTSP)OTG_FS接收FIFO长度寄存器(OTG_FS_GRXFSIZ)OTG_FS非周期性TXFIFO长度寄存器(OTG_FS_GNPTXFSIZ)OTG_FS非周期性TXFIFO/请求队列状态寄存器(OTG_FS_GNPTXSTS)OTG_FS通用控制器配置寄存器(OTG_FS_GCCFG)OTG_FS控制器ID寄存器(OTG_FS_CID)OTG_FS主机周期性发送FIFO长度寄存器(OTG_FS_HPTXFSIZ)OTG_FS设备IN端点发送FIFO长度寄存器(OTG_FS_DIEPTXFx)(其中x是FIFO的编号,x=1…4)主机模式下的寄存器OTG_FS主机模式配置寄存器(OTG_FS_HCFG)OTG_FS主机帧间隔寄存器(OTG_FS_HFIR)OTG_FS主机帧号/帧时间剩余寄存器(OTG_FS_HFNUM)OTG_FS主机周期性发送FIFO/请求队列寄存器(OTG_FS_HPTXSTS)OTG_FS主机所有通道中断寄存器(OTG_FS_HAINT)OTG_FS主机所有通道中断屏蔽寄存器(OTG_FS_HAINTMSK)OTG_FS主机端口控制和状态寄存器(OTG_FS_HPRT)OTG_FS主机通道x特性寄存器(OTG_FS_HCCHARx)(此处x代码通道号,x=0...7)OTG_FS主机通道x中断寄存器(OTG_FS_HCINTx)(其中x代表通道号,x=0...7,)OTG_FS主机通道x中断屏蔽寄存器(OTG_FS_HCINTMSKx)(其中x为通道号,x=0...7)OTG_FS主机通道x传输长度寄存器(OTG_FS_HCTSIZx)(其中x为通道号,x=0...7)设备模式下的寄存器OTG_FS设备配置寄存器(OTG_FS_DCFG)OTG_FS设备控制寄存器(OTG_FS_DCTL)OTG_FS设备状态寄存器(OTG_FS_DSTS)OTG_FS设备IN端点通用中断屏蔽寄存器(OTG_FS_DIEPMSK)OTG_FS设备OUT端点通用中断屏蔽寄存器(OTG_FS_DOEPMSK)OTG_FS设备所有端点中断寄存器(OTG_FS_DAINT)OTG_FS所有端点中断屏蔽寄存器(OTG_FS_DAINTMSK)OTG_FS设备V BUS放电时间寄存器(OTG_FS_DVBUSDIS)OTG_FS设备V BUS脉冲时间寄存器(OTG_FS_DVBUSPULSE)OTG_FS设备IN端点FIFO空中断屏蔽寄存器(OTG_FS_DIEPEMPMSK)OTG_FS设备控制IN端点0控制寄存器(OTG_FS_DIEPCTL0)OTG设备端点x控制寄存器(OTG_FS_DIEPCTLx)(其中x为端点号,x=1…3)OTG_FS设备控制OUT端点0控制寄存器(OTG_FS_DOEPCTL0)OTG_FS设备OUT端点x控制寄存器(OTG_FS_DOEPCTLx)(其中x为端点号,x=1…3)OTG_FS设备端点x中断寄存器(OTG_FS_DIEPINTx)(其中x为端点号,x=0…3)OTG_FS设备端点x中断寄存器(OTG_FS_DOEPINTx)(其中x为端点号,x=0…3)OTG_FS设备IN端点0传输长度寄存器(OTG_FS_DIEPTSIZ0)OTG_FS设备OUT端点0传输长度寄存器(OTG_FS_DOEPTSIZ0)OTG_FS设备端点x传输长度寄存器(OTG_FS_DIEPTSIZx)(其中x为端点号,x=1…3)OTG_FS设备IN端点传输FIFO状态寄存器(OTG-FS_DTXFSTSx)(其中x为端点号,x=0…3) OTG_FS设备端点x传输长度寄存器(OTG_FS_DOEPTSIZx)(其中x为端点号,x=1…3)OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL)以太网寄存器(通信传输控制器)MAC寄存器以太网MAC设置寄存器(ETH_MACCR)以太网MAC帧过滤器寄存器(ETH_MACFFR)以太网MACHash列表高寄存器(ETH_MACHTHR)以太网MACHash列表低寄存器(ETH_MACHTLR)以太网MACMII地址寄存器(ETH_MACMIIAR)以太网MACMII数据寄存器(ETH_MACMIIDR)以太网MAC流控寄存器(ETH_MACFCR)以太网MACVLAN标签寄存器(ETH_MACVLANTR)以太网MAC远程唤醒帧过滤器寄存器(ETH_MACRWUFFR)以太网MACPMT控制和状态寄存器(ETH_MACPMTCSR)以太网MAC中断状态寄存器(ETH_MACSR)以太网MAC中断屏蔽寄存器(ETH_MAIMR)以太网MAC地址0高寄存器(ETH_MACA0HR)以太网MAC地址0低寄存器(ETH_MACA0LR)以太网MAC地址1高寄存器(ETH_MACA1HR)以太网MAC地址1低寄存器(ETH_MACA1LR)以太网MAC地址2高寄存器(ETH_MACA2HR)以太网MAC地址2低寄存器(ETH_MACA2LR)以太网MAC地址3高寄存器(ETH_MACA3HR)以太网MAC地址3低寄存器(ETH_MACA3LR)MMC寄存器以太网MMC控制寄存器(ETH_MMCCR)以太网MMC接收中断寄存器(ETH_MMCRIR)以太网MMC发送中断寄存器(ETH_MMCTIR)以太网MMC接收中断屏蔽寄存器(ETH_MMCRIMR)以太网MMC发送中断屏蔽寄存器(ETH_MMCTIMR)以太网MMC1次冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFSCCR)以太网MMC1次以上冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFMSCCR)以太网MMC发送”好”帧的计数器寄存器(ETH_MMCTGFCR)以太网MMCCRC错误接收帧计数器寄存器(ETH_MMCRFCECR)以太网MMC对齐错误接收帧计数器寄存器(ETH_MMCRFAECR)以太网MMC接收帧”好”单播帧计数器寄存器(ETH_MMCRGUFCR) 27.8.3。
STM32F405xx、STM32F407xx中文资料
1 带嵌入式闪存和静态随记存取存储器 SRAM(静态随记存取存储器)的 ARM®Cortex™-M4F 内核
ARM Cortex-M4F 处理器是最新一代用于嵌入式系统的 ARM 处理器。它的开发旨在提供 一个低成本平台,以满足 MCU 实现的需求,同时减少引脚数量和降低功耗,并提供卓越407xx
设备概述
目录
1 带嵌入式闪存和静态随记存取存储器 SRAM(静态随记存取存储器)的 ARM®Cortex™-M4F 内核 ..................................................................................................................................................1 2 自适应实时存储器加速器(ART Accelerator™) ........................................................................1 3 内存保护单元...............................................................................................................................1 4 嵌入式闪存...................................................................................................................................1 5 CRC(循环冗余校验)计算单元 ..............................
STM32F205 寄存器实现TIM输出PWM波
学习的路上,越努力越渺小。
——单片机初学者芯片类型:STM32F205功能需求:在PB15上实现PWM波功能用户手册:《STM32F205xxSTM32F207xxSTM32F215xx STM32F217xx用户手册.pdf》参考手册:《STM32F205xx207xx参考手册.pdf》第一次接触STM32的PWM功能,查询用户手册后未发现直接的PWM功能,这点与飞思卡尔的芯片不一样。
上网简单搜索后,了解STM32是通过TIM实现PWM的功能。
1、查看参考手册中GPIO口PB15的复用功能由此可见,PB15作为PWM波的输出口可选用的TIM口有TIM1_CH3N、TIM8_CH3N、TIM12_CH2。
因项目已采用了TIM1--TIM8,故而选用TIM12实现PB15的PWM波功能。
2、查看用户手册中GPIO口PB15的复用功能寄存器故而选用PB15的AF9功能。
3、代码实现3.1结构体定义typedef struct{u8ch1duty;u8ch1enable;}PWM_TYPE;PWM_TYPE pwm;设置PWM的类型结构体,设置两个元素:高位占空比、通道使能。
同时定义结构体变量pwm。
3.2初始化void PwmInit(void){RCC->APB1ENR|=BIT6;//使能TIM12的时钟TIM12->ARR=100;//10KHZTIM12->PSC=(u16)(60-1);//60Mhz/(PSC+1)=1MhzTIM12->CNT=reset;pwm.ch1duty=50;//设置初始高位占空比为50 }系统时钟设置为120MHZ,由此可知APB1时钟为60MHZ。
查看用户手册RCC的寄存器设置,使能TIM12的时钟:查看用户手册TIM12的时钟分频系数寄存器,设置TIM12的时钟为1MHZ:查看用户手册TIM12的自动装载寄存器以及计数寄存器,设置初始值:综上所述,则TIM12的设置基本完成,主要是设置了TIM12的时钟为1MHZ,设置自动装载寄存器数值为100,也就是PWM波的周期为100KHZ。
STM32F10x 参考手册备份寄存器
9 备份寄存器(BKP)9.1 简介备份寄存器是十个16位的寄存器,可用来存储20个字节的用户应用程序数据。
他们处在备份域里,当V DD电源被切断,他们仍然由V BAT维持供电。
当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位。
此外,BKP控制寄存器用来管理侵入检测和RTC校准功能。
复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。
电源控制寄存器(PWR_CR)的DBP位必须被置1,以允许访问备份寄存器和RTC.9.2 特性● 十个16位数据寄存器● 用来管理防侵入功能的状态/控制寄存器● 用来存储RTC校验值的校验寄存器。
检测侵入检测9.3 侵入当ANTI_TAMP引脚上的信号从0变成1或者从1变成0(取决于备份控制寄存器BKP_CR的TPAL位),会产生一个侵入检测事件。
侵入检测事件将所有数据备份寄存器复位。
然而为了避免丢失侵入事件,侵入检测信号是边沿检测的信号与侵入检测允许位的逻辑与,从而在侵入检测引脚被允许前发生的侵入事件也可以被检测到。
● 当TPAL=0时:如果在启动侵入检测引脚前(通过设置TPE位)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置1后并没有出现上升沿)。
● 当TPAL=1时:如果在启动侵入检测引脚前(通过设置TPE位)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置1后并没有出现下降沿)。
在一个侵入事件被检测到并被清除后,侵入检测引脚应该被禁止。
然后,在再次写入备份数据寄存器前重新用TPE位启动侵入检测功能。
这样,可以阻止软件在侵入检测引脚上仍然有侵入事件时对备份数据寄存器进行写操作。
这相当于对侵入引脚进行电平检测。
注:当V DD电源断开时,侵入检测功能仍然有效。
为了避免不必要的复位数据备份寄存器,ANTI_TAMP引脚应该在片外连接到正确的电平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C R C寄存器(一种算法,用以确认发送过程中是否出错)数据寄存器:CRC_DR可读写,复位值:0xFFFFFFFF;独立数据寄存器:CRC_IDR临时存放任何8位数据;控制寄存器:CRC_CR只零位可用,用于复位CRC,对其写1复位,由硬件清零;PWR电源控制(控制和管理电源)电源控制寄存器:PWR_CR控制选择系统的电源电源控制/状态寄存器:PWR_CSR睡眠或待机模式电源控制BKP备份寄存器(用以控制和管理备份数据)备份数据寄存器x:BKP_DRx(x=1…10)10个16位数据寄存器用以存储用户数据RTC时钟校准寄存器:BKP_RTCCR控制实时时钟的运行备份控制寄存器:BKP_CR控制选择清除备份数据的类型备份控制/状态寄存器:BKP_CSR对侵入事件的控制RCC寄存器(时钟的选择、复位、分频)时钟控制寄存器(RCC_CR)各时钟状态显示时钟配置寄存器(RCC_CFGR)时钟分频时钟中断寄存器(RCC_CIR)控制就绪中断使能与否APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR) 复位APB各功能寄存器AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制备份域控制寄存器(RCC_BDCR)备份域时钟控制控制/状态寄存器(RCC_CSR)复位标志寄存器AHB外设时钟复位寄存器(RCC_AHBRSTR) 复位以太网MAC模块时钟配置寄存器2(RCC_CFGR2)时钟选择与分频GPIO寄存器(设置端口的功能)端口配置低寄存器(GPIOx_CRL)(x=A..E)端口配置高寄存器(GPIOx_CRH)(x=A..E)端口输入数据寄存器(GPIOx_IDR)(x=A..E) 只读数据,读出IO口的状态端口输出数据寄存器(GPIOx_ODR)(x=A..E) 可读可写端口位设置/清除寄存器(GPIOx_BSRR)(x=A..E)端口位清除寄存器(GPIOx_BRR)(x=A..E)将某一端口清零端口配置锁定寄存器(GPIOx_LCKR)(x=A..E) 用于保护端口配值AFIO寄存器(将端口重映射到其它端口用以端口的第二功能)事件控制寄存器(AFIO_EVCR)选择时间输出端口与引脚复用重映射和调试I/O配置寄存器(AFIO_MAPR) 各寄存器功能引脚重映射选择外部中断配置寄存器1(AFIO_EXTICR1)外部中断配置寄存器2(AFIO_EXTICR2)外部中断配置寄存器3(AFIO_EXTICR3)外部中断配置寄存器4(AFIO_EXTICR4)外部中断引脚重映射选择EXTI寄存器(外部中断控制器)中断屏蔽寄存器(EXTI_IMR)用于屏蔽或开放某一引脚的中断请求事件屏蔽寄存器(EXTI_EMR)用于屏蔽或开放某一引脚的事件上升沿触发选择寄存器(EXTI_RTSR)禁止或允许某一引脚的上升沿触发下降沿触发选择寄存器(EXTI_FTSR)禁止或允许某一引脚的下降沿触发软件中断事件寄存器(EXTI_SWIER)控制某引脚的软件中断挂起寄存器(EXTI_PR)显示某线的引脚有无触发请求DMA寄存器(脱离cpu的传输模式)DMA中断状态寄存器(DMA_ISR)中断情况标志器DMA中断标志清除寄存器(DMA_IFCR)手动清除标志位DMA通道x配置寄存器(DMA_CCRx)(x=1…7)传输控制寄存器DMA通道x传输数量寄存器(DMA_CNDTRx)(x=1…7)数据传输剩余数量存储器DMA通道x外设地址寄存器(DMA_CPARx)(x=1…7)设置数据传输外设源或目标地址DMA通道x存储器地址寄存器(DMA_CMARx)(x=1…7)设置存储器地址ADC寄存器(模数转换器)ADC状态寄存器(ADC_SR)AD转换标志寄存器ADC控制寄存器1(ADC_CR1)ADC控制寄存器2(ADC_CR2)设置AD转换的各种功能ADC采样时间寄存器1(ADC_SMPR1)ADC采样时间寄存器2(ADC_SMPR2)某通道选择固定的采样时间ADC注入通道数据偏移寄存器x(ADC_JOFRx)(x=1..4) 设置数据偏移量ADC看门狗高阀值寄存器(ADC_HTR)设置模拟看门狗的阀值高限ADC看门狗低阀值寄存器(ADC_LRT)设置模拟看门狗的阀值低限ADC规则序列寄存器1(ADC_SQR1)ADC规则序列寄存器2(ADC_SQR2)ADC规则序列寄存器3(ADC_SQR3)设置ADC顺序ADC注入序列寄存器(ADC_JSQR)ADC注入数据寄存器x(ADC_JDRx)(x=1..4)ADC数据结果寄存器ADC规则数据寄存器(ADC_DR)DAC寄存器(数模转换器)DAC控制寄存器(DAC_CR)DAC软件触发寄存器(DAC_SWTRIGR)DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2)双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD)双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD)双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD)DAC通道1数据输出寄存器(DAC_DOR1)DAC通道2数据输出寄存器(DAC_DOR2)TIM1和TIM8寄存器(高级的定时计数寄存器)TIM1和TIM8控制寄存器1(TIMx_CR1)TIM1和TIM8控制寄存器2(TIMx_CR2)TIM1和TIM8从模式控制寄存器(TIMx_SMCR)TIM1和TIM8DMA/中断使能寄存器(TIMx_DIER) TIM1和TIM8状态寄存器(TIMx_SR)TIM1和TIM8事件产生寄存器(TIMx_EGR)TIM1和TIM8捕获/比较模式寄存器1(TIMx_CCMR1) TIM1和TIM8捕获/比较模式寄存器2(TIMx_CCMR2) TIM1和TIM8捕获/比较使能寄存器(TIMx_CCER) TIM1和TIM8计数器(TIMx_CNT)TIM1和TIM8预分频器(TIMx_PSC)TIM1和TIM8自动重装载寄存器(TIMx_ARR)TIM1和TIM8重复计数寄存器(TIMx_RCR)TIM1和TIM8捕获/比较寄存器1(TIMx_CCR1)TIM1和TIM8捕获/比较寄存器2(TIMx_CCR2)TIM1和TIM8捕获/比较寄存器3(TIMx_CCR3)TIM1和TIM8捕获/比较寄存器(TIMx_CCR4)TIM1和TIM8刹车和死区寄存器(TIMx_BDTR)TIM1和TIM8DMA控制寄存器(TIMx_DCR)TIM1和TIM8连续模式的DMA地址(TIMx_DMAR)TIMx寄存器(控制定时器)控制寄存器1(TIMx_CR1)控制寄存器2(TIMx_CR2)从模式控制寄存器(TIMx_SMCR)DMA/中断使能寄存器(TIMx_DIER)状态寄存器(TIMx_SR)事件产生寄存器(TIMx_EGR)捕获/比较模式寄存器1(TIMx_CCMR1)捕获/比较模式寄存器2(TIMx_CCMR2)捕获/比较使能寄存器(TIMx_CCER)计数器(TIMx_CNT)预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器1(TIMx_CCR1)捕获/比较寄存器2(TIMx_CCR2)捕获/比较寄存器3(TIMx_CCR3)捕获/比较寄存器4(TIMx_CCR4)DMA控制寄存器(TIMx_DCR)连续模式的DMA地址(TIMx_DMAR)TIM6和TIM7寄存器(基本定时计数器)TIM6和TIM7控制寄存器1(TIMx_CR1)TIM6和TIM7控制寄存器2(TIMx_CR2)TIM6和TIM7DMA/中断使能寄存器(TIMx_DIER)TIM6和TIM7状态寄存器(TIMx_SR)TIM6和TIM7事件产生寄存器(TIMx_EGR)TIM6和TIM7计数器(TIMx_CNT)TIM6和TIM7预分频器(TIMx_PSC)TIM6和TIM7自动重装载寄存器(TIMx_ARR)RTC寄存器(实时时钟)RTC控制寄存器高位(RTC_CRH)RTC控制寄存器低位(RTC_CRL)16.4.3RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 16.4.4RTC预分频器余数寄存器(RTC_DIVH/RTC_DIVL) RTC计数器寄存器(RTC_CNTH/RTC_CNTL)16.4.6RTC闹钟寄存器(RTC_ALRH/RTC_ALRL)IWDG寄存器(独立看门狗,用以监督系统硬件的正常运行)键寄存器(IWDG_KR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)状态寄存器(IWDG_SR)窗口看门狗(WWDG)寄存器(用以监督软件的正常运行)控制寄存器(WWDG_CR)配置寄存器(WWDG_CFR)状态寄存器(WWDG_SR)FSMC寄存器(可变静态存储控制器)NOR闪存和PSRAM控制器寄存器SRAM/NOR闪存片选控制寄存器1…4(FSMC_BCR1…4) SRAM/NOR闪存片选时序寄存器1…4(FSMC_BTR1…4) SRAM/NOR闪存写时序寄存器1…4(FSMC_BWTR1…4)NAND闪存和PC卡控制器寄存器PC卡/NAND闪存控制寄存器2..4(FSMC_PCR2..4) FIFO状态和中断寄存器2..4(FSMC_SR2..4)通用存储空间时序寄存器2..4(FSMC_PMEM2..4)属性存储空间时序寄存器2..4(FSMC_PATT2..4)I/O空间时序寄存器4(FSMC_PIO4)ECC结果寄存器2/3(FSMC_ECCR2/3)SDIO寄存器(数据传输控制器)SDIO电源控制寄存器(SDIO_POWER) SDIO时钟控制寄存器(SDIO_CLKCR) SDIO参数寄存器(SDIO_ARG)SDIO命令寄存器(SDIO_CMD)SDIO命令响应寄存器(SDIO_RESPCMD) SDIO响应1..4寄存器(SDIO_RESPx) SDIO数据定时器寄存器(SDIO_DTIMER) SDIO数据长度寄存器(SDIO_DLEN)SDIO数据控制寄存器(SDIO_DCTRL SDIO数据计数器寄存器(SDIO_DCOUNT) SDIO状态寄存器(SDIO_STA)SDIO清除中断寄存器(SDIO_ICR)SDIO中断屏蔽寄存器(SDIO_MASK) SDIOFIFO计数器寄存器(SDIO_FIFOCNT) SDIO数据FIFO寄存器(SDIO_FIFO)USB寄存器(usb传输控制器)通用寄存器USB控制寄存器(USB_CNTR)USB中断状态寄存器(USB_ISTR)USB帧编号寄存器(USB_FNR)USB设备地址寄存器(USB_DADDR)USB分组缓冲区描述表地址寄存器(USB_BTABLE)端点寄存器USB端点n寄存器(USB_EPnR),n=[0..7]缓冲区寄存器发送缓冲区地址寄存器n(USB_ADDRn_TX)发送数据字节数寄存器n(USB_COUNTn_TX)接收缓冲区地址寄存器n(USB_ADDRn_RX)接收数据字节数寄存器n(USB_COUNTn_RX)CAN寄存器(邮箱控制寄存器)CAN控制和状态寄存器CAN主控制寄存器(CAN_MCR)CAN主状态寄存器(CAN_MSR)CAN发送状态寄存器(CAN_TSR)CAN接收FIFO0寄存器(CAN_RF0R)CAN接收FIFO1寄存器(CAN_RF1R)CAN中断使能寄存器(CAN_IER)CAN错误状态寄存器(CAN_ESR)CAN位时序寄存器(CAN_BTR)CAN邮箱寄存器发送邮箱标识符寄存器(CAN_TIxR)(x=0..2)发送邮箱数据长度和时间戳寄存器(CAN_TDTxR)(x=0..2)发送邮箱低字节数据寄存器(CAN_TDLxR)(x=0..2)发送邮箱高字节数据寄存器(CAN_TDHxR)(x=0..2)接收FIFO邮箱标识符寄存器(CAN_RIxR)(x=0..1)接收FIFO邮箱数据长度和时间戳寄存器(CAN_RDTxR)(x=0..1)接收FIFO邮箱低字节数据寄存器(CAN_RDLxR)(x=0..1)接收FIFO邮箱高字节数据寄存器(CAN_RDHxR)(x=0..1)CAN过滤器寄存器CAN过滤器主控寄存器(CAN_FMR)CAN过滤器模式寄存器(CAN_FM1R)CAN过滤器位宽寄存器(CAN_FS1R)CAN过滤器FIFO关联寄存器(CAN_FFA1R)CAN过滤器激活寄存器(CAN_FA1R)CAN过滤器组i的寄存器x(CAN_FiRx)(互联产品中i=0..27,其它产品中i=0..13;x=1..2)SPI和I2S寄存器(串行外设接口控制器)SPI控制寄存器1(SPI_CR1)SPI控制寄存器2(SPI_CR2)SPI状态寄存器(SPI_SR)SPI数据寄存器(SPI_DR)SPICRC多项式寄存器(SPI_CRCPR)SPIRxCRC寄存器(SPI_RXCRCR)SPITxCRC寄存器(SPI_TXCRCR)SPI_I2S配置寄存器(SPI_I2S_CFGR)SPI_I2S预分频寄存器(SPI_I2SPR)I2C寄存器(数据传输寄存器)控制寄存器1(I2C_CR1)控制寄存器2(I2C_CR2)自身地址寄存器1(I2C_OAR1)自身地址寄存器2(I2C_OAR2)数据寄存器(I2C_DR)状态寄存器1(I2C_SR1)状态寄存器2(I2C_SR2)时钟控制寄存器(I2C_CCR)TRISE寄存器(I2C_TRISE)USART寄存器(通用同步异步收发器)状态寄存器(USART_SR)数据寄存器(USART_DR)波特比率寄存器(USART_BRR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)控制寄存器3(USART_CR3)保护时间和预分频寄存器(USART_GTPR)OTG_FS控制和状态寄存器(数据传输控制器)OTG_FS全局寄存器OTG_FS控制和状态寄存器(OTG_FS_GOTGCTL)OTG_FS中断寄存器(OTG_FS_GOTGINT)OTG_FSAHB配置寄存器(OTG_FS_GAHBCFG)OTG_FS_USB配置寄存器(OTG_FS_GUSBCFG)OTG_FS复位寄存器(OTG_FS_GRSTCTL)OTG_FS控制器中断寄存器(OTG_FS_GINTSTS)OTG_FS中断屏蔽寄存器(OTG_FS_GINTMSK)OTG_FS接收状态调试读/OTG状态读和POP寄存器(OTG_FS_GRXSTSR/OTG_FS_GRXSTSP)OTG_FS接收FIFO长度寄存器(OTG_FS_GRXFSIZ)OTG_FS非周期性TXFIFO长度寄存器(OTG_FS_GNPTXFSIZ)OTG_FS非周期性TXFIFO/请求队列状态寄存器(OTG_FS_GNPTXSTS)OTG_FS通用控制器配置寄存器(OTG_FS_GCCFG)OTG_FS控制器ID寄存器(OTG_FS_CID)OTG_FS主机周期性发送FIFO长度寄存器(OTG_FS_HPTXFSIZ)OTG_FS设备IN端点发送FIFO长度寄存器(OTG_FS_DIEPTXFx)(其中x是FIFO的编号,x=1…4)主机模式下的寄存器OTG_FS主机模式配置寄存器(OTG_FS_HCFG)OTG_FS主机帧间隔寄存器(OTG_FS_HFIR)OTG_FS主机帧号/帧时间剩余寄存器(OTG_FS_HFNUM)OTG_FS主机周期性发送FIFO/请求队列寄存器(OTG_FS_HPTXSTS)OTG_FS主机所有通道中断寄存器(OTG_FS_HAINT)OTG_FS主机所有通道中断屏蔽寄存器(OTG_FS_HAINTMSK)OTG_FS主机端口控制和状态寄存器(OTG_FS_HPRT)OTG_FS主机通道x特性寄存器(OTG_FS_HCCHARx)(此处x代码通道号,x=0...7)OTG_FS主机通道x中断寄存器(OTG_FS_HCINTx)(其中x代表通道号,x=0...7,)OTG_FS主机通道x中断屏蔽寄存器(OTG_FS_HCINTMSKx)(其中x为通道号,x=0...7) OTG_FS主机通道x传输长度寄存器(OTG_FS_HCTSIZx)(其中x为通道号,x=0...7)设备模式下的寄存器OTG_FS设备配置寄存器(OTG_FS_DCFG)OTG_FS设备控制寄存器(OTG_FS_DCTL)OTG_FS设备状态寄存器(OTG_FS_DSTS)OTG_FS设备IN端点通用中断屏蔽寄存器(OTG_FS_DIEPMSK)OTG_FS设备OUT端点通用中断屏蔽寄存器(OTG_FS_DOEPMSK)OTG_FS设备所有端点中断寄存器(OTG_FS_DAINT)OTG_FS所有端点中断屏蔽寄存器(OTG_FS_DAINTMSK)OTG_FS设备V BUS放电时间寄存器(OTG_FS_DVBUSDIS)OTG_FS设备V BUS脉冲时间寄存器(OTG_FS_DVBUSPULSE)OTG_FS设备IN端点FIFO空中断屏蔽寄存器(OTG_FS_DIEPEMPMSK)OTG_FS设备控制IN端点0控制寄存器(OTG_FS_DIEPCTL0)OTG设备端点x控制寄存器(OTG_FS_DIEPCTLx)(其中x为端点号,x=1…3)OTG_FS设备控制OUT端点0控制寄存器(OTG_FS_DOEPCTL0)OTG_FS设备OUT端点x控制寄存器(OTG_FS_DOEPCTLx)(其中x为端点号,x=1…3) OTG_FS设备端点x中断寄存器(OTG_FS_DIEPINTx)(其中x为端点号,x=0…3)OTG_FS设备端点x中断寄存器(OTG_FS_DOEPINTx)(其中x为端点号,x=0…3)OTG_FS设备IN端点0传输长度寄存器(OTG_FS_DIEPTSIZ0)OTG_FS设备OUT端点0传输长度寄存器(OTG_FS_DOEPTSIZ0)OTG_FS设备端点x传输长度寄存器(OTG_FS_DIEPTSIZx)(其中x为端点号,x=1…3)OTG_FS设备IN端点传输FIFO状态寄存器(OTG-FS_DTXFSTSx)(其中x为端点号,x=0…3) OTG_FS设备端点x传输长度寄存器(OTG_FS_DOEPTSIZx)(其中x为端点号,x=1…3)OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL)以太网寄存器(通信传输控制器)MAC寄存器以太网MAC设置寄存器(ETH_MACCR)以太网MAC帧过滤器寄存器(ETH_MACFFR)以太网MACHash列表高寄存器(ETH_MACHTHR)以太网MACHash列表低寄存器(ETH_MACHTLR)以太网MACMII地址寄存器(ETH_MACMIIAR)以太网MACMII数据寄存器(ETH_MACMIIDR)以太网MAC流控寄存器(ETH_MACFCR)以太网MACVLAN标签寄存器(ETH_MACVLANTR)以太网MAC远程唤醒帧过滤器寄存器(ETH_MACRWUFFR)以太网MACPMT控制和状态寄存器(ETH_MACPMTCSR)以太网MAC中断状态寄存器(ETH_MACSR)以太网MAC中断屏蔽寄存器(ETH_MAIMR)以太网MAC地址0高寄存器(ETH_MACA0HR)以太网MAC地址0低寄存器(ETH_MACA0LR)以太网MAC地址1高寄存器(ETH_MACA1HR)以太网MAC地址1低寄存器(ETH_MACA1LR)以太网MAC地址2高寄存器(ETH_MACA2HR)以太网MAC地址2低寄存器(ETH_MACA2LR)以太网MAC地址3高寄存器(ETH_MACA3HR)以太网MAC地址3低寄存器(ETH_MACA3LR)MMC寄存器以太网MMC控制寄存器(ETH_MMCCR)以太网MMC接收中断寄存器(ETH_MMCRIR)以太网MMC发送中断寄存器(ETH_MMCTIR)以太网MMC接收中断屏蔽寄存器(ETH_MMCRIMR)以太网MMC发送中断屏蔽寄存器(ETH_MMCTIMR)以太网MMC1次冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFSCCR)以太网MMC1次以上冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFMSCCR)以太网MMC发送”好”帧的计数器寄存器(ETH_MMCTGFCR)以太网MMCCRC错误接收帧计数器寄存器(ETH_MMCRFCECR)以太网MMC对齐错误接收帧计数器寄存器(ETH_MMCRFAECR)以太网MMC接收帧”好”单播帧计数器寄存器(ETH_MMCRGUFCR)27.8.3。