stm32知识点最终版!_第1页
stm32知识点最终版!_第2页
stm32知识点最终版!_第3页
stm32知识点最终版!_第4页
stm32知识点最终版!_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、1 .*嵌入式系统:以计算机技术为基础,以应用为中心,软件硬件可剪裁,适合应用系统对功能可靠性、成本、体积、功耗严格要求的专业计算机系统。2 .*嵌入式系统与传统系统等所区分的三个特征:微处理器通常由32位以上的RlSCfi成;软件通常是以嵌入式操作系统为核心,外加用户应用程序;具有明显的可嵌入性。3 .*嵌入式系统的应用:智能消费电子中;工业控制中;医疗设备中;信息家电及家庭智能管理系统;网络与通信系统中;环境工程;机器人。4 .*ARM定义的三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用(针对日益增长的运行包括linux、WindowsC序口Android在内的消

2、费电子和无线产品);“R'系列针对实时系统(针对需要运行实时操作系统来惊醒控制应用的系统,包括汽车电子、网络和影像系统);“M系列对胃控制器和点成本应用提供优化(针对开发费用低功耗低,同时针对性能要求不断增加的嵌入式应用而设计,如汽车车身控制系统和各种大型家电)。5 .ARMCortex处理器系列是基于ARMv的架的产品,既有ARMCortex-M(歹U,也有高性能的A系列。6 .NEO版术是64/128位SIMD旨令集,用于新一代媒体和信号处理应用加速。NEON18位,16位,32位,64位整数及单精度浮点SIMtM作,以进行音频,视频、图像和游戏的处理。7 .ARMCortex-M

3、处理器的特点:性能丰富成本低,低功耗,可配置性能强,丰富的链接。8 .*STM32F10处理器分为:101,102,103,105,107。9 .*STM32勺总线速度:US既口速度12Mb/sUSART口速度4.5Mb/s;SPI接口速度可达18Mb/sIC接口速度400kHz10.STM3原列处理器的优点:先进的内部结构;三种功耗控制;最大程度集成整合;出众及创新的外设。11.STM32F1啖性能分为:基本型STM32F101USB1本型STM32F102增强型STM32F103互联网型STM32F1058TM32F107歹U。12.STM32F103RBT6J的命名规则:R-引脚数量、B

4、-Flash大小、T-封装、6-工作温度。13.*STM32F103照引脚功能分为:电源、复位、时钟控制、启动配置、输入输出口。14.STM32F103线系统包括:驱动单元、被动单元、总线矩阵。15 .最小系统是指仅包含必须的元器件、仅可运行最基本软件的基本系统。16 .典型的最小系统包括:微控制器芯片、供电电路、时钟电路、复位电路、启动配置电路和程序下载电路。第三章1.STM3标准库命名贝U:PPP_Init:根据PPP_InitTypeDef中指定的参数初始化夕卜设ppp;PPP_DeInit将外设PP商存器重设为缺省值;PPP_StructInit:将PPP_InitTypeDe色吉构中

5、的参数设为缺省值;PPP_Cm强能或失能PPP7卜设;PPP_ItConfig:使能或失能PP?卜设的中断源;PPP_GetITStatus判断PPP7卜设中断发生与否;PPP_ClearITPendingBit清除PPP7卜设中断待处理标志位;PPP_DMACon币唳能或者失能PPP7卜设的DM陵口;PPP_GetFlagStatus检查PPP7卜设的标志位;PPP_ClearFiag清除PPP7卜设的标志位。2 .文件结构:每个C程序通常分为两个文件,一个文件用于保存程序的声明,成为头文件,以.h为后缀。另一个用于保存程序的实现,称为源文件,以.c后缀。3 .C语言的关键字有32个,根据作

