嵌入式试卷

A卷
名词解释
什么是全双工通信,半双工通信,单工通信
NOR flash和NADA Flash
I^2C通讯协议。
FatFs名词解释
简答五个
GPIO端口保护二极管及上下拉电阻的作用。
GPIO初始化函数的流程。
触摸状态机的原理。
SPI通讯过程
Fmsc控制液晶
编程题
按下按键一灯亮,按下按键二灯灭。
采集开发板的电压,并将串口发送电压值。
以16×16为例,设计汉字字模液晶显示函数。
综合设计题
密码锁
温箱控制温度。
B卷
什么是DRAM,SRAM
独立看门狗,窗口看门狗
简述pclk1,Pclk2,sclk,plclk的意义和常用配置值。
LED灯初始化流程
位带PBout0等于零的功能。
读取汉字字库的方法,汉字在内部flash
存储器内部块的数量以及作用。
编程题
串口发送1亮红灯,发送2亮绿灯,发送3亮黄灯。
触摸屏,开始显示热爱两字,触摸后变成你好。
基本定时器,实现LED灯1秒亮灭功能。
综合设计
水位控制系统

下面,我会总结一下我的备考经验

enWin是Segger公司针对嵌入式平后开发的图形软件库,通过调用enwin 提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。图形软件库 就是一些与图形并面相关的函数,它提供接口给用户调用。

UC/GuI是Segger 公司为Micrium公司定制的图形软件库

ST公司定制版的emWin,叫STemWin.

a.ST是指意法半导体公司。 M是Microelectronics 的缩写.

32表示32位,STM32 就是指ST公司开发的32位微控制器

b.位操作就是可以单独对一个比特位进行读和写。

SM32中两个地方实现了位带。一个是SRAM区的最低的1MB 空间,另一个是外设区最低的1 MB空间。它们 有自己的位带别名区。位带别名区把IMB的空间的每一位膨胀成一个32位的字,访问位带别名区的这些字,就可以达到访问位带区某个比特位的目的。

c.NOR 的地址线和数据线分开,按”字节”读写数据

NAND 的数据和地址线共用,按“块”读写数据,

NOR Flash一般应用于代码存储的场合。

NAND Flash 一般应用在大数据量存储的场合。

d. I^2C通信协议是由Philips公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要使用USART, CAN等 通信协议的外部设备,现在被广泛的用于系统内多个集成电路(I^2C)的通信。

全双工可同时收发数据。
半双工不可同时收发数据,可分时收发数据。
单工任何时刻都只能往某一个固定方向传输数据。
Fatfs是面向小型嵌入式系统的一种通用fat文件系统。
它是完全用c语言编写,并且完全独立于底层io介质。因此,它可以很容易被不加修改地移植到其他处理器上。
Spi通讯过程
控制NSS信号线产生起始信号。
把要发送的数据写入数据寄存器DR中,该数据会被存储到发送缓冲区。
开始通信,SCK时钟开始中开始运行。Mosi把发送缓冲区中的数据一位一位的传输出去。Miso则把数据一位一位存储进接收缓冲区。
当发送完一帧数据的时候,状态寄存器中的txe标志位会被置1,表示传输完一帧,发送缓冲区已空。接收完一帧数据的时候,Rxne标志位置1表示传输完一帧接收缓存区为空。
dram动态随机存储器DRAM的存储单元以电容的电荷来表示数据,有电荷代表一,无电荷代表零。代表一的电容会放电,代表零的电容会吸收电荷。因此他需要定期刷新操作,刷新操作会对电容进行检查。若电量大于满电量的1/2,则认为其代表一并把电容充满电。若电量小于1/2,则认为其代表零,并把电容放电,借此来保证数据的正确性。
SRAM静态随机存储器SRAM的存储单元以锁存器来存储数据。这种电路结构,不需要定时刷新充电。就能够保持状态,如果断电,数据丢失。
Spi通讯协议是由摩托罗拉公司提出的通讯协议。即串行外围设备接口。是一种高速全双工的通信总线。它被广泛的使用在adc,lcd等设备与mcu间。适用于对串行速率要求较高的场合。
独立看门狗12位递减计数器,当计数器的值从一个值一直减到零时。就会产生一个复位信号。窗口看门狗如果在没有减到零之前喂狗,就不会产生复位信号。在上窗口和下窗口之间,才可以喂狗。
按按键一灯亮,按按键二灯灭。
宏定义
按键key一,按键key二。
LED
检测key_scan()
按键初始化函数
led初始化函数,
按键检测函数。
main{
LED初始化
按键初始化
While语句{
If语句
检测key1打开,
则led亮
if语句
检测到key2打开
则 led灭}}

