STM32超强笔记说课材料

上传人:雨水 文档编号:146053161 上传时间:2020-09-25 格式:PDF 页数:28 大小:3.67MB
返回 下载 相关 举报
STM32超强笔记说课材料_第1页
第1页 / 共28页
STM32超强笔记说课材料_第2页
第2页 / 共28页
STM32超强笔记说课材料_第3页
第3页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32超强笔记说课材料》由会员分享,可在线阅读,更多相关《STM32超强笔记说课材料(28页珍藏版)》请在金锄头文库上搜索。

1、资料收集于网络,如有侵权请联系网站删除 word 可编辑 STM32 学习笔记 1、 AHB 系统总线分为APB1(36MHz )和 APB2(72MHz),其中21 ,意思是APB2 接 高速设备 2、 Stm32f10 x.h相当于 reg52.h(里面有基本的位操作定义), 另一个为stm32f10 x_conf.h 专门控制外围器件的配置,也就是开关头文件的作用 3、 HSE Osc(High Speed External Oscillator)高速外部晶振, 一般为 8MHz,HSI RC(High Speed InternalRC )高速内部RC,8MHz 4、 LSE Osc(L

2、ow Speed External Oscillator)低速外部晶振,一般为32.768KHz ,LSI RC (Low Speed InternalRC)低速内部晶振,大概为40KHz 左右,提供看门狗时钟和自动唤 醒单元时钟源 5、 SYSCLK 时钟源有三个来源:HSI RC 、HSE OSC、 PLL 6、 MCO2 :0可以提供4 源不同的时钟同步信号,PA8 7、 GPIO 口貌似有两个反向串联的二极管用作钳位二极管。 资料收集于网络,如有侵权请联系网站删除 word 可编辑 8、总线矩阵采用轮换算法对系统总线和DMA 进行仲裁 9、 ICode 总线, DCode 总线、系统总

3、线、DMA 总线、总线矩阵、AHB/APB 桥 10、在使用一个外设之前,必须设置寄存器RCC_AHBENR 来打开该外设的时钟 11、数据字节以小端存储形式保存在存储器中 12、 内存映射区分为8 个大块,每个块为512MB 13、 FLASH 的一页为1K(小容量和中容量),大容量是2K。 14、 系统存储区 (SystemMemory ) 为 ST 公司出厂配置锁死,用户无法编辑, 用于对 FLASH 区域进行重新编程。所以我们烧写程序务必选择BOOT1 = 0 ,这样通过内嵌的自举程序对 FLASH 进行烧写,比如中断向量表和代码 15、 STM32 核心电压为1.8V 16、 STM

4、32 复位有三种: 系统复位、 上电复位、 备份区域复位。 其中系统复位除了RCC_CSR 中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外 部复位、看门狗复位、软件复位等;电源 复位由于外部电源的上电/掉电复位或者待机模式 返回。复位除了BKP中的寄存器值不动,其他全部复位;备份区域复位的触发源为软件复 位或者 VDD 和 VBAT 全部掉电时。 17、 单片机 复位后所有I/O 口均为浮空输入状态 18、 68 个可屏蔽中断通道,16 个可编程优先级,16 个内核中断, 一共 68+16=84个中断。 103 系列只有60 个中断, 107 系列才有 68

5、个中断 19、 系统启动从0 x00000004开始, 0 x000 0000保留 20、 (NestedVectored Interrupt Controller)NVIC 嵌套向量中断控制器,分为两种:抢先 式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。两种优先级由4 位二进制位决 定。分配下来有十六种情况: 资料收集于网络,如有侵权请联系网站删除 word 可编辑 21、0 号抢先优先级的中断,可以打断任何中断抢先优先级为非0 号的中断; 1 号抢先优先 级的中断,可以打断任何中断抢先优先级为2、3、4 号的中断; ;构成中断嵌套。如果 两个中断的抢先优先级相同,谁先出现,就先响