6、用分为数据类型、控语言、储存类型、其他关键字。4 .指针:是C语言中广泛使用的一种数据类型.5 .指向数组元素的指针定义一个整形数组和一个指向整型的指针变量:Inta10;Int*p=NULL/定义指针式要初始化P=a/数组名a为数组第0个元素的地址/与p=&a0等价P+i和a+i表示ai的地址;*(p+i)和*(a+i)表示P+i和a+i内容。6 .结构体:是由基本数据类型构成的,并并一个标识符来命名的各种变量的组合。7 .定义结构体的格式一般为:Struct结构名(类型变量名;.结构变量;如果去掉结构变量,就成为对结构的说明。8 .CMSI配独立于供应商处理器硬件抽象层。9 .CM

7、SI裁件架构:用户应用层,操作系统及中间件接口层,CMSIS1和硬件层。10 .CMSISB主要由:核内外设访问层CPAL中层件访问层MWAL设备外设访问层DPAL11 .STN32F10标准外设库是一个固件函数包。由程序、数据结构、宏组成。12 .Libraries文件夹下是标准库的源代码及启动文件。13 .Startup_stm32f10x_X.s是用汇编写的系统启动文件,X表示不同芯片型号。14 .初始化时钟:执行main()函数前调用SystemInit()函数初始化系统时钟。15 .Project文件夹下是采用标准库写的一个工程模版和例子。(图3-4)16 .Const的作用:声明只

8、读变量。Typedef给数据类型取别名。Volatile:说明变量在程序执行中。第四章1.IO端口的多种模式:输入浮空(什么都不接)、输入上拉(接上拉电阻,输入高电平)、输入下拉、模拟输入(AD0开漏输入(本身不输出电压,接上拉电阻)、推挽式输出(直接输出高低电平)、推挽式复用功能、开漏复用功能。2.GPIO常用库函数:GPIO-init(根据GPIO-Initstruct指定的参数初始化外设GPIO篇存器)、GPIO_ReadInputDataBi饿取指定端口管脚的输入)、GPIO_ReadInputData(取指定的GPI端口输入)、GPIO_ReadOutputDataBitGPIO_R

9、eadOutputdataGPIO_SetBits(设定指定的数据端口位)、GPIO_ResetBits(清除指定的数据端口位)、GPIO_WriteBits(设置或清除指定的数据端口位)、GPIO_Write(向指定GPIOa写入数据)、GPIO_EXTILineConfig选择GPIOf脚用作外部中断线路)3.*gpio使用流程:声明GPIOW;台化结构体GPIO_InitTypeDef-»GPIC口时钟RCC_APB2PeriphClockCmd填充GPIOW;台化结构体参数GPIO_PinGPIO_SpeedGPIO_Mode-完成GPIM口设置GPIO_Init。4.闪烁灯

10、程序流程图:GPICS已置GPIO_Config-输出低电平,点亮LEDGPIO_ResetBits-延时delay-输出高电平,熄灭LEDGPIO_SetBits第5章.STM3单片机外部中断一、中断的相关概念1 .中断:单片机执行主程序时,由于某个事件的原因,暂停主程序的执行,调用相应的程序处理该事件,处理完毕后再自动继续执行主程序的过程。2 .中断的优先级:由中断的嵌套可以看出,不同事件的重要程度不同。重要的事件可以打断相对不重要的事件的处理,用户可以根据自己的需求对不同的事件设定重要级别3 .中断的嵌套:如果在执行一个中断时又被另一个更重要的事件打断,暂停该中断处理过程转去处理这个更重

11、要的事件,处理完毕后再继续处理本中断的过。低优先级的中断服务可被高优先级中断源中断,反之不能;任何一种中断,一旦响应不会被同级中断源的请求所打断4 .中断源:可以引起中断的事件称为中断源5 .中断服务程序与中断向量:为了处理中断而编写的程序称为中断服务程序,对应中断服务程序的入口地址被称为中断向量6 .中断请求、中断响应、中断处理及中断返回:中断源对主程序或中断服务程序提出中断要求,叫作中断请求;主程序或中断服务程序接受中断请求,进入中断服务程序的过程叫作中断响应;执行中断服务程序的过程叫作中断处理;中断服务程序执行完毕后回到主程序或者次一级别中断服务程序的过程叫作中断返回7 .中断系统:实现