Adc采集电压
Usart串口配置初始化。
Adc初始化
main(){
usart_config();
Adc_int();
while(1)
{
y等于x除于4096×3.3
Print输出y}
}}
温箱采集温度T=(y-0.76)÷0.0025+25

16×16汉字字模显示。
显示中文字符函数中
定义字模数组,将所取的字模封装。
设置显示窗口。
Switch语句取用数组中的字模,每32个16进制数为一个汉字。
for语句显示每个汉字,写命令显示在液晶屏。

汉字字模显示
字模显示汉字函数。首先,函数需要x坐标,y坐标和显示的字符。然后提取字模写在数组中。然后用switch语句挑选出数组中的每一个字。一个字32个16进制位,最后用for循环,显示每个字的字样。

密码锁
lCd初始化函数
触摸屏初始化函数
串口配置初始化。
密码锁界面绘制函数
触摸检测函数
main()
{定义变量m[]
9341初始化。
Xpt2046初始化。
usart初始化
扫描显示模式,选择模式六。
密码锁界面();
while(1){
触摸检测();
m=触摸值
if(正确==1234)
打开
else
Print(密码错误);
}}

水位控制器
输入水位传感器(电压)。
控制嵌入式计算机系统,控制注水开关,指示灯,报警器。
输出LED报警灯。
LED初始化函数
报警功能函数
注水开/关函数
串口初始化函数
main(){
led初始化。
Usart初始化配置。
while(1){
if(低于低水位)
注水开函数
LED亮蓝灯
else if达到中水位
注水关函数
led亮绿灯
else if高于高水位
led亮红灯
报警}}}

定时器一秒亮灭
时钟源CK_INT=72MHZ
计数值TIM_Period=1000
预分频_Presaler=71
"1s" 72MHZ/(71+1)=1MHZ
1/1MHZ=1us
1us*1000=1ms
main:time=1000(中断次数)
time=0;
led取反
"1s"=1ms*1000次=1s

婴儿保温箱
当婴儿保温箱低于36度的时候,通过GPIO输入输出端口传入嵌入式系统中。此时控制输出设备,启动加热器加温。当温度达到38度时,加热器停止加热。当传感器检测到温度超过40度的时候,控制停止加热装置,并通过警报器发出报警。
采集开发板的电压。Adc采集温度。

嵌入式系统你应用为中心,以计算机技术为基础,软件,硬件可裁剪,适应应用系统对功能。可靠性,成本,体积,功耗,严格要求的专用计算机系统。
GPIO输入输出GPIO是通用输入输出端口简称。简单来说,就是stm32可控制的引脚。Stm32f103型号的芯片有GPIOA,GPIOB至GPIOG共七组GPIO.所有的GPIO引脚都有基本的输入输出功能。

热爱->你好
先用取模软件,把这几个字的字模取出来。
在getgbk_from_exfflash()这个方法中,创建一个数组,把字模加进去。
然后定义uint8_t i,j;这两个变量。
再利用switch语句和for循环判断当前取模起始位置和终止位置。
在main函数中调用中文字符函数显示热爱
在while循环里面
触摸检测函数
中文字符函数"你好"

LED亮灭红黄蓝三个灯循环亮灭。
只需要在主函数中加入LED初始化
系统定时器初始化还有按键中断初始化。在while循环中,先让LED1_ON,系统定时器延时,然后LED1_off,接着去写led2,led3即可。