6、应谁,不构成嵌套。如果一起出现(或挂在 那里等待), 就看它们2 个谁的子优先级高了,如果子优先级也相同,就看它们的中断向量 位置了。原来中断向量的位置是最后的决定因素! 22、 上电初始化后AIRC 初始化为0,为 16 个抢先式优先级,但是由于所有的外部通道中 断优先级控制字PRI_n 为 0,所以抢先式优先级相同,此时就不能嵌套了 23、 NVI 中有 ISER2(Interrupt Set-Enable Registers),ICER2(Interrupt Clear-Enable Registers ),ISPR2(Interrupt Set-Pending Registers),I

7、CPR2(Interrupt Clear-Pending Registers ),IABR2 (Active Bit Registers ),IPR15 (InterruptPriority Registers)定义。 其中 ISER 和 ICER 分别为中断使能和中断失能寄存器,都是写1 来使能 /失能中断的。为什 么写 1?为什么不采用一个寄存器而用两个寄存器来表示中断使能/ 失能状态?由于硬件, 写 0 比较复杂, 并且可能造成其他位的状态改变,所以用 1 来表示打开或者关断是比较合理 的 24、 中断标志位需要手动清除 25、 配置外围器件的一般步骤:1、打开端口时钟。2、定义初始化结

8、构体并初始化。3、 调用 26、串口的奇偶校验:如果是奇偶校验,那么USART_InitStructure.USART_WordLength= USART_WordLength_9b;这个数据的长度必须设定为9 位! 27、ADC 的规则组可以自定义转换通道顺序和转换的通道个数。在实际应用中,有时候希 望有一些特别的通道具有很高的优先权,需要在规则组进行转换的时候强制打断,进行另一 个通道的转换,这样一组通道,叫做注入组。 28、定时器的输出比较模式:Timing (冻结,什么都不做,普通定时),Active(OCxREF 输 出高电平有效),Inactive (OCxREF输出低电平),To

9、ggle (比较成功后翻转电平)。 29、STM32 的定时器从0 开始计数,满足一些条件,给出标志位(比如匹配成功、时间更 新、溢出等)然后从0 开始计数。这一点和51 不同。 30、OCx=OCxREF+ 极性 31、自动装载寄存器和影子寄存器:前者相当于51 当中的溢出设定数值。而影子寄存器顾 名思义是影子,就是寄存器的另一分copy。实际起作用的是影子寄存器,而程序员操纵的 资料收集于网络,如有侵权请联系网站删除 word 可编辑 则是自动装载寄存器。如果APPE位使能,表明自动装载寄存器的值在下一次更新事件发生 后才写入新值。否则,写入自动装载寄存器的值会被立即更新到影子寄存器。 3

10、2、RCC_PCLK1Config(RCC_HCLK_Div4);PCLK1的 4 分频给定时器基准时钟 33、定时器配置:RCC、NVIC、GPIO(OC 输出或者 PWM)、 TIMx 34、通用定时器可以输出4 路不同的PWM,高级定时器可以输出4 路不同的PWM 外,还 可以输出3 路互补的PWM 信号(驱动三相电机),一共有7 路。这样算出来STM32 可以 产生 30 路 PWM=7*2+4*4 35、 36、 高级定时器时钟源挂在了APB2 上,而通用定时器挂在APB1 上。AHB(72mhz )APB1 分频器(默认2) APB1 时钟信号( 36mhz )倍频器( *2 倍)

11、通用定时器时钟信号 (72mhz )。如果APB1 没有分频,那么通用定时器的时钟信号频率就直接等于APB1 的时 钟频率,没有上述的倍频器*2 过程。 TIM_SetAutoreload()用来改变 PWM 的频 资料收集于网络,如有侵权请联系网站删除 word 可编辑 率,TIM_SetCompare1()用来改变占空比 37、有刷电机一般启动力矩大一些,无刷电机启动力矩小,运行起来力矩大。有刷电机采 用电刷机械电流换向, 而无刷电机则通过霍尔传感器测出转子的电流来判断电机的运动位置 和方向,返回给控制回路。 38、死区是必须要有的,因为这涉及到电路 的短路问题。晶闸管在换向的时候需要死区

