ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:121.10KB ,
资源ID:16207178      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16207178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(stm32学习笔记要点Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

stm32学习笔记要点Word下载.docx

1、自增运算符+变量名/变量名+-自减运算符-变量名/变量名-*取值运算符*指针变量&取地址运算符变量名!逻辑非运算符表达式按位取反运算符表达式sizeof长度运算符sizeof(表达式)3/除表达式/表达式双目运算符乘表达式*表达式%余数(取模)整型表达式/整型表达式4+加表达式+表达式减表达式-表达式5左移变量右移变量6大于表达式=大于等于=表达式小于表达式小于等于7=等于表达式=表达式不等于表达式!= 表达式8按位与表达式&9按位异或表达式表达式10|按位或表达式|表达式11逻辑与12|逻辑或表达式|表达式13?:条件运算符表达式1? 表达式2: 表达式3三目运算符14赋值运算符变量=表达式

2、/=除后赋值变量/=表达式*=乘后赋值变量*=表达式%=取模后赋值变量%=表达式+=加后赋值变量+=表达式-=减后赋值变量-=表达式左移后赋值右移后赋值按位与后赋值变量&=按位异或后赋值变量=表达式|=按位或后赋值变量|=表达式15,逗号运算符表达式,表达式,从左向右顺序运算2、数组:在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。3

3、、在语言中,字符常量有以下特点:1) 字符常量只能用单引号括起来,不能用双引号或者是括号2) 字符常量只能是单个字符,不能是字符串。3) 字符可以是字符集中任意字符。但数字被定义为字符之后就不能够参与运算。如5和5 是不同的。是字符常量,不能参与运算。Stm32学习笔记GPIO部分1、函数名GPIO_ReadInputDataBit 功能描述 读取指定端口管脚的输入2、对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GP

4、IO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mode_AF_PP 复用推挽输出3、推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能

5、力,又提高开关速度。4、如图所示,推挽放大器的输出级有两个“臂”(两组放大元件),一个“臂”的电流增加时,另一个“臂”的电流则减小,二者的状态轮流转换。对负载而言,好像是一个“臂”在推,一个“臂”在拉,共同完成电流输出任务。当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经VT3拉出。这样一来,输出高低电平时,VT3 一路和 VT5 一路将交替工作,从而减低了功耗,提高了每个管的承受能力。又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。因此,推拉式输出级既提高电路的负载能力,又提高开关速度。5、开漏输出:输出端相当于三极管的集电极. 要得到高

6、电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).开漏形式的电路有以下几个特点:利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑

7、电平转换的沿的速度 。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)6、3. OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。7、4. 可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。补充:什么是“线与”?:8、在一个结点(线)上, 连接一个上拉电阻到电源 VCC 或 VDD 和 n 个 N

8、PN 或 NMOS 晶体管的集电极 C 或漏极 D, 这些晶体管的发射极 E 或源极 S 都接到地线上, 只要有一个晶体管饱和, 这个结点(线)就被拉到地线电平上. 因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS),晶体管就会饱和, 所以这些基极或栅极对这个结点(线)的关系是或非 NOR 逻辑. 如果这个结点后面加一个反相器, 就是或 OR 逻辑.9、10、其实可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。11、关于推挽输出

9、和开漏输出,最后用一幅最简单的图形来概括:12、该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。右边的则可以理解为开漏输出形式,需要接上拉。13、14、浮空输入:对于浮空输入,一直没找到很权威的解释,只好从以下图中去理解了15、由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。16、上拉输入/下拉输入/模拟输入:这几个概念

10、很好理解,从字面便能轻易读懂。17、复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)18、最后总结下使用情况:19、在STM32中选用IO模式(1) 浮空输入_IN_FLOATING 浮空输入,可以做KEY识别,RX1(2)带上拉输入_IPUIO内部上拉电阻输入(3)带下拉输入_IPD IO内部下拉电阻输入(4) 模拟输入_AIN 应用ADC模拟输入,或者低功耗下省电(5)开漏输出_OUT_OD IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这