I^2C通信过程
控制产生起始信号s
当发生起始信号后,它产生事件EV5
并对SR1寄存器的SB位置1。
发送设备地址,并等待应答信号。若应答,则产生EV6及EV8。
SR1寄存器的ADDR及txe置1。
Addr位清零,往dr写要发送的数据。txe置0,i^2c外设通过sda信号线一位位把数据发送出去,产生ev8,txe置1。
发送最后一个数据,产生ev8_2事件,SR1的txe,bte都置1,产生一个停止信号p通信结束。
主接收器 
起始信号s产生ev5,sr1寄存器的sb置1
发送设备并等待应答信号,若应答,ev6,sr1的addr置1
主机收到从机数据产生ev7
sr1的rxne置1
发送非应答信号,产生停止信号p结束。

gpio初始化。
先取得gpio_mode的值。判断bit4是零还是一。是一为输出,零为输入,如果是输出,则要设置输出速率,gpio_speed
Gprocrl寄存器配置crl寄存器控制低八位io。
gpiocrh寄存器配置crh寄存器控制高八位io。

LED初始化。
定义gpio初始化结构体变量。
调用库函数使能LED的gpio端口时钟。
向gpio初始化结构体赋值,把引脚初始化为推挽输出。
向寄存器中写入参数,完成gpio初始化。
初始化其他LED使用的引脚。
使用宏控制RGB灯默认关闭。

Fmsc控制液晶的原理
8080。模拟8080时序,把fsmc的A0地址线与9341芯片8080接口的d/cx信号线连接。A0为高电平,数据线D[15:0]的信号会被9341理解为数值,A0为低电平则会被理解为命令。
配置好fsmc的外设,在代码中利用指针变量向不同地址单元写入数据,就能有fsmc模拟的8080接口向9341写入控制命令或数据。

用内部flash是读取汉字字模的方法。
不使用带有指针型变量的函数,自己定义数组(字模)一般都是使用gbk函数。因为ASC|丨里面没有汉字,故使用gbk函数,用GetGBKCode函数获取字模数据。

两个相对来说重要的图(其他的也重要,比如内存块)

触摸检测机状态转换

文件系统的层次结构

 

版权声明:本文为CSDN博主「Yang青青」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52286530/article/details/122243993

A卷
名词解释
什么是全双工通信,半双工通信,单工通信
NOR flash和NADA Flash
I^2C通讯协议。
FatFs名词解释
简答五个
GPIO端口保护二极管及上下拉电阻的作用。
GPIO初始化函数的流程。
触摸状态机的原理。
SPI通讯过程
Fmsc控制液晶
编程题
按下按键一灯亮,按下按键二灯灭。
采集开发板的电压,并将串口发送电压值。
以16×16为例,设计汉字字模液晶显示函数。
综合设计题
密码锁
温箱控制温度。
B卷
什么是DRAM,SRAM
独立看门狗,窗口看门狗
简述pclk1,Pclk2,sclk,plclk的意义和常用配置值。
LED灯初始化流程
位带PBout0等于零的功能。
读取汉字字库的方法,汉字在内部flash
存储器内部块的数量以及作用。
编程题
串口发送1亮红灯,发送2亮绿灯,发送3亮黄灯。
触摸屏,开始显示热爱两字,触摸后变成你好。
基本定时器,实现LED灯1秒亮灭功能。
综合设计
水位控制系统

下面,我会总结一下我的备考经验

enWin是Segger公司针对嵌入式平后开发的图形软件库,通过调用enwin 提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。图形软件库 就是一些与图形并面相关的函数,它提供接口给用户调用。

UC/GuI是Segger 公司为Micrium公司定制的图形软件库

ST公司定制版的emWin,叫STemWin.

a.ST是指意法半导体公司。 M是Microelectronics 的缩写.

32表示32位,STM32 就是指ST公司开发的32位微控制器

b.位操作就是可以单独对一个比特位进行读和写。

SM32中两个地方实现了位带。一个是SRAM区的最低的1MB 空间,另一个是外设区最低的1 MB空间。它们 有自己的位带别名区。位带别名区把IMB的空间的每一位膨胀成一个32位的字,访问位带别名区的这些字,就可以达到访问位带区某个比特位的目的。

c.NOR 的地址线和数据线分开,按”字节”读写数据

NAND 的数据和地址线共用,按“块”读写数据,

NOR Flash一般应用于代码存储的场合。

NAND Flash 一般应用在大数据量存储的场合。

d. I^2C通信协议是由Philips公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要使用USART, CAN等 通信协议的外部设备,现在被广泛的用于系统内多个集成电路(I^2C)的通信。

