STM32相关知识点总结_第1页
STM32相关知识点总结_第2页
STM32相关知识点总结_第3页
STM32相关知识点总结_第4页
STM32相关知识点总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GPIO 篇GPIO 寄存器端口配置低位寄存器CRL;32 位端口配置高位寄存器CRH;32 位端口输入数据寄存器IDR;32 位端口输出数据寄存器ODR;32 位置位 /复位寄存器BSRR;32 位复位寄存器BRR;16 位锁定寄存器LCKR;32 位GPIO 库函数void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);void GPIO_ResetBits(GPIO_TypeDef* G

2、PIOx, uint16_t GPIO_Pin);void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);GPIO 相关类型名typedef structtypedef struct_IO uint32_t CRL;_IO uint32_t CRH; uint16_t GPIO_Pin;GPIOSpeed_TypeDef GPIO_Speed;_IO uint32_t IDR;_IO u

3、int32_t ODR;_IO uint32_t BSRR;_IO uint32_t BRR;_IO uint32_t LCKR; GPIO_TypeDef;GPIOMode_TypeDef GPIO_Mode; GPIO_InitTypeDef;typedef enum Bit_RESET = 0,Bit_SET BitAction;GPIO_Pin 取值#define GPIO_Pin_0#define GPIO_Pin_1#define GPIO_Pin_2#define GPIO_Pin_3#define GPIO_Pin_4#define GPIO_Pin_5 #define GPI

4、O_Pin_6 #define GPIO_Pin_7 #define GPIO_Pin_8 #define GPIO_Pin_9 #define GPIO_Pin_10 #define GPIO_Pin_11 #define GPIO_Pin_12 #define GPIO_Pin_13 #define GPIO_Pin_14 #define GPIO_Pin_ 15 #define GPIO_Pin_All中断篇NVIC 相关寄存器AIRCR 寄存器P139中断使能设置寄存器ISERVECTKEY31:16DR/W中断使能清除寄存器ICERENDIANESS15DR中断悬挂设置寄存器ISPR

5、PRIGROUP10:8DR/W中断悬挂清除寄存器ICPRSYSRESETREQ2DW中断激活位寄存器IABRVECTCLRACTIVE1DW中断优先级寄存器IPVECTRESET0DW软件触发中断寄存器STIRP138TVOR 寄存器TBLBASE 29 段TBLOFF 28:7 段R/WR向量表起始地址EXTI 相关寄存器中断屏蔽寄存器 事件屏蔽寄存器 上升沿触发选择寄存器 下降沿触发选择寄存器 软件中断事件寄存器 挂起寄存器EXTI_IMR EXTI_EMR EXTI_RTSR EXTI_FTSR EXTI_SWIEREXTI_PR设置是否屏蔽中断请求线上的中断请求设置是否屏蔽事件请求线

6、上的中断请求 设置是否用上升沿来触发中断和事件 设置是否用下降沿来触发中断和事件 用于软件触发中断 /事件 用于保存中断 /事件请求线上是否有请求AFIO_EVCRAFIO_EXTICRxAFIO_MAPR配置寄存器AFIO 寄存器事件控制寄存器 外部中断配置寄存器 复用重映射和调试 I/O系统控制寄存器SCB p138EXTI 相关库函数void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); ITStatus EXTI_GetITStatus(uint32_t EXTI_Line);void EXTI_ClearITPendingBit(uint

7、32_t EXTI_Line);void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); 设置 IO 口与中断线的映射关系 初始化中断线:触发方式等 判断中断线中断状态,是否发生 清除中断线上的中断标志位AFIO 相关函数使能 AFIO 时钟 开启重映射RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE); 根据第一个参数,来确定是部分重映射还是全部重映射NVI

8、C 相关函数void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);中断优先级分组函数void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);static _INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn) static _INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)中断参数初始化函数挂起中断static _INLINE void NVIC_ClearPendingIRQ(IRQn_Type

9、 IRQn)static _INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)解挂中断IABREXTI 相关类型名GPIO_PortSource 取值 #define GPIO_PortSourceGPIOA#define GPIO_PortSourceGPIOBtypedef structuint32_t EXTI_Line;#define GPIO_PortSourceGPIOC #define GPIO_PortSourceGPIOD #define GPIO_PortSourceGPIOE EXTIMode_TypeDef EXTI_Mode;

10、 EXTITrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; EXTI_InitTypeDef;#define GPIO_PortSourceGPIOFGPIO_PinSource 取值#defineGPIO_PinSource0 #define GPIO_PinSource1 #define GPIO_PinSource2 #define GPIO_PinSource3#define GPIO_PinSource6#defineGPIO_PinSource7 #define GPIO_PinSource8#define GP

11、IO_PinSource9#define GPIO_PinSource12#define GPIO_PinSource13#define GPIO_PinSource14#define GPIO_PinSource15#define GPIO_PinSource4 #define GPIO_PinSource5#define GPIO_PinSource10#define GPIO_PinSource11EXTI_Line 取值#define EXTI_Line0#define EXTI_Line7#define EXTI_Line1#define EXTI_Line8#define EXTI

12、_Line2#define EXTI_Line9#define EXTI_Line3#define EXTI_Line10#define EXTI_Line4#define EXTI_Line11#define EXTI_Line5#define EXTI_Line12#define EXTI_Line14#define EXTI_Line15#define EXTI_Line16#define EXTI_Line17#define EXTI_Line18#define EXTI_Line19#define EXTI_Line6#define EXTI_Line13typedef struct