12、中断处理功能的软件、硬件系统称为中断系统二、中断控制器1.STM32F103中断系统由嵌套中断向量控制器NVIC外部中断/事件控制器EXT各外设中断控制部份2.配置软硬件中断/事件请求过程:硬件中断选择;硬件事件选择;软件中断/事件选择;外部中断/事件线路映射。图5-4(85页)三、中断执行过程和中断嵌套:优先级:抢占优先级高的先处理,抢占优先级相同,则响应优先级高的先执行。四、外部应用中断设计:(1)NVIC_PriorityGroupConfig(设置优先级分组,抢占优先级和响应优先级)例:NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)设置优先

13、级分组为第一组(2)NVIC_Init(根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器)五、EXTI函数库:EXTI_Init(将外设EXTI寄存器重设为缺省值)、EXTI_GetFlagStatus(检查指定的EXTI线路标志位设置与否)、EXTI_ClearFlag(清除EXTI线路挂起标志位)、EXTI_GetITStatus(检查指定的EXTI线路触发请求发生与否)、EXTI_ClearITPendingBits(清除EXTI线路挂起位)。六、STM3小断的设计NVIC置流程:声明NVIC吉构体NVIC_InitTypeDefS选择中断分组NVIC_Priori

14、tyGroupConfig()-»选择中断通道S.NVIC_IRQChanne卜»设置优先抢占级S.NVIC_IRQChannelPreemptionPriority»设置响应优先级S.NVIC_IRQChannelSubPriority断使能S.NVIC_IRQChannelCmd调用函数完成配置NVIC_Init()GPIB卜部中断端口配置流程图:声明GPIG口EXTI结构体GPIO_InitTypeDefGEXTI_InitTypeDefE->GPIOiO->选择中断管脚GPIO_EXTILineConfig()->选择中断线路E.EXTI

15、_Line->设置中断请求E.EXTI_Mode->设置中断触发方式E.EXTI_trigger->中断线版能E.EXTI_LineCmd->完成iOEXTI_Init(3)中断服务程序处理流程图:进入中断->检测中断线请求EXTI_GetITStatus中断处理内容Func()->清除中断信号挂起位EXTI_GetITStatus()->中断返回按键中断控制LEDS序流程图:开始->LED初始化配置LED_Config->按键初始化配置KEY_Config->输出低电平,点亮LEDGPIO_ResetBits-沈循环等待按键中断wh

16、ile(1)进入中断->检测中断线请求EXTI_GetITStatus->LED犬态取反GPIO_WriteBits清除中段线路挂起位EXTI_GetITStatus->跳出中断(5)中断服务程序主要完成什么工作:中段线路状态检测、中断处理内容、中断清除(6) Stm3温多支才184个中断16个优先级(7) 32中断设计包才NVIC设计、中断端口设置、终端服务程序第6章.STM3通用定时器1.STM1时器分类:2个高级控制定时器TIM1TIM8可分配6个通道的三相PWM:生器(多用于电机控制);4个通用定时器TIM2TIM3TIM4TIM5每个定时器有4个输入捕获/输出比较/