全双工可同时收发数据。
半双工不可同时收发数据,可分时收发数据。
单工任何时刻都只能往某一个固定方向传输数据。
Fatfs是面向小型嵌入式系统的一种通用fat文件系统。
它是完全用c语言编写,并且完全独立于底层io介质。因此,它可以很容易被不加修改地移植到其他处理器上。
Spi通讯过程
控制NSS信号线产生起始信号。
把要发送的数据写入数据寄存器DR中,该数据会被存储到发送缓冲区。
开始通信,SCK时钟开始中开始运行。Mosi把发送缓冲区中的数据一位一位的传输出去。Miso则把数据一位一位存储进接收缓冲区。
当发送完一帧数据的时候,状态寄存器中的txe标志位会被置1,表示传输完一帧,发送缓冲区已空。接收完一帧数据的时候,Rxne标志位置1表示传输完一帧接收缓存区为空。
dram动态随机存储器DRAM的存储单元以电容的电荷来表示数据,有电荷代表一,无电荷代表零。代表一的电容会放电,代表零的电容会吸收电荷。因此他需要定期刷新操作,刷新操作会对电容进行检查。若电量大于满电量的1/2,则认为其代表一并把电容充满电。若电量小于1/2,则认为其代表零,并把电容放电,借此来保证数据的正确性。
SRAM静态随机存储器SRAM的存储单元以锁存器来存储数据。这种电路结构,不需要定时刷新充电。就能够保持状态,如果断电,数据丢失。
Spi通讯协议是由摩托罗拉公司提出的通讯协议。即串行外围设备接口。是一种高速全双工的通信总线。它被广泛的使用在adc,lcd等设备与mcu间。适用于对串行速率要求较高的场合。
独立看门狗12位递减计数器,当计数器的值从一个值一直减到零时。就会产生一个复位信号。窗口看门狗如果在没有减到零之前喂狗,就不会产生复位信号。在上窗口和下窗口之间,才可以喂狗。
按按键一灯亮,按按键二灯灭。
宏定义
按键key一,按键key二。
LED
检测key_scan()
按键初始化函数
led初始化函数,
按键检测函数。
main{
LED初始化
按键初始化
While语句{
If语句
检测key1打开,
则led亮
if语句
检测到key2打开
则 led灭}}

Adc采集电压
Usart串口配置初始化。
Adc初始化
main(){
usart_config();
Adc_int();
while(1)
{
y等于x除于4096×3.3
Print输出y}
}}
温箱采集温度T=(y-0.76)÷0.0025+25

16×16汉字字模显示。
显示中文字符函数中
定义字模数组,将所取的字模封装。
设置显示窗口。
Switch语句取用数组中的字模,每32个16进制数为一个汉字。
for语句显示每个汉字,写命令显示在液晶屏。

汉字字模显示
字模显示汉字函数。首先,函数需要x坐标,y坐标和显示的字符。然后提取字模写在数组中。然后用switch语句挑选出数组中的每一个字。一个字32个16进制位,最后用for循环,显示每个字的字样。

密码锁
lCd初始化函数
触摸屏初始化函数
串口配置初始化。
密码锁界面绘制函数
触摸检测函数
main()
{定义变量m[]
9341初始化。
Xpt2046初始化。
usart初始化
扫描显示模式,选择模式六。
密码锁界面();
while(1){
触摸检测();
m=触摸值
if(正确==1234)
打开
else
Print(密码错误);
}}

水位控制器
输入水位传感器(电压)。
控制嵌入式计算机系统,控制注水开关,指示灯,报警器。
输出LED报警灯。
LED初始化函数
报警功能函数
注水开/关函数
串口初始化函数
main(){
led初始化。
Usart初始化配置。
while(1){
if(低于低水位)
注水开函数
LED亮蓝灯
else if达到中水位
注水关函数
led亮绿灯
else if高于高水位
led亮红灯
报警}}}

定时器一秒亮灭
时钟源CK_INT=72MHZ
计数值TIM_Period=1000
预分频_Presaler=71
"1s" 72MHZ/(71+1)=1MHZ
1/1MHZ=1us
1us*1000=1ms
main:time=1000(中断次数)
time=0;
led取反
"1s"=1ms*1000次=1s