11、样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能(6)推挽输出_OUT_PP IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的(7)复用功能的推挽输出_AF_PP 片内外设功能(I2C的SCL,SDA)(8)复用功能的开漏输出_AF_OD片内外设功能(TX1,MOSI,MISO.SCK.SS)20、STM32设置实例:(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBi

12、t(GPIOB,GPIO_Pin_0);(2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD; Stm32学习笔记RCC部分1、RCC有多种用途,包括时钟设置,外设复位和时钟管理。2、RTC时钟:系统时钟:简单的说,就是芯片系统内部的时钟,程序运行的速度是由它来决定的。RTC:实时时钟, 如果供电,它会按照自己的精确等级运行的,主要用来做日期时间的显示用。3、时钟树4、配置时钟树的方法:(1)定义一个 定义一个 定义一个 ErrorStatu 类型的变量 HSEStartUpStatus (2)将时钟树

13、复位至默认设置 (3)开启 HSE 晶振;(4)等待 HSE 晶振起 振稳定,并将起结果保存HSEStartUpStatus 变量中;(5)判断 HSE 晶振是否起成功(6)设置 HCLKHCLK 时钟为时钟为 SYSCL的 分频(7)设置PLCK2 时钟为 时钟为SYSCLK的 分频;(8)设置PLCK1 时钟为 时钟为SYSCLK的 分频;Stm32学习笔记AD部分1、采样保持器:计算机系统模拟量输入通道中的一种模拟量存储装置。它是连接采样器和模数转换器的中间环节。采样器是一种开关电路或装置,它在固定时间点上取出被处理信号的值。采样保持器则把这个信号值放大后存储起来,保持一段时间,以供模数

14、转换器转换,直到下一个采样时间再取出一个模拟信号值来代替原来的值。在模数转换器工作期间采样保持器一直保持着转换开始时的输入值,因而能抑制由放大器干扰带来的转换噪声,降低模数转换器的孔径时间,提高模数转换器的精确度和消除转换时间的不准确性。一般生产过程控制计算机的模拟量输入可能是每秒几十点、几百点,对于大型系统甚至上千点,往往需要高速采样(如500010000点秒)。为使这些模拟量信号逐个地送到模数转换器,而不至降低被测信号的真实性,必须采用采样保持器。在低速系统中一般可以省略这种装置。 原理采样保持电路由模拟开关、存储元件和缓冲放大器A组成。在采样时刻,加到模拟开关上的数字信号为低电平,此时模

15、拟开关被接通,使存储元件(通常是电容器)两端的电压UB随被采样信号UA变化。当采样间隔终止时,D变为高电平,模拟开关断开,UB则保持在断开瞬间的值不变。缓冲放大器的作用是放大采样信号,它在电路中的连接方式有两种基本类型:一种是将信号先放大再存储,另一是先存储再放大。对理想的采样保持电路,要求开关没有偏移并能随控制信号快速动作,断开的阻抗要无限大,同时还要求存储元件的电压能无延迟地跟踪模拟信号的电压,并可在任意长的时间内保持数值不变。2、采样频率 英文名称:sampling frequency 定义:在模数转换器中采样时间间隔的倒数。3、Ad转换器的分类4、Ad转换器的技术指标:转换时间和转换速

16、率 分辨率 量化误差 转换精度5、Ad位数的选择6、Ad转换速率的确定7、工作电压和基准电压8、Ad的工作模式:(1)独立模式:分为单通道单次转换模式、多通道(扫描)单次转换模式、单通道连续转换模式、多通道连续转换模式、注入转换模式单次转换模式下,ADC只执行一次转换。在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。扫描模式,此模式用来扫描一组模拟通道。注入转换模式:当触发方式为软件出发或者外部出发方式时,可以使用此模式。(2)双adc模式:分为同时为规则模式、快速交替模式、慢速交替模式、交替触发模式、混合同步注入及+交替模式9、 规则通道和注入通道的区别: STM32的每个AD

17、C模块通过内部的模拟多路开关,可以切换到不同的输入通道并进行转换。STM32特别地加入了多种成组转换的模式,可以由程序设置好之后,对多个模拟通道自动地进行逐个地采样转换。 有2种划分转换组的方式:规则通道组和注入通道组。通常规则通道组中可以安排最多16个通道,而注入通道组可以安排最多4个通道。 在执行规则通道组扫描转换时,如有例外处理则可启用注入通道组的转换。一个不太恰当的比喻是:规则通道组的转换好比是程序的正常执行,而注入通道组的转换则好比是程序正常执行之外的一个中断处理程序。从系统设计上,测量并显示室内温度的过程中断了测量并显示室外温度的过程,但程序设计上可以在初始化阶段分别设置好不同的转

18、换组,系统运行中不必再变更循环转换的配置,从而达到两个任务互不干扰和快速切换的结果。可以设想一下,如果没有规则组和注入组的划分,当你按下按钮后,需要从新配置AD循环扫描的通道,然后在施放按钮后需再次配置AD循环扫描的通道。10、SRAMSRAM是英文Static RAM的缩写,即静态随机存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。11、DMA原理:DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制

19、到 暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。Stm32学习笔记CAN部分1、bxCAN主要特点支持CAN协议2.0A和2.0B主动模式波特率最高可达1兆位/秒支持时间触发通信功能发送3个发送邮箱,发送报文的优先级特性可软件配置,发送SOF时刻的时间戳接收3级深度的2个接收FIFO,14个位宽可变的过滤器组标识符列表FIFO溢出处理方式可配置,记录接收SOF时刻的时间戳,时间触发通信模式,禁止自动重传模式,16位自由运行定时器,可在最后2个数据字节发送时间戳管理中断可屏蔽,邮箱占用单独1块地址空间,便于提高软件效率2、Stm32学习笔记TIM部分

20、1、通用定时器(TIM)通用定时器是一个通过可编程预分频器驱动的16 位自动装载计数器构成。它适用于多种场合,包括测量输入信号的脉冲长度(输入采集)或者产生输出波形(输出比较和PWM)。使用定时器预分频器和RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。定时器是完全独立的,而且没有互相共享任何资源。2、SCB是MDK库文件里面定义的一个结构体,subsystem control block子系统管理模块3、TIMER主要是由三部分组成:时基单元、输入捕获、输出比较,还有两种模式控制功能:从模式控制和主模式控制。4、定时器的计数模式: 向上计数模式,向下计数模式,在

21、向下模式中,计数器从自动装入的值(TIMx_ARR计数器的值)开始向下计数到0,然后从自动装入的值重新开始并且产生一个计数器向下溢出事件。每次计数器溢出时可以产生更新事件,在TIMx_EGR寄存器中设置UG位(通过软件方式或者使用从模式控制器)也同样可以产生一个更新事件。设置TIMx_CR1寄存器的UDIS位可以禁止UEV事件。这样可以避免向预装载寄存器中写入新值时更新影子寄存器。因此UDIS位被清为0之前不会产生更新事件。然而,计数器仍会从当前自动加载值重新开始计数,同时预分频器的计数器重新从0开始(但预分频器的速率不能被修改)。此外,如果设置了TIMx_CR1寄存器中的URS位(选择更新请

22、求) ,设置UG位将产生一个更新事件UEV但不设置UIF标志(因此不产生中断和DMA请求),这是为了避免在发生捕获事件并清除计数器时,同时产生更新和捕获中断。当发生更新事件时,所有的寄存器都被更新,并且(根据URS位的设置)更新标志位(TIMx_SR寄存器中的UIF位)也被设置。 中央对齐模式,5、时基单元包含: 计数器寄存器(TIMx_CNT) 预分频器寄存器 (TIMx_PSC),预分频器可以将计数器的时钟频率按1到65536之间的任意值分频。自动装载寄存器 (TIMx_ARR),自动装载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。根据在TIMX_CR1寄存器中的自动装载

23、预装载使能位(ARPE)的设置,预装载寄存器的内容被立即或在每次的更新事件UEV时传送到影子寄存器。6.可设置时长的定时器的方法设置计数器的时钟频率。设置计数器的计数初值。打开计数器开始计数。开启中断。执行中断服务程序7、通用定时器的时钟来源: 内部时钟(CK_INT) 外部时钟模式1:外部输入脚(TIx) 外部时钟模式2:外部触发输入(ETR) 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。8、计数器时钟频率的计算方法9、从库函数角度设置定时时间 (1)Timx时钟使能:通用定时器挂在APB1下,

24、通过APB1总线的使能函数来使能,函数为RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,enable)(2)初始化定时器参数:设置自动重装值、分频系数和计数方式等,函数原形为:TIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)功能描述:根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位,输入参数1,TIMx:x可以是2,3或者4,来选择TIM外设;输入参数2TIM-TimeBase_InitStruct:指

