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

下载本文档

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

文档简介

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

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

3、tM作,以进行音频,视频、图像和游戏的处理。7 .ARM Cortex-M处理器的特点:性能丰富成本低,低功耗,可配置性能强,丰富的链接。8 .*STM32F10处理器分为:101,102,103,105,107。9 .*STM32勺总线速度:US既口速度12Mb/§ USART口速度4.5Mb/s; SPI接口速度可达18Mb/s IC接口速度400kHz10.STM3原列处理器的优点:先进的内部结构;三种功耗控制;最大程度集成整合;出众及创新的外设。11.STM32F1啖性能分为:基本型 STM32F101USB1本型 STM32F102增强型 STM32F103互联网型 STM

4、32F105STM32F1际歹U。12.STM32F103RBT6J的命名规则:R-引脚数量、B-Flash大小、T-封装、6-工作温度。13.*STM32F103照引脚功能分为:电源、复位、时钟控制、启动配置、输入输出口。14.STM32F103线系统包括:驱动单元、被动单元、总线矩阵。15 .最小系统是指仅 包含 必须的元器件、 仅可运行最基本软件的基本系统。16 . 典型的最小系统包括 : 微 控制器芯片 、 供 电 电路、 时钟电路 、 复位 电路、 启动配置 电路和程序下载 电路。第三章1.STM3标准库命名贝U: PPP_Init:根据PPP_InitTypeDef中指定的参数初始

5、化夕卜设ppp;PPP_DeInit将外设PP商存器重设为缺省值;PPP_StructInit :将PPP_InitTypeDef吉构中的参数设为缺省值;PPP_Cm强能或失能PPP7卜设;PPP_ItConfig:使能或失能PP?卜设的中断源;PPP_GetITStatus判断PPP7卜设中断发生与否;PPP_ClearITPendingBit清除PPP7卜设中断待处理标志位;PPP_DMACon币唳能或者失能PPP7卜设的DM陵口 ;PPP_GetFlagStatus检查PPP7卜设的标志位;PPP_ClearFiag清除PPP7卜设的标志位。2 .文件结构:每个C程序通常分为两个文件,一

6、个文件用于保存程序的声明,成为头文件,以.h为后缀。另一个用于保存程序的实 现,称为源文件,以.c后缀。3 .C语言的关键字有32个,根据作用分为数据类型、控语言、储存类型、其他关键字。4 .指针:是C语言中广泛使用的一种数据类型.5 . 指 向数组元素的指针定义一个整形数组和一个指向整型的指针变量:Int a 10 ;Int*p=NULL; / 定 义指针式要初始化P=e /数组名a为数组第0个元素的地址/与p=&a0等价P+i和a+i表示ai的地址;* (p+i)和* (a+i)表示P+i和a+i内容。6 . 结构体 : 是 由基本数 据类型构成的 , 并并一个标识符来命名 的各种

7、变量的组合 。7 .定义结构体的格式一般为:Struct 结构名 类型变量名; .结构变量;如果去掉结构变量,就成为对结构的说明。8 .CMSI配独立于供应商处理器硬件抽象层。9 .CMSI裁件架构:用户应用层,操作系统及中间件接口层,CMSIS1和硬件层。10 .CMSISB主要由:核内外设访问层CPAL中层件访问层MWAL设备外设访问层DPAL11 .STN32F10标准外设库是一个固件函数包。由程序、数据结构、宏组成。12.Libraries 文件夹下是标准库的源代 码及启动文件。13.Startup_stm32f10x_X.s是用汇编写的系统启动文件,X表示不同芯片型号。14. 初始化

8、时钟 : 执行 main( ) 函数 前调用 SystemInit() 函数初始化 系统时钟。15.Project 文件夹下是采用标 准库写的一个工程模 版和例子。 ( 图 3-4)16.Const 的作 用: 声 明只读变量。 Typedef: 给数据类型取别名 。 Volatile : 说明变量在程序执行中。 第四章1.IO端口的多种模式:输入浮空(什么都不接)、输入上拉(接上拉电阻,输入高电平)、输入下拉、模拟输入(AD0开漏输入(本 身不 输出电压 ,接上拉电阻)、推挽式输出(直接输出高低电平 )、推 挽式复用功能、开漏复用功能。2.GPIO常用库函数:GPIO-init (根据GPI

9、O-Initstruct指定的参数初始化外设GPIO篇存器)、GPIO_ReadInputDataBi饿取指定端口管脚的输入)、GPIO_ReadInputData(取指定的 GPI端口输入)、GPIO_ReadOutputDataBit GPIO_ReadOutputdataGPIO_SetBits (设定指定的数据端口位)、GPIO_ResetBits(清除指定的数据端口位)、GPIO_WriteBits (设 置或清除指定的数据端口位)、GPIO_Write向指定GPlOa口写入数据)、GPIO_EXTILineConfig选择GPIOt脚用作外部中断线路) 3.*gpio 使用流程:声