婴儿保温箱
当婴儿保温箱低于36度的时候,通过GPIO输入输出端口传入嵌入式系统中。此时控制输出设备,启动加热器加温。当温度达到38度时,加热器停止加热。当传感器检测到温度超过40度的时候,控制停止加热装置,并通过警报器发出报警。
采集开发板的电压。Adc采集温度。

嵌入式系统你应用为中心,以计算机技术为基础,软件,硬件可裁剪,适应应用系统对功能。可靠性,成本,体积,功耗,严格要求的专用计算机系统。
GPIO输入输出GPIO是通用输入输出端口简称。简单来说,就是stm32可控制的引脚。Stm32f103型号的芯片有GPIOA,GPIOB至GPIOG共七组GPIO.所有的GPIO引脚都有基本的输入输出功能。

热爱->你好
先用取模软件,把这几个字的字模取出来。
在getgbk_from_exfflash()这个方法中,创建一个数组,把字模加进去。
然后定义uint8_t i,j;这两个变量。
再利用switch语句和for循环判断当前取模起始位置和终止位置。
在main函数中调用中文字符函数显示热爱
在while循环里面
触摸检测函数
中文字符函数"你好"

LED亮灭红黄蓝三个灯循环亮灭。
只需要在主函数中加入LED初始化
系统定时器初始化还有按键中断初始化。在while循环中,先让LED1_ON,系统定时器延时,然后LED1_off,接着去写led2,led3即可。

I^2C通信过程
控制产生起始信号s
当发生起始信号后,它产生事件EV5
并对SR1寄存器的SB位置1。
发送设备地址,并等待应答信号。若应答,则产生EV6及EV8。
SR1寄存器的ADDR及txe置1。
Addr位清零,往dr写要发送的数据。txe置0,i^2c外设通过sda信号线一位位把数据发送出去,产生ev8,txe置1。
发送最后一个数据,产生ev8_2事件,SR1的txe,bte都置1,产生一个停止信号p通信结束。
主接收器 
起始信号s产生ev5,sr1寄存器的sb置1
发送设备并等待应答信号,若应答,ev6,sr1的addr置1
主机收到从机数据产生ev7
sr1的rxne置1
发送非应答信号,产生停止信号p结束。

gpio初始化。
先取得gpio_mode的值。判断bit4是零还是一。是一为输出,零为输入,如果是输出,则要设置输出速率,gpio_speed
Gprocrl寄存器配置crl寄存器控制低八位io。
gpiocrh寄存器配置crh寄存器控制高八位io。

LED初始化。
定义gpio初始化结构体变量。
调用库函数使能LED的gpio端口时钟。
向gpio初始化结构体赋值,把引脚初始化为推挽输出。
向寄存器中写入参数,完成gpio初始化。
初始化其他LED使用的引脚。
使用宏控制RGB灯默认关闭。

Fmsc控制液晶的原理
8080。模拟8080时序,把fsmc的A0地址线与9341芯片8080接口的d/cx信号线连接。A0为高电平,数据线D[15:0]的信号会被9341理解为数值,A0为低电平则会被理解为命令。
配置好fsmc的外设,在代码中利用指针变量向不同地址单元写入数据,就能有fsmc模拟的8080接口向9341写入控制命令或数据。

用内部flash是读取汉字字模的方法。
不使用带有指针型变量的函数,自己定义数组(字模)一般都是使用gbk函数。因为ASC|丨里面没有汉字,故使用gbk函数,用GetGBKCode函数获取字模数据。

两个相对来说重要的图(其他的也重要,比如内存块)

触摸检测机状态转换

文件系统的层次结构

 

版权声明:本文为CSDN博主「Yang青青」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52286530/article/details/122243993

生成海报
点赞 0

Yang青青

我还没有学会写个人说明!

暂无评论

相关推荐

2021年终总结

年终总结 CSDN的评委好,各位同仁好! 2021年,我担任嵌入式软件开发工程师一职,具体汇报如下: 一、2021年度工作完成情况 在现有的TDOA定位基站和标签的基础上

Verilog实现按键消抖

Verilog实现按键消抖 一、简介 我们在进行按键的时候往往会发生抖动的现象。 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地