STM32考试复习课件.ppt
《STM32考试复习课件.ppt》由会员分享,可在线阅读,更多相关《STM32考试复习课件.ppt(58页珍藏版)》请在三一办公上搜索。
1、复习,复习,嵌入式系统定义;与通用计算机系统的区别以应用为中心、以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。嵌入式系统的组成嵌入式处理器;外围设备;操作系统;应用软件嵌入式处理器分类微控制器;微处理器;嵌入式DSP ;片上系统,绪论,嵌入式系统定义;与通用计算机系统的区别绪论,GPIO,STM32的GPIO有多种工作模式:输入浮空;输入上拉;输入下拉;模拟输入;推挽输出;推挽复用;开漏输出;开漏复用。要知道每种模式具体用在什么场合。GPIO的编程(可能有大题(编程题)用某个IO引脚控制一个LED灯,使其闪烁。要求
2、画出电路图,并编程。,GPIOSTM32的GPIO有多种工作模式:,STM32编写程序时要用到哪个模块首先要开启那个模块的时钟void RCC_Configuration(void) SystemInit(); /系统时钟配置为72MHZ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE| RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG
3、, ENABLE); /打开GPIO时钟,STM32 GPIO例程讲解,STM32编写程序时要用到哪个模块首先要开启那个模块的时钟S,void GPIO_Configuration(void)/I/O口线配置 GPIO_InitTypeDef GPIO_InitStructure; /配置输出脚PC0控制LED灯 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; G
4、PIO_Init(GPIOB, ,STM32 GPIO例程讲解,void GPIO_Configuration(void),写0:GPIO_ResetBits (GPIOB, GPIO_Pin_5);写1:GPIO_SetBits(GPIOB, GPIO_Pin_5);读:GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5);返回值是1(Bit_SET)或者0(Bit_RESET);,STM32 GPIO例程讲解,写0:STM32 GPIO例程讲解,EXTI(外部中断),中断的定义CPU在正常执行程序的过程中,突然发生了一些需要紧急处理的事件,这些事件通过某种方式触
5、发引起CPU暂停当前正在执行的程序,转去处理突发事件,待突发事件处理完毕后,CPU再返回继续执行刚刚被暂停的程序的过程就称之为中断。,EXTI(外部中断)中断的定义CPU在正常执行程序的过程中,STM32中断优先级分组,优先级越高,数值越低!抢占优先级相同的任务,响应优先级高的先响应,但不能互相抢占;抢占优先级不同的,可以抢占低优先级的CPU。,STM32中断优先级分组优先级越高,数值越低!,STM32外部中断的来源,STM32和I/O口有关的中断一共有16个:,GPIO的管脚GPIOx.0GPIOx.15(x=A,B,C,D,E,F,G)分别对应中断线150。这样每个中断线对应了最多7个IO
6、口,以线0为例:它对应了GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0。而中断线每次只能连接到1个IO口上,这样就需要通过配置来决定对应的中断线配置到哪个GPIO上了。,STM32外部中断的来源STM32和I/O口有关的中断一共有,void RCC_Configuration(void)SystemInit(); /系统时钟配置为72MHZRCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); /打开AFIO时钟RCC_APB2PeriphClockCmd(RCC_APB2Peri
7、ph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG , ENABLE); /打开GPIO时钟,STM32外部中断例程讲解,void RCC_Configuration(void)ST,void GPIO_Configuration(void)/输入输出管脚配置 GPIO_InitTypeDef GPIO_InitStructure; /配置输出脚PC0控制L
8、ED灯 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, ,STM32外部中断例程讲解,void GPIO_Configuration(void),void NVIC_Configuration(void) /嵌套向量中断控制器配置 NVIC_InitTypeDef NVIC_InitStructure; NVIC_Priority
9、GroupConfig(NVIC_PriorityGroup_1); /选择优先级组别 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; /选择中断通道:EXTI线0中断,因为按键连接的是PA0脚 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /0级抢占式优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /0级副优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /使
10、能引脚作为中断源 NVIC_Init( /调用NVIC_Init固件库函数进行设置,STM32外部中断例程讲解,void NVIC_Configuration(void),void EXTI_Configuration(void) /调用固件库中的GPIO_EXTILineConfig函数, /其中两个参数分别是中断口和中断口对应的引脚号 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0; /将中断映射到中断/事件源Line0 EXTI_In
11、itStructure.EXTI_Mode = EXTI_Mode_Interrupt; /中断模式 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling /设置为下降沿中断 EXTI_InitStructure.EXTI_LineCmd = ENABLE; /中断使能,即开中断 EXTI_Init( /调用EXTI_Init固件库函数,将结构体写入EXTI相关寄存器中,STM32外部中断例程讲解,void EXTI_Configuration(void)S,void EXTI0_IRQHandler(void) if(EXTI_GetI
12、TStatus(EXTI_Line0) != RESET) /将LED1的状态反转 GPIO_WriteBit(GPIOC, GPIO_Pin_0, (BitAction)(1- GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_0); /清中断 EXTI_ClearITPendingBit(EXTI_Line0); ,STM32外部中断例程讲解,注意:中断服务函数都包含在“stm32f10 x_it.c”文件中, 用的时候只需添加指令即可!,void EXTI0_IRQHandler(void)STM,串行通信基础,数据通信方式:并行通信与串行通信并行通信:一次传
13、输多位的数据 特点:速度快,适合近距离传输串行通信: 数据一位一位地发送特点:硬件简单,占用I/O口资源少,适合距离远,速度要求不高的场合,串行通信基础 数据通信方式:并行通信与串行通信,波特率,单位时间内传送的信息量。以每秒传送的位为单位:电传机:10字符/秒,1个字符11位, 波特率为:1011=110(波特),波特率 单位时间内传送的信息量。以每秒传送的位为单位:,void RCC_Configuration(void) SystemInit(); /系统时钟配置为72MHZRCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Pe
14、riph_GPIOA,ENABLE); /外设时钟配置,STM32 串口例程讲解,void RCC_Configuration(void)ST,/* Name : UART1_GPIO_Configuration* Deion : Configures the uart1 GPIO ports.* Input : None* Output : None* Return : None*/void UART1_GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;/ Configure USART1_Tx as alternate
15、push-pull GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOA, ,STM32 串口例程讲解,/*,/* Name : UART1_Configuration*/void USART_Configuration(void)USART_InitTypeDef USART_InitStructure;/* Configure the USA
16、RT1 synchronous paramters */USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No ;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlo
17、wControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;/* Configure USART1 basic and asynchronous paramters */USART_Init(USART1, ,STM32 串口例程讲解,/*,/* Name : NVIC_Configuration* Deion : Configures NVIC and Vector Table base location.* Input : None* Output : None* Return : None*/v
18、oid NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChanne
19、lCmd = ENABLE;NVIC_Init(,STM32 串口例程讲解,/*,void USART1_IRQHandler(void) if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) /将数据回送至超级终端 USART_SendData(USART1, USART_ReceiveData(USART1); /等待数据发送完毕 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)=RESET);/等待发送完成 USART_ClearFlag(USART1,USART_FLAG_TXE);
20、 /清零发送完成标志位/等待发送完成 USART_ClearITPendingBit(USART1,USART_IT_RXNE);,STM32 串口例程讲解,void USART1_IRQHandler(void)ST,直接存储器存取DMA,直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速的无需CPU干预的数据传输。把数据传输的任务交给DMA执行,CPU就可以去做别的事情了,提高了CPU的工作效率。,直接存储器存取DMA直接存储器存取(DMA)用来提供在外设和,Stm32有两个DMA控制器,其中DMA1有7个通道,DMA2有5个通道,每个通道专门用来管理来自于一个
21、或多个外设对存储器访问的请求。 DMA的通道不是随便使用的,有一个预先的分配。,DMA通道和请求,Stm32有两个DMA控制器,其中DMA1有7个通道,DMA1的通道分配,DMA1的通道分配,DMA2的通道分配,DMA2的通道分配,int main(void) RCC_Configuration(); /系统时钟设置 GPIO_Configuration();/端口初始化 USART_Config(USART1);/串口1初始化 MYDMA_Config(DMA1_Channel4,(u32) while (1);,例程:串口1通过DMA进行数据的发送,void RCC_Configurati
22、on(void) SystemInit(); /系统时钟配置为72MHZ,DMA编程例程,int main(void)例程:串口1通过DMA进行数据的,void GPIO_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE); /A口时钟配置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; /USART1 TX GPIO_InitStructure.GPIO_Mode = GPIO_Mode
23、_AF_PP; /复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, /A端口 ,DMA编程例程,void GPIO_Configuration(void)D,void USART1_Config(void)USART_InitTypeDef USART_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 , ENABLE);/串口时钟使能 USART_InitStructure.USART_BaudRate = 115200; /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STM32 考试 复习 课件

链接地址:https://www.31ppt.com/p-1288909.html