嵌入式期末复习重点
文章目录1. 选择与填空2. 判断3. 简述4. 软硬件四层结构(复习幻灯片)5. 嵌入式系统体系结构6. 嵌入式处理器四种类型7. 机器人的主要传感器及其特性8. RAM/ROM/Cache/寄存器8.1 RAM ROM及其特性8.2 寄存器、Cache、Flash速度比较9. 嵌入式Linux(1选择题或填空题)10. STM32芯片编号的含义11. 引脚11.1 STM32引脚工作模式11.
文章目录
- 1. 选择与填空
- 2. 判断🤨
- 3. 简述
- 4. 软硬件四层结构(复习幻灯片)
- 5. 嵌入式系统体系结构
- 6. 嵌入式处理器四种类型
- 7. 机器人🤖的主要传感器及其特性
- 8. RAM/ROM/Cache/寄存器
- 9. 嵌入式Linux(1选择题或填空题)
- 10. STM32芯片编号的含义
- 11. 引脚🦶🏻
- 12. 串口
- 13. LED灯💡
- 14. 定时器⏲
- 15. 电机🦾
- 16. STM32中中断函数初始化的代码
- 17. STM32中PWM设置输出通道1、2比较值的函数
- 18. STM32中若串口输出数据应如何操作
- 19. μC/OS-II中信号量的两个操作
- 20. 串行通信口(USART)连接方式
- 21.ST-Link未装驱动或坏了会出现什么情况
1. 选择与填空
-
PID控制器分别是哪三个含义(单词)的缩写:比例、积分、微分
PID: Proportional-Integral-Derivative control
-
嵌入式系统的设计三个阶段:分析、设计与实现
-
嵌入式开发模式:本机开发、交叉开发、模拟开发
-
嵌入式系统一般采用交叉开发模式
宿主机上编译、链接;目标机上运行、调试
-
根据是否具有实时性能可以分为:实时系统、非实时系统
-
根据实时响应速度可以分为:硬实时系统、软实时系统
硬实时系统:关键任务在确定的时间得到响应,不能失败
软实时系统:偶尔任务的响应时间超出限制也不会有严重后果
-
音频信号采样:DAC;数字信号转音频信号输出:ADC
-
STM定时器主要参数:计数器值、预分频值
-
FreeRTOS对系统任务的数量没有限制,既支持优先级调度算法,又支持轮转调度算法
-
FreeRTOS采用双向链表来进行调用
-
与μC/OS-II相对应的嵌入式操作系统是FreeRTOS
-
μC/OS-II最多支持64个任务同时运行。任务编号与优先级范围均为0~63。数字越小优先级越高
-
μC/OS-II内核是针对实时系统的要求来设计实现的,为可剥夺(抢占式)实时多任务内核,但是没有网络功能和文件系统
-
μC/OS-II任务间通信方法有4种:全局变量、信号量、邮箱、消息队列
-
ESP8266是一个低功耗的WIFI芯片
-
嵌入式系统的加载启动任务由BootLoader来完成
-
机器人一般由执行机构、驱动装置、检测装置、控制系统、复杂机械组成
-
机器人一般由机械本体、控制系统、传感器、驱动器和输入/输出系统接口等五部分组成。
-
通用定时器TIM三种工作方式:向上计数模式、向下计数模式、中央对齐模式
-
STM32引脚未接外界电路,呈现高阻态模式(伏空输入模式)
-
减速器由多级齿轮组合而成,级数越高,转速越低,扭矩越大,载荷能力越高
-
STM32芯片内核: ARM Cortex-M3,最高频率 ?
-
接受外部模拟型号,引脚配置:模拟输入
模拟输出/推挽输出?
-
初始化PWM,初始引脚配置:复用推挽输出
-
管脚输出电压3.3V, 配置PWM占空比30%,则有效输出电压为:3.3*0.3=0.99V
2. 判断🤨
-
STM32配置串口时,需要将Rx引脚设置为推挽输出模式
错。R为Recieve, 故应设置为输入
-
脉冲宽度调制(PWM)改变LED灯亮度通过调节电压高低来实现
错。是通过调节亮灭时间比来实现的
3. 简述
- 简单的嵌入式应用开发过程
- 在个人电脑上配置交叉开发环境、安装仿真器,编写程序
- 交叉编译,在仿真器上运行测试并修改直到软件满足需求
- 利用面包板开发和调试软、硬件
- 利用编程器将软件烧到开发好的系统中进行现场运行测试
- FreeRTOS特点
- 用户可配置内核功能
- 多平台的支持(几乎可以在所有ARM体系芯片中运行)
- 提供一个高层次的信任代码的完整性
- 目标代码小,简单易用
- 强大的执行跟踪功能
- 堆栈溢出检测
- 没有限制的任务数量
- 没有限制的任务优先级
- 多个任务可以分配相同的优先权
- 队列,二进制信号量,计数信号灯和递归通信和同步的任务
- 优先级继承
- 免费开源的源代码
4. 软硬件四层结构(复习幻灯片)
硬件层、中间层、系统软件层、应用软件层
5. 嵌入式系统体系结构
硬件组成部分:处理器、存储器、输入输出系统
6. 嵌入式处理器四种类型
嵌入式处理器是嵌入式系统硬件中的最核心的部分
- MPU (Microprocessor Unit) 微处理器
- MCU (Microprogrammed Control Unit) 微程序控制器
- DSP (Digital Signal Processor) 数字信号处理器
- SoC (System on a Chip) 片上系统
7. 机器人🤖的主要传感器及其特性
- 光线传感器:感受周围光线明暗程度并转化成电信号
- 人体红外传感器:探测静止人体的红外热释
- 红外测距传感器:用红外线为介质测量
- 红外灰度传感器(循迹传感器组成成分):根据接收器收到的红外光多少来判断障碍物的黑白颜色情况(黑色物体吸收光多)
- 蓝色的是红外发射管;黑色的是红外接收管。二者合称为红外对管
- 三个接线口:
- GND:接地
- VCC (Voltage Common Collector):直流5V电压输入
- OUT:信号输出(黑色输出低电平,白色输出高电平)
- 多个红外灰度传感器组成循迹传感器(即巡线传感器)
- 温度传感器:感受温度并转化成可输出信号
8. RAM/ROM/Cache/寄存器
8.1 RAM ROM及其特性
RAM(Random-Access Memory 内存):特性断电数据丢失,访问速度快,存取短期数据
ROM(Read-Only Memory):特性断电不丢失数据,访问速度较慢,存储长期不能丢失的数据
8.2 寄存器、Cache、Flash速度比较
寄存器 > Cache > Flash(ROM) > 外部存储器
9. 嵌入式Linux(1选择题或填空题)
- 特点
- 开源、免费、高效、内核小、功能强、API丰富、系统健壮
- 支持多种CPU芯片,包括x86 CPU
- 种类
- uCLinux
- ARMLinux
- RT-Linux/RTAI
- Embedix
- Blue Cat Linux
- Hard Hat Linux 区别于:Red Hat
- Ubuntu 区别于:Debian
10. STM32芯片编号的含义
11. 引脚🦶🏻
11.1 STM32引脚工作模式
清楚每种工作模式的名字+含义
-
ADC : Analog to Digital Converter 模数转换器(Imp)
-
DAC : Digital to Analog Converter 数模转换器(Imp)
-
I2C : Inter-Integrated Circuit 集成电路总线
-
USART : Universal Synchronous/Asynchronous Receiver/Transmitter
通用同步/异步串行接受/发送器
-
SPI : Serial Peripheral Interface 串行外设接口
-
FSMC : Flexible Static Memory Controller 可变静态存储控制器
-
SDIO : Secure Digital Input and Output Card 安全数字输入输出卡
-
CAN : Controller Area Network 控制器域网
11.2 解释USART\ADC\DAC\PWM
-
ADC (Analog to Digital Converter)模数转换器
将连续的模拟信号转换为离散数学信号的器件
-
DAC (Digital to Analog Converter)数模转换器
将离散的数字信号转换为连续模拟信号的其器件
-
USART (Universal Synchronous/Asynchronous Receiver/Transmitter) 通用同步/异步串行接收/发送器
USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备
-
PWM (Pulse Width Modulation)脉冲宽度调制
脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变
11.3 STM32芯片引脚输入输出模式(了解)
参考
英文名 | 解释 | 中文名 |
---|---|---|
GPIO_Mode_AIN | Analog in | 模拟输入 |
GPIO_Mode_IN_FLOATING | input floating | 浮空输入 |
GPIO_Mode_IPD | input pulled down | 下拉输入 |
GPIO_Mode_IPU | input pulled up | 上拉输入 |
GPIO_Mode_Out_OD | output open drain | 开漏输出 |
GPIO_Mode_Out_PP | output push-pull | 推挽输出 |
GPIO_Mode_AF_OD | alternate function open drain | 复用开漏输出 |
GPIO_Mode_AF_PP | alternate function push pull | 复用推挽输出 |
- 模拟输入:接收外接电路的模拟信号
- 浮空输入:接收外接电路的数字信号,未接外接电路时呈现高阻态
- 下拉输入:把电位拉低到GND
- 上拉输入:把电位拉低到VCC
- 开漏输出:IO输出0,为GND电平;IO输出1,为悬空状态,需外接上拉电阻,才能实现输出高电平
- 推挽输出:IO输出0,为GND电平;IO输出1,为VCC电平,读输入值是未知的
- 复用开漏输出:高级功能下的开漏输出模式,如串口输出
- 复用推挽输出:高级功能下的推挽输出模式,如I2C的SDA和SCL输出(I2C:同步串行总线、SDA:串行数据线、SCL:串行时钟线)
11.4 GPIO管脚编程初始化过程
-
STM32驱动LED发光二极管
-
如何设置管脚为推挽输出(记住代码)
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP
-
清楚GPIO_Speed含义:引脚速度。定义输入/输出的最高频率
12. 串口
12.1 STM32中串口编程
串口编程初始化步骤:
-
设置波特率(波特率115200)
问:通过串口连接的两台计算机一秒传输的字节数为多少?
115200/8 byte 115200bit
-
设置字长
-
设置停止位(记住代码)
-
设置奇偶校验位(记住代码)
-
设置
//USART初始化设置
USART_InitStructure.USART_BaudRate = bound;//波特率为9600
USART_InitStructure.USART_WordLength =USART_WordLength_8b;//字长为8位数据
USART_InitStructure.USART_StopBits =USART_StopBits_1;//1个停止位
USART_InitStructure.USART_Parity =USART_Parity_No;//无奇偶校验位
USART_InitStructure.USART_HardwareFlowControl =USART_HardwareFlowControl_None;//无硬件数据流控制
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收发模式
USART_Init(USART1, &USART_InitStructure);//串口初始化
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//中断开启
USART_Cmd(USART1, ENABLE);//串口使能
12.2 串口通讯中收/发/收发双工模式代码
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式
13. LED灯💡
13.1 设置LED灯亮(高电平)/灭(低电平)/延时
代码
GPIO_SetBits(GPIOB, GPIO_Pin_5); //点亮LED0
GPIO_ResetBits(GPIOE, GPIO_Pin_5); //关闭LED1
delay_ms(500); //延时500ms
14. 定时器⏲
14.1 定时器分类及名称
-
分辨率16位
- 高级定时器(2个):TIM1、TIM8,互补输出功能
- 普通定时器(4个):TIM2 ~ TIM5,无互补输出功能
- 基本定时器(2个):TIM6、TIM7,无捕获/比较通道,无互补输出功能
-
分辨率24位
- 系统滴答(systick)定时器(1个):倒计时定时器。在睡眠模式下也能工作
-
其它
- 看门狗定时器(2个)
14.2 初始化定时器的代码
-
自动重装载寄存器周期值:TIM_Period
该值用于定时器计数,在根据该值从而产生定时器中断
-
设置计时器的预分频值:TIM_Prescaler
该值用于定时器频率分割
问题:定时器编码中如果设置***定时器***经过计数N=10000后进入中断处理函数,在初始化时应设置什么变量的值=9999?
参考:
频率: F = 72 M ( a r r + 1 ) ∗ ( p s c + 1 ) F = \frac{72M}{(arr+1)*(psc+1)} F=(arr+1)∗(psc+1)72M 占空比: D c = T i m − > C C R 1 p s c + 1 Dc = \frac{Tim->CCR1}{psc+1} Dc=psc+1Tim−>CCR1
72M:STM32时钟频率 arr:自动重装载值
psc:预分频值 TIM->CCR1:动态设置的比较值
14.3 TIM_setcompile含义(第五章定时器编程)
如何用其设置指定占空比的皮达姆波(PWM)
思考:
- 栈空比50% 如何设置?
- 频率50k时,预分频值为多少?
void right_motor_forward(u16 pwm){
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
TIM_SetCompare3(TIM3, pwm)
}
15. 电机🦾
15.1 掌握步进电机引脚初始化的代码(第五章PPT)
& 掌握直流电机引脚初始化的代码
- 指定GPIO口
- 指定GPIO口工作模式(out pp)
- 指定GPIO工作频率
- 初始化GPIO口
16. STM32中中断函数初始化的代码
理解此代码中的抢占优先级,响应优先级的设置方法
抢占优先级和响应优先级,其实是一个中断所包含的两个优先级,其中前者是对抢占优先级的级别划分,后者是相同抢占优先级的优先级别的划分。
17. STM32中PWM设置输出通道1、2比较值的函数
18. STM32中若串口输出数据应如何操作
使用专门的串口输出函数不能用printf
19. μC/OS-II中信号量的两个操作
-
OSQ pend (tend?)
操作消息的函数
-
OSQ post
操作消息队列的函数
20. 串行通信口(USART)连接方式
单片机和串行通信口之间的通信,设备的Tx接单片机的Rx,设备的Rx接单片机的Tx
21.ST-Link未装驱动或坏了会出现什么情况
无法烧录
written by 👉🏻Linda Silk & 👉🏻Laurel Shay
2019/12/21
我的其它相关文章
更多推荐
所有评论(0)