25、向结构TIM_TimeBaseInitTypeDef的指针,包含了TIMx时间基数单位的配置信息。TIM_TimeBaseInitTypeDef定义于文件“stm32f10x_tim.h”:typedef struct u16 TIM_Period;u16 TIM_Prescaler;u8 TIM_ClockDivision;u16 TIM_CounterMode; TIM_TimeBaseInitTypeDef;TIM_Period设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在0x0000和0xFFFF之间。TIM_Prescaler TIM_Prescaler设置

26、了用来作为TIMx时钟频率除数的预分频值。TIM_ClockDivision TIM_ClockDivision设置了时钟分割 (3)设置timx-dier允许更新中断:函数原形void TIM_ITConfig(TIM_TypeDef* TIMx, u16 TIM_IT, FunctionalState NewState)功能描述,使能或者失能指定的TIM中断,输入参数1TIMx:输入参数2,TIM_IT:待使能或者失能的TIM中断源,输入参数3NewState:TIMx中断的新状态,这个参数可以取:ENABLE或者DISABLE输入参数TIM_IT使能或者失能TIM的中断。可以取下表的一个

27、或者多个取值的组合作为该参数的值。TIM_IT_Update TIM中断源,TIM_IT_CC1 TIM捕获/比较1中断源,TIM_IT_CC2 TIM捕获/比较2中断源,TIM_IT_CC3,TIM捕获/比较3中断源TIM_IT_CC4 TIM捕获/比较4中断源,TIM_IT_Trigger TIM触发中断源 (4) 设置中断优先级,在nvic的寄存器中设置 (5)使能timx (6)编写中断服务函数10、TIM_ClearFlag 函数原形void TIM_ClearFlag(TIM_TypeDef* TIMx, u32 TIM_FLAG)功能描述,清除TIMx的待处理标志位,输入参数1,

28、TIMx:x可以是2,3或者4,来选择TIM外设,输入参数2,TIM_FLAG:待清除的TIM标志位TIM_FLAG值:TIM_FLAG_Update TIM更新标志位TIM_FLAG_CC1 TIM捕获/比较1标志位TIM_FLAG_CC2 TIM捕获/比较2标志位TIM_FLAG_CC3 TIM捕获/比较3标志位TIM_FLAG_CC4 TIM捕获/比较4标志位TIM_FLAG_Trigger TIM触发标志位TIM_FLAG_CC1OF TIM捕获/比较1溢出标志位TIM_FLAG_CC2OF TIM捕获/比较2溢出标志位TIM_FLAG_CC3OF TIM捕获/比较3溢出标志位TIM_FLAG_CC4OF TIM捕获/比较4溢出标志位11、函数名:TIM_GetCounter函数原形:u16 TIM_GetCounter(TIM_TypeDef* TIMx)获得TIMx计数器的值输入参数:T

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1