10、明 GPIOW!台化结构体GPIO_InitTypeDef- GPIC口时钟 RCC_APB2PeriphClockCmd填充GPIOW;台 化结构体参数 GPIO_Pin GPIO_SpeedGPIO_Mode-完成 GPIM口设置 GPIO_Init。4.闪烁灯程序流程图:GPIC0已置GPIO_Config -输出低电平,点亮LED GPIO_ResetBits-延时delay-输出高电平,熄灭 LED, GPIO_SetBits第5章.STM3单片机外部中断一、中断的相关概念1. 中断: 单片机执行主程序时, 由于某个事件的原因, 暂停主 程序的执行, 调用相应的程序处理该事件, 处理

11、完毕后再 自动继续执 行主程序的过程。2. 中断的优先级: 由中断的嵌套可以看出 , 不同事件的重要程度不同 。 重要的事件可以打 断相对 不重要的事件的处 理, 用户 可以根 据自己的需求对不同的事件设定重要级别3. 中断的嵌套 : 如果在执行一个中断时又被另一个更重要的事件打断 , 暂停该中断处理过 程转去处理这个更重要的事件 , 处理完毕 后再继续处理本中断的过。低优先级的中断服务可被高优先级中断源中断,反之不能;任何一种中断,一旦响应不会被同级中断源 的请求所打断4. 中 断源 : 可 以引 起中 断的事件称为 中 断源5. 中断服务程序与 中断 向量 : 为了处理中断而编写的程序称为

12、中断服务程序 , 对应中断服务程序的入 口地址被 称为 中断向量6. 中断请求、 中断响应、 中断处理及中断返回 : 中断源 对主程序或中断服务程序提出 中断要求 , 叫作 中断请求 ; 主程序或 中断服务 程序接受中断请求,进入中断服务程序的过程叫作中断响应;执行中断服务程序的过程叫作中断处理;中断服务程序执行完毕后回 到主程序或者次一级别中断服务程序的过程叫作中断返回7. 中断系统 : 实现中断处理 功能的软件、 硬 件系统称为中断系统 二、中断控制器1.STM32F103中断系统由嵌套中断向量控制器NVIC外部中断/事件控制器EXT各外设中断控制部份2.配置软硬件中断/ 事件请求过程:

13、硬 件中断选 择 ; 硬 件事件选 择; 软 件中断/事件选 择; 外部中断/事件线 路映射。 图 5-4(85页) 三、中断执行过程和中断嵌套:优先级:抢占优先级高的先处理,抢占优先级相同,则响应优先级高的先执行。四、外部应用中断设计:( 1 ) NVIC_PriorityGroupConfig( 设 置 优 先 级 分 组 , 抢 占 优 先 级 和 响 应 优 先 级 ) 例 : NVIC_PriorityGroupConfig (NVIC_PriorityGroup_1) 设置优 先级分组 为第一组(2) NVIC_Init(根据NVIC_InitStruct中指定的参数初始化外设NV

14、IC寄存器)五、EXTI函数库:EXTI_Init (将外设EXTI寄存器重设为缺省值)、EXTI_GetFlagStatus (检查指定的EXTI线路标志位设置与否)、 EXTI_ClearFlag (清除EXTI线路挂起标志位)、EXTI_GetITStatus (检查指定的 EXTI线路触发请求发生与否) 、 EXTI_ClearITPendingBits (清除 EXTI线路挂起位)。六、STM3小断的设计 NVIC置流程:声明NVIC吉构体NVIC_InitTypeDefS选择中断分组NVIC_PriorityGroupConfig () -»选择中断通道S.NVIC_IR

15、QChannel 设 置 优 先 抢 占 级 S.NVIC_IRQChannelPreemptionPriority 设 置 响 应 优 先 级S.NVIC_IRQChannelSubPriority断使能 S.NVIC_IRQChannelCmd调用函数完成配置 NVIC_Init () GPIB卜部中断端口配置流程图:声明 GPIG口 EXTI结构体 GPIO_InitTypeDef G EXTI_InitTypeDef E->GPIOO-> 选择中断管脚GPIO_EXTILineConfi()g->选择中断线路E.EXTI_Line-> 设置中断请求E.EXTI_

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

