- 电子数字积分计算机
- Cortex 的 A、M 和 R 系列分别针对高性能类、微控制器类和实时类应用
- 物联网体系结构大致有三个层次:底层是用来感知数据的感知层,中层是传输的网络层,最上层则是应用层,
- 嵌入式系统的工程设计和开发流程:
嵌入式系统和产品的开发过程大致可分为需求分析、架构和概要设计、详细设计和开发与测试反馈
5 位带操作
位带区操作示例:
- 在地址0x20000000处写入0x3355 AACC 。
- 读写地址:0x22000008。本次读访问将读取0x20000000,并提取bit2,值为1。
- 往地址0x22000008处写0。本次操作将被映射成对地址0x20000000的"读﹣改一写"操作(原子操作),把bit2清0
- 现在再读取0x20000000,将返回0x3355AAC8(bit2清零)
6 Cortex -M3的工作模式和特权等级共有三种配合:
- 线程模式+用户级:
- 线程模式+特权级;
- Handler 模式+特权级。
复位后, Cortex -M3首先进入 线程模式 + 特权级
- Cortex -M3使用的是"向下生长的满栈"模型
- STM32F103CBT6 微处理器主频为72MHz,128KB内部Flash,20KB RAM,12位ADC是中等容量微处理器中Flash和RAM最大的一款
- STM32高速外部时钟可以使用一个4~16MHz的晶体/陶瓷谐振器构成的振荡器产生
- * 系统复位将复位除时钟控制寄存器 CSR 中的复位标志和备份区域中的寄存器以外的所有寄存器。当以下事件之一发生时,产生系统复位:kao
- NRST 引脚上的低电平(外部复位)
2)窗口看门狗计数终止( WWDG复位)。
3)独立看门狗计数终止( IWDG 复位)。
4)软件复位( SW 复位)。
5)低功耗管理复位。
11.
BOOT1[1:0]引脚选择(文字描述)kao
启动模式选择引脚 | 启动模式 | 说明 | |
BOOT | BOOT0 | ||
x | 0 | 用户闪存存储器 | 用户闪存存储器被选为启动区域 |
0 | 1 | 系统存储器 | 系统存储器被选为启动区域 |
1 | 1 | 内嵌SRAM | 内嵌SRAM 被选为启动区域 |
12 *异或运算kao
参与按位异或运算(^)的两个运算数,从低位开始,对齐每一位,逐位进行异或操作,只要对应位上的数据相同,该位结果为0,不相同,则结果为1
例如,定义 unsigned char 型变量 a 和 b ,初始值分别为 0b 1011 0100和 0b 0101 0110执行 a^b 操作。a^b 的结果如下:
0b 1011 0100
^ 0b 0101 0110
0b 1110 0010
按位异或用于翻转某一位或几位:
PORTB =0x40;//从翻转端口 B 的bit6位的值,为0则变成1,为1则变成0
temp ^=0x08;//翻转 temp 变量bit3位的值
tpa =0x03;//翻转 tpa 变量bit0、 bitl 位的值
13 跑马灯程序流程
14 Cortex -M3允许具有较少中断源时使用较少的寄存器位指定中断源的优先级,
STM32把指定中断优先级的寄存器位减少到4位,这4个寄存器位的分组方式如下
第0组:所有4位用于指定亚优先级。
第1组:最高1位用于指定抢占优先级,最低3位用于指定亚优先级。
第2组:最高2位用于指定抢占优先级,最低2位用于指定亚优先级。
第3组:最高3位用于指定抢占优先级,最低1位用于指定亚优先级。
第4组:所有4位用于指定抢占优先级
19 软件中断,事件的选择
19个线路可以被配置成软件中断/事件线。下面是产生软件中断的过程:
1)配置19个中断/事件线屏蔽位(EXTI _ IMR 和 EXTI _ EMR )。
2)设置软件中断寄存器的请求位(EXTI _ SWIER )。
112个通用 / O 端口以图5.8所示的方式连接到16个外部中断/事件线上。另外三种外部中断/事件控制器的连接如下:
1) EXTI 线16连接到 PVD 输出。
2) EXTI 线17连接到 RTC 闹钟事件。
3) EXTI 线18连接到 USB 唤醒事件。
20
1.结合图5.1说明 GPIO 输入及输出过程。
3.外部中断/事件控制器( EXTI )有什么特征?
22最多两个高级控制定时器(TIM1和TIM8),四个通用定时器(TIM2~TIM5)和两个基本定时器(TIM6和TIM7)以及两个看门狗定时器和一个系统嘀嗒定时器
P155时序图
21通用定时器 TIMx (TIM2、TIM3、TIM4和TIM5)功能包括:kao
1)16位向上、向下、向上/向下自动装载计数器。
2)16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值。
3)四个独立通道,即输入捕获、输出比较、 PWM 生成(边缘或中间对齐模式)、单脉冲模式输出。
4)使用外部信号控制定时器和定时器互联的同步电路。
5)如下事件发生时产生中断/ DMA ,即更新[计数器向上溢出/向下溢出、计数器初始化(通过软件或者内部/外部触发)]、触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)、输入捕获、输出比较。
6)支持针对定位的增量(正交)编码器和霍尔传感器电路。
7)触发输入作为外部时钟或者按周期的电流管理。
22时基单元包含:
计数器寄存器(TI Mx _ CNT)
预分频器寄存器(TIMx _ PSC)
自动装载寄存器(TIMx _ ARR)
23 计数器时钟可由下列时钟源提供:
- 内部时钟模式(CK _ INT );
- 外部时钟模式1:外部输入脚(Tlx );
- 外部时钟模式2:外部触发输入(ETR );
- 内部触发输入(ITRx ):使用一个定时器作为另一个定时器的预分频器,例如可以配
置一个定时器Timer1而作为另一个定时器Timer2的预分频器
24
输入捕获模式
PWM输入模式
输出比较模式
PWM模式
25 STM32的 ADC
STM32的12位 ADC 是一种逐次逼近型模/数转换器。它有多达18个通道,可测量16
个外部和两个内部信号源。各通道的 A / D 转换可以单次、连续、扫描或间断模式执行
26
1.ADC主要特征
1)12位分辨率。
2)转换结束、注入转换结束和发生模拟看门狗事件时产生中断。
3)单次和连续转换模式。
4)从通道0到通道 n 的自动扫描模式。
5)自校准。
6)带内嵌数据一致性的数据对齐。
7)采样间隔可以按通道分别编程。
8)规则转换和注入转换均有外部触发选项。
9)间断模式。
10)双重模式(带两个或以上 ADC 的器件)。
11) ADC 转换时间:①STM32F103xx增强型产品:时钟为56MHz时为1us(时钟为72MHz为1.17us);②STM32F101xx基本型产品:时钟为28MHz时为1us(时钟为36MHz为1.55μ s );③STM32F102xxUSB型产品:时钟为48MHz时为1.2us;④STM32F105xx和STM32F107xx产品:时钟为56MHz时为1μ s (时钟为72MHz为1.17μ s )。
12) ADC 供电要求:2.4~3.6V。
3O3
13) ADC 输入范围: VREF -≤ VIN ≤ VREF +○
14)规则通道转换期间有 DMA 请求产生
27
任何 USART 双向通信都至少需要两个引脚,即接收数据输入( RX )和发送数据输出(TX )
28
串口设置一般可以归纳为如下步骤:
- 串口时钟使能, GPIO 时钟使能。
- 串口复位。
- GPIO 端口模式设置。
- 串口参数初始化。
- 开启中断并且初始化 NVIC (如果需要开启中断才需要这个步骤)。
- 使能串口。
- 编写中断处理函数。
29
SPI 的功能框图如图9.8所示。通常情况下, SPI 通过以下四个引脚和外设相连:
1)MISO :主设备数据输入/从设备数据输出。这一引脚用于在从模式下发送数据,
模式下接收数据
2) MOSI :主设备数据输出/从设备数据输入。这一引脚用于在主模式下发送数据,
模式下接收数据
30
IC 总线在传送数据过程中共有三种类型信号,分别是开始信号、结束信号和应答信号
开始信号: SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据
结束信号: SCL 为低电平时, SDA 由低电平向高电平跳变◇结束传送数据
应答信号:接收数据的 IC 在接收到8bit数据后,向发送数据的 IC 发出特定的低
平脉冲,表示已收到数据