13、_IO uint32_t IMR;_IO uint32_t EMR;_IO uint32_t RTSR;typedef enumEXTI_Mode_Interrupt = 0x00,EXTI_Mode_Event = 0x04EXTIMode_TypeDef;typedef enumEXTI_Trigger_Rising = 0x08,EXTI_Trigger_Falling = 0x0C,EXTI_Trigger_Rising_Falling = 0x10p145_IO uint32_t FTSR;_IO uint32_t SWIER;_IO uint32_t PR;EXTITrigger_

14、TypeDef; EXTI_TypeDef;NVIC 相关类型名typedef structuint8_t NVIC_IRQChannel;uint8_t NVIC_IRQChannelPreemptionPriority;uint8_t NVIC_IRQChannelSubPriority; FunctionalState NVIC_IRQChannelCmd; NVIC_InitTypeDef;NVIC_PriorityGroup 取值#define NVIC_PriorityGroup_0#define NVIC_PriorityGroup_1#define NVIC_PriorityG

15、roup_2#define NVIC_PriorityGroup_3#define NVIC_PriorityGroup_4AFIO 相关类型名typedef struct_IO uint32_t EVCR;_IO uint32_t MAPR;_IO uint32_t EXTICR4;_IO uint32_t MAPR2; AFIO_TypeDef;USARTUSART 相关寄存器状态寄存器USART_SR反映 USART 单元状态数据寄存器USART_DR用于保存接收或发送的数据波特比率寄存器USART_BRR用于设置 USART 的波特率控制寄存器 1USART_CR1用于控制 USART

16、控制寄存器 2USART_CR2用于控制 USART控制寄存器 3USART_CR3用于控制 USART保护时间和预分频寄存器USART_GTPR保护时间和预分频USART 相关库函数void voidvoid void void void uint16_tUSART_Init(); USART_Cmd();USART_ITConfig(); USART_SendData();USART_ClearFlag(); USART_ClearITPendingBit();USART_ReceiveData();串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能 使能串口 使能相关中断 发送

17、数据到串口, DR 清除状态标志位 清除中断状态标志位 接受数据,从 DR 读取接受到的数据 获取状态标志位 获取中断状态标志位 串口复位FlagStatus USART_GetFlagStatus();ITStatus USART_GetITStatus();USART_DeInit();FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT); 串口传输状态获

18、取USART 相关类型名typedef structp168typedef structuint32_t USART_BaudRate; uint16_t USART_WordLength;波特率字长IO uint16_t SR;IO uint16_t DR;IO uint16_t BRR;停止位长度 奇偶校验 接收或发送模式_IO uint16_t CR1;_IO uint16_t CR2;_IO uint16_t CR3;_IO uint16_t GTPR; USART_TypeDef;uint16_t USART_StopBits;uint16_t USART_Parity;uint16

19、_t USART_Mode;uint16_t USART_HardwareFlowControl; 硬件流控制 USART_InitTypeDef;typedef enum DISABLE = 0, ENABLE = !DISABLE USART_IT 取值#define USART_IT_PE#define USART_IT_TXEFunctionalState;#define USART_IT_IDLE#define USART_IT_LBD#define USART_IT_ORE#define USART_IT_NE#define USART_IT_TC#define USART_IT_

20、RXNE#define USART_IT_CTS#define USART_IT_ERR#define USART_IT_FEUSART_FLAG 取值#define USART_FLAG_CTS #define USART_FLAG_LBD #define USART_FLAG_TXE#define USART_FLAG_IDLE#define USART_FLAG_ORE#define USART_FLAG_NEtypedef struct p169 uint16_t USART_Clock uint16_t USART_CPOL; uint16_t USART_CPHA;#define

21、USART_FLAG_TC#define USART_FLAG_RXNE#define USART_FLAG_FE #define USART_FLAG_PEuint16_t USART_LastBit; USART_ClockInitTypeDef;通用定时器篇TIMx 相关寄存器p189计数器当前值寄存器 预分频寄存器 自动重装载寄存器CNTTIMx_PSCTIMx_ARR控制寄存器 1控制寄存器 2TIMx_CR1TIMx_CR2DMA 中断使能寄存器TIMx_DIERTIMx 相关库函数定时器使能函数void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TI

22、M_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); 定时器参数初始化 void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)状态标志位获取和清除FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_

23、t TIM_IT); void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT);BKP_DRx(x=1142)TIMx 相关类型名typedef structTIM_IT 取值#define TIM_IT_Update#define TIM_IT_CC4uint16_t TIM_Prescaler;#define TIM_IT_CC1#define TIM_IT_COMuint16_t TIM_CounterMode;#define TIM_IT_CC2#define TIMIT_Triggeruint16_t TIM_Per

24、iod;uint16_t TIM_ClockDivision;#define TIM_IT_CC3#define TIM_IT_Breakuint8_t TIM_RepetitionCounter; TIM_TimeBaseInitTypeDef;TIM_FLAG 取值#define TIM_FLAG_Update#define TIM_FLAG_CC4#define TIMFLAG_CC1OF#define TIM_FLAG_CC1#define TIM_FLAG_COM#define TIM_FLAG_CC2OF#define TIM_FLAG_CC2#define TIM_FLAG_Tr

25、igger#define TIM_FLAG_CC3OF#define TIM_FLAG_CC3#define TIM_FLAG_Break#define TIMFLAG_CC4OFRTC 篇RTC 相关寄存器P210RTC 相关寄存器RTC 控制寄存器(RTC_CRH , RTC_CRL)RTC 预分频装载寄存器(RTC_PRLH , RTC_PRLL)RTC 预分频余数寄存器(RTC_DIVH , RTC_DIVL)RTC 计数器寄存器(RTC_CNTH , RTC_CNTL)RTC 闹钟寄存器(RTC_ALRH , RTC_ALRL)备份寄存器TIM_TypeDef p191RTC 相关库函数RTC 中断设置函数 :CRL 位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论