17、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个通用定时器TIM2TIM3 TIM4TIM5每

18、个定时器有4个输入捕获/输出比较/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 .计数模式:向上计数模式(

19、TIM_CR中的CMS=00,DIR=1;向下计数模式(CMS=00,DIR=0中央对齐模式(CMS=0111、10)6 .通用定时器使用流程:NVIC设置;定时器中断配置;中断服务程序1.1 ed亮1秒灭1秒程序流程图:开始一LEDW!台化配置(LED_Config-NVIC)初始化配置(TIM3_NVIC_Con的)一定时器初始化配 置(TIM3 _ Config)-输出低电平,点亮LED(GPIO_ResetBits)-输出高电平,点亮LED(GPIO_SetBits)-死循环等待中断 进入中断一检测定时中断请求(TIM_GetITStatus()-是一否则中断返回中断处理内容,改变LE

20、D状态一清楚定时中断标志 (TIM_ClearITPendingBit) - 中断返回8. 10 通用定时器常用库函数TIM_Cmd能或失能TIMx外设TIM_ITConfig使能或者失能指定白TIM中断TIM_GetTStatuS佥查指定的TIM中断发生与否11TIM中断配置void TIM3_configTIM_TimeBaseInitTypeDef TIM_TIM_BaseStructure;"明定时器时基结构体 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE间时器 TIM1 时钟 TIM_TimeBaseStructure.

21、TIM_Prescaler=(799-1);/ 设置 预分频 值TIM_TimeBaseStructure.TIM_CounterModenTIM_CoundterModejUpiji 术模式为向上TIM_TimeBaseStructure.TIM_Period=1000;/股置计数值TIM_TimeBaseInit(TIM3 &TIM_TimeBaseStruct);完成时基设置TIM_ITConfig(TIM3,TIM_IT_Update|TIM_IT_Trigger,ENABLE);/法能或者失能指定的 TIM 中断TIM_Cm(dTIM3, ENABL)E; TIM_Perio

22、d*(TIM_Prescaler+1)/ 系统时钟=中断时间9. 主要功能介绍 : 外部事件计数 , 输入 捕获, 输出 比较 , 单脉冲输出 , 正交编码器 , 霍尔传 感器输入 , 输 出 比较信号死区产 生 , 刹 车信号输入功能第七章1. 串行通信: 是数据字节的各 位一位一位的一次传送的通信方式。 速度慢占用传 输线 条数少, 适于远 距离传输 。2. 并行通信: 数据字节各位同 时传送的通信方式 。 速度快 , 占用传输 线条数多 , 适用于近距离通信。3. 串行通信方式 : 单工通信, 半双工通信 , 全 双 工通信。4. 波特率 : 即数据的传 输速度 , 串行通信中 , 每秒

23、传送 的二 进制数的位数称为波特率 。 波特率的倒 数是每一位数的传输时间 。5. STM32USART结构特性:stm32由3-5个的全工的一步串行通信USAR接口,可实现设备之间的串行数据传输。USAR外部引 脚包 括接收数 据输入(RX)、发送 数据输出(TX)、清除发送(nCTS)、发送请求(nRTS)和发送器 时钟输出(CK),通过这些引脚可以与其他外部设备通信。6 . USART基本配置流程:声明 GPIG口 USART始化结构体(GPIO_InitTypeDefG USART_InitTypeDef UI)-> 开启串口、串口所用 IO 时钟(RCC_APB2PeriphC

24、lockC()md ) -> 设置 IO 引脚功能为复用推挽输出和浮空输出和浮空输入->设置波特率(U.USART_BandRate>iO数据格式:数据位、停止位、校验位(U.USART_WordLengtU.USART_StopBits U.USART_Parity -> 设置串口模式(U.USART_MOde> 完成串口设置(USART_Init ()-> 使能串口(USART_Cmd )。7 .串行通信接口抗干扰的方式:采用标准串行接口(RS-232C, TTL电平通信接口,RS-48改机通信接口。第八章1. DMA用来提供外设与外设之间、外设与寄存器

25、之间、存储器与存储器之间的高速数据传输,无需CPUF预,数据可以通过DMA 快速传输,节省CPU勺资源2. DMA1用流程:NVIC殳置,DMAI式及中断配置,中断服务。3. DMA勺传输过程包括:DMA1求,DMA3应,DM胰输,DMA吉束4. 总 线 矩阵有两个主要特征 : 循环优 先调度 , 多层结构和 总 线 挪用 。第九章模数转化器ADCADC生能指标:分辨率、量化误差、偏移误差、满刻度误差、线性度、绝对精度、相对精度、转换速率。按转换过程不同:ADCT以分为:逐次逼近性、双积分型、电压-频率变换型。第H一章SPI1.SPI 接 口定 义: 他只需要 4 条线: 串行时钟线 (SCK

26、) , 主机输入/从设备输出引脚 (MIOS) , 主机输出/从 设备 输入引脚 (MOS)I, 低电平有效的从基选择线。2.SPI 是一个环形总线结构 , 由 NSS, SCK, MISO, MOS,I 构成,3 .*结构体类 型自定 义: typedef struct Long num;Char name10;Char sex;STUDENT定灼构体类型为STUDENT Int main ()STUDENT stul stu0 / 定义 STUDENG® 的变量 stul 和数组 stu 4 .*条件编译 示例#include<stdio.h>#define DEBU

27、G / 此时#ifdef DEBU协真/#define DEBUG 0 / 此时为假 Int main ()#ifdef DEBUGPrintf (“Debugging/n” );#eslePrintf (“Not Debugging/n);#endifPrintf( “ Running/n” )System(“ pause” ) Return0 5.elif 示例 #include<stdio.h> #define TWO int main () #ifdef ONEPrintf (“1/n”)#elif defined TWOPrintf( “2/n ” )#elsePrint

28、f( “3/n ” )#endifSystem(“ pause” ) Return 0 程序:void GPIO_Config(void)/GPIO 配置GPIO_InitTypeDef GPIO_InitStructure; 声明 GPIOU始化结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE)Da时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;/ 配置端口 PD2GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz&世速率 50MHzGPIO

29、_InitStructure.GPIO_Mode = GPIO_Mode_Out_P脆挽输出GPIO_Init(GPIOD, &GPIO_InitStructure);/ 调用函数使 PD口初始化 (AIN模拟输入,IN_FLOATING空输入,IPD下拉输入,IPU上拉输入,Out_ODf漏输出,Out_Ppf挽输出,AF_ODT用开漏输出,AF_PPT用推挽输出) void key_Config(void)/按键中断配置(还要有NVICS已置)GPIO_InitTypeDef GPIO_InitStructure; 声明 GPIOB始化结构体EXTI_InitTypeDef EXT

30、I_InitStructure;/ 结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABPLE);时钟,并使育统用时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;/ 配置端 口 PA15GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU也拉输入GPIO_Init(GPIOA, &GPIO_InitStructure); 调用函数使 PA口初始化GPIO_EXTILineConfig(GPIO_PortSourceGPI

31、OA, GPIO_PinSource15gt 中断管脚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(&EXTI_InitStructure);/ 调用函数 完成设置v

32、oid NVIC_Config(void)/NVIC 配置NVIC_InitTypeDef NVIC_InitStructure;/ 声 明结构体NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/ 选 择中断分组NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn选择中断通道(EXTI9_5_IRQnEXTI0_IRQnEXTI4_IRQpTIM3_IRQr)NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;/ 设置抢占优先级NVIC_Ir

33、itStructure.NVIC_IRQCharrelSubPriority = 0;/ 设置相响应优 先级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE 密断使能NVIC_Irit(&NVIC_IritStructure);/ 调用函数 完成中断设置void EXTI15_10_IRQHardler(void)/ 中断程序if(EXTI_GetITStatus(EXTI_Line15)!=RESET)判断是否中断/ 加 上 中 断 后 的 程序EXTI_ClearITPerdirgBit(EXTI_Lire15);/ 清除中断标志位 vo

34、id USART_Corfig(void)/ 串 口通信 配置 GPIO_InitTypeDef GPIO_InitStructure;/ 声明结构体 USART_InitTypeDef USART_InitStructure;/ 声明结构体 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USARTl,ENPAL B)j/ART 1 时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;/ 配置端口 PA9 GPIO_InitStructure.GPIO_Speed = GPIO_Spee

35、d_50MHz&世速率 50MHz GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PpB 输出 GPIO_Init(GPIOA, &GPIO_InitStructure); 调用函数使 PA口初始化 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;/ 配置端 口 PA10 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz&世速率 50MHZ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATlNG窗输入 GPIO_Init(GPIOA, &GPIO_InitStructure); 调用函数使 PA口初始化 USART_InitStructure.USART_BaudRate = 9600; /设/ 置串 口通信波特率 USART_InitStructure.USART_WordLength = USART_WordLength_8bj 8 位 USART_InitStructure.USART_StopBits = USART_StopBits_1;六个停止

温馨提示

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

评论

0/150

提交评论