17、PWMB冲计数;2个基本定时器TIM6TIM7主要用于产生DA硼发信号;还有两个看门狗定时器(窗口和独立)和一个系统滴答定时器。2 .通用定时器的基本功能是定时和计数3 .时钟的选择:内部时钟源(CK_INT渚TIMx_SMCR存器的SMS=0;卜部时钟源模式1(外部输入引脚TIx)SMS=11外部时钟源模式2(外部触发输入ETR)ECE=1内部触发输入(ITR4 .时基单元:设置定时器/计数器计数时钟的基本单元。包含技术寄存器(TIMx_CNT;预分频器寄存器(TIMx_PSC;自动装载寄存器(TIMx_ARR5 .计数模式:向上计数模式(TIM_CR中的CMS=00,DIR=1;向下计数模

18、式(CMS=00,DIR=0中央对齐模式(CMS=0111、10)6 .通用定时器使用流程:NVIC设置;定时器中断配置;中断服务程序1.1 ed亮1秒灭1秒程序流程图:开始一LEM始化配置(LED_Config-NVIC)初始化酉叫(TIM3_NVIC_Con巾g)-定时器初始化配置(TIM3_Config)-输出低电平,点亮LED(GPIO_ResetBits)-输出高电平,点亮LED(GPIO_SetBits)-死循环等待中断进入中断-检测定时中断请求(TIM_GetITStatus()-是一否则中断返回-中断处理内容,改变LED状态一清楚定时中断标志(TIM_ClearITPendin

19、gBit)-中断返回8 .10通用定时器常用库函数TIM_Cmd能或失能TIMx外设TIM_ITConfig使能或者失能指定白TIM中断TIM_GetTStatusF佥查指定的TIM中断发生与否11TIM中断配置voidTIM3_configTIM_TimeBaseInitTypeDefTIM_TIM_BaseStructure;"明定时器时基结构体RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENAB电耐器TIM1时钟TIM_TimeBaseStructure.TIM_Prescaler=(799-1);设置预分频值TIM_TimeBaseS

20、tructure.TIM_CounterMode=TIM_CoundterMode_Upj/技术模式为向上TIM_TimeBaseStructure.TIM_Period=1000;/股置计数值TIM_TimeBaseInit(TIM3&TIM_TimeBaseStruct);/完成时基设置TIM_ITConfig(TIM3,TIM_IT_Update|TIM_IT_Trigger,ENABLE);/法能或者失能指定的TIM中断TIM_CmdTIMJENABLETIM_Period*(TIM_Prescaler+1)/系统时钟=中断时间9 .主要功能介绍:外部事件计数,输入捕获,输出比

21、较,单脉冲输出,正交编码器,霍尔传感器输入,输出比较信号死区产生,刹车信号输入功能第七章1 .串行通信:是数据字节的各位一位一位的一次传送的通信方式。速度慢占用传输线条数少,适于远距离传输。2 .并行通信:数据字节各位同时传送的通信方式。速度快,占用传输线条数多,适用于近距离通信。3 .串行通信方式:单工通信,半双工通信,全双工通信。4 .波特率:即数据的传输速度,串行通信中,每秒传送的二进制数的位数称为波特率。波特率的倒数是每一位数的传输时间。5 .STM32USART结构特性:stm32由3-5个的全工的一步串行通信USAR接口,可实现设备之间的串行数据传输。USAR外部引脚包括接收数据输

22、入(RX、发送数据输出(TX、清除发送(nCTS)发送请求(nRTS和发送器时钟输出(CK,通过这些引脚可以与其他外部设备通信。6 .USAR的基本配置流程:声明GPIGDUSAR初始化结构体(GPIO_InitTypeDefGUSART_InitTypeDefUI)->开启串口、串口所用IO时钟(RCC_APB2PeriphClockCmd)->设置IO引脚功能为复用推挽输出和浮空输出和浮空输入->设置波特率(U.USART_BandRate>iO数据格式:数据位、停止位、校验位(U.USART_WordLengtU.USART_StopBitsU.USART_Par

23、ity->设置串口模式(U.USART_Mode>完成串口设置(USART_Init()->使能串口(USART_Cmd)。7 .串行通信接口抗干扰的方式:采用标准串行接口(RS-232C,TTL电平通信接口,RS-48改机通信接口。第八章1. DMA用来提供外设与外设之间、外设与寄存器之间、存储器与存储器之间的高速数据传输,无需CPUF预,数据可以通过DMA快速传输,节省CPU勺资源2. DMA1用流程:NVIC殳置,DMAI式及中断配置,中断服务。3. DMA勺传输过程包括:DMA1求,DMA3应,DM胰输,DMA吉束4. .总线矩阵有两个主要特征:循环优先调度,多层结构

24、和总线挪用。第九章模数转化器ADCADC生能指标:分辨率、量化误差、偏移误差、满刻度误差、线性度、绝对精度、相对精度、转换速率。按转换过程不同:ADCT以分为:逐次逼近性、双积分型、电压-频率变换型。第H一章SPI1.SPI接口定义:他只需要4条线:串行时钟线(SCK,主机输入/从设备输出引脚(MIOS,主机输出/从设备输入引脚(MOSI,低电平有效的从基选择线。2.SPI是一个环形总线结构,由NSSSCKMISOMOSI构成,3 .*结构体类型自定义:typedefstruct(LongnumCharname10Charsex;STUDENT定灼构体类型为STUDENTIntmain()(S

25、TUDENTstu1stu0/定义STUDENG®的变量stu1和数组stu4 .*条件编译示例#include<stdio.h>#defineDEBUG/此时#ifdefDEBU协真/#defineDEBUG0/此时为假Intmain()(#ifdefDEBUGPrintf("Debugging/d');#eslePrintf("NotDebugging/n);#endifPrintf("Running/n")System(apause)Return05.elif示例#include<stdio.h>#defi

26、neTWOintmain()(#ifdefONEPrintf("1/n")#elifdefinedTWOPrintf(“2/n”)#elsePrintf(“3/n”)#endifSystem("pause')Return0程序:voidGPIO_Config(void)/GPIO配置(LEPD/口时钟GPIO_InitTypeDefGPIO_InitStructure;声明GPIOB始化结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENGPIO_InitStructure.GPIO_Pin=GPIO_Pin_

27、2;配置端口PD2GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz&世速率50MHzGPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_P脆挽输出GPIO_Init(GPIOD,&GPIO_InitStructure);/调用函数使PD初始化(AIN模拟输入,IN_FLOATING空输入,IPD下拉输入,IPU上拉输入,Out_ODf漏输出,Out_PPt挽输出,AF_ODT用开漏输出,AF_PPT用推挽输出)voidkey_Config(void)/按键中断配置(还要有NVIC0已置)(GPIO_I

28、nitTypeDefGPIO_InitStructure;/声明GPIOB始化结构体EXTI_InitTypeDefEXTI_InitStructure;/结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);时钟,并使育统用时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;/酉叫端口PA15GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU也拉输入GPIO_Init(GPIOA,&GPIO_InitStructure);/

29、调用函数使PA初始化GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSourcel58t中断管脚EXTI_InitStructure.EXTI_Line=EXTI_Line15;/中断线路EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;/中断请求EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;/下降拗虫发(Rising上升)EXTI_InitStructure.EXTI_LineCmd=ENABLE;中端使能EXTI_Init(&

30、EXTI_InitStructure);/调用函数完成设置voidNVIC_Config(void)/NVIC配置(NVIC_InitTypeDefNVIC_InitStructure;/声明结构体NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/选择中断分组NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn选择中断通道(EXTI9_5_IRQnEXTI0_IRQnEXTI4_IRQpTIM3_IRQr)NVIC_InitStructure.NVIC_IRQChannelPreemptionPrior

31、ity=0;/设置抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;/设置相响应优先级NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE密断使能NVIC_Init(&NVIC_InitStructure);/调用函数完成中断设置voidEXTI15_10_IRQHandler(void)/中断程序(if(EXTI_GetITStatus(EXTI_Line15)!=RESET)/判断是否中断/加上中断后的程序EXTI_ClearITPendingBit(EXTI_Line15);/清除中断标志

32、位voidUSART_Config(void)/串口通信酉叫GPIO_InitTypeDefGPIO_InitStructure;/声明结构体USART_InitTypeDefUSART_InitStructure;/声明结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USARTlOPALB);SART1时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;配置端口PA9GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz&世速率50MHzGP

33、IO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PffiB输出GPIO_Init(GPIOA,&GPIO_InitStructure);调用函数使PA初始化GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;/酉叫端口PA10GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz&世速率50MHZGPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING窗输入GPIO_Init(GPIOA,&GPIO_InitStructure);/调用函数使PA初始化USART_InitStructure.USART_BaudRate=9600;/段置串口通信波特率USART_InitStructure.USART_WordLength=USART_WordLength_8b8位USART_InitStructure.USART_StopBits=USART_StopBits_1;六个停止位USART_InitStructure.USART_Par

温馨提示

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

评论

0/150

提交评论