12、时 间来彻底关断线路 39、刹车功能用来在控制回路出现问题时,硬件自动给予外部电机进行紧急刹车制动,反 应在 PWM 上持续给出一个固定的占空比?(三相驱动也是?) 40、PWM 输出最好采用PWM 模式,其他的比较输出模式相位会慢慢改变,不精准 41、对 FLASH 的读写需要先解锁后加锁。FLASH 写 0 容易,写1 难。 42、下载程序有两种方式,一种为ICP(在线编程),适用于JTAG 或 SWD 协议下的烧写 程序。另一种成为IAP(在应用编程),适用于很多接口(USB,串口, CAN)下载到存储 器中, IAP 允许在程序运行时重新烧写FLASH 43、FLASH 分为主存储器(

13、这里放置用户的程序代码)和信息块(启动代码),除此之外, 还有一部分叫做系统存储器,这一块用户不可操作,为ST 公司出产后固化,为系统的上电 自举程序 44、FLASH在写的时候,一定不能读,如果有读操作,那么将会锁住总线 45、对 FLASH 操作时,必须打开HIS 46、STM32 有两种看门狗(IWDG 独立看门狗独立时钟,WWDG 窗口看门狗由APB1 分频而来) 47、SPI 的的最高频率为36MHz(fpclk/2) 48、TIM1 和 TIM8 高级定时器在输出PWM 时, 需要配置一下主输出功能(CtrlPWMOutputs ) 才能输出 PWM。其他的通用定时器不需要这样配置

14、。但是TIM6 和 TIM7 没有 PWM 输出功 能。 49、Code 为程序代码部分 RO-data 表示程序定义的常量(如: const temp等); RW-data 表示已初始化的全局变量 ZI-data 表示未初始化的全局变量,以及初始化为0 的变量 Code, RO-data,RW-data.flash RW-data, ZIdata.RAM 初始化时 RW-data 从 flash 拷贝到 RAM 50、STM32F103ZET6 有 144 个引脚 (Z 为 144),其中, 可用 IO 口为 112 个(7X16=112 , ABCDEFG口) 51、ARM公司只生产内核标

15、准,不生产芯片 。ST、TI 这样的公司从ARM 公司那里购买内 核,然后外加自己的总线结构、外设、存储器、始终和复位、I/O 后就组成了自己的芯片。 资料收集于网络,如有侵权请联系网站删除 word 可编辑 52、CMSIS 标准用于在向上的用户层和下面的硬件层交换信息。这个架构当然可以自己定 义,但是这样的话就会没有标准。所以强制使用CMSISI 标准来设计芯片。通俗点的讲就是 系统初始化的函数名称CMSIS 定义为 SystemInit(),GPIO_ResetBits() 等 53、端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时钟即可。 后者需要打开AFIO 时钟

16、,然后进行端口的重映射GPIO_PinRemapConfig() 54、下载程序只能使用串口1,在硬件设计时一定要注意! 55、J-TAG 调试频率一般设定为2MHz,而 SWD 调试频率可以设定为10MHz 56、SysTick 的中断实现可以有两种方式:循环等待和中断法。推荐用循环等待,中断法可 能会出问题而且占用资源。 57、部分 I/O 引脚是 5V 兼容的。单个I/O 的最大驱动电流和灌入电流均为25mA 。整个芯 片的电流为150mA 58、KEIL 支持位段操作,可以利用C 语言中的位段知识定义位段结构体,然后对单独的寄 存器进行单独的位操作。 59、关于内部上下拉电阻的设置:如果外部的按键另一头接地,那么需要设置成上拉电阻。 (理由是当没有按下按键时,由于上拉,输入为高电平;按下时,由于外部接地,输入为低 电平。)同理,如果外部的按键另一头接高电平,那么需要设置成下拉电阻。 60、串口中断 TXE 和 TC 的区别:其实很明显,一个是发送寄存器空标志,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号