嵌入式面经 单片机篇
3.I/O接口(17道)
3.1 GPIO口一般有哪三个寄存器?
以S3C2410为例,有控制寄存器、 数据 寄存器、上拉寄存器。
3.2 GPIO的输入输出模式有哪些?
答案:
(1)输入模式:浮空输入、带上拉输入、带下拉输入、模拟输入。
(2)输出模式:开漏输出、推挽输出、开漏复用输出、推挽复用输出。
解读:
浮空输入_IN_FLOATING | 浮空输入,可以做KEY识别。 |
带上拉输入_IPU | IO内部上拉电阻输入。 |
带下拉输入_IPD | IO内部下拉电阻输入。 |
模拟输入_AIN | 应用ADC模拟输入,或者低功耗下省电。 |
开漏输出_OUT_OD | IO输出0接GND,IO输出1则悬空,需要外接上拉电阻才能输出高电平。当输出为1时,IO口的状态由上拉电阻拉高,但同时IO口也可由外部电路拉低,可以通过输入 数据 寄存器读取电平变化,实现 C51的IO双向功能。 |
推挽输出_OUT_PP | IO输出0接GND, IO输出1接VCC,读输入值是未知的。 |
复用功能的推挽输出_AF_PP | 片内外设功能(I2C的SCL,SDA)。 |
复用功能的开漏输出_AF_OD | 片内外设功能(TX1,MOSI,MISO.SCK.SS) |
3.3请说明总线接口UART、USB、SPI、IIC的异同点。
总线接口 | 串/并 | 同步/异步 | 工作方式 | 速率 | 线路 | 距离 | 大小端 |
UART | 串行 | 异步 | 全双工 | 慢,最快只有1.5Mbps | 3线:RX、TX、GND | 远,RS-485可达1200m | 小端模式 |
USB | 串行 | 同步 | 半双工 | 快,USB3.0可达5Gbps | 4线:Vbus、GND、D+、D- | 近,不超过5m | 小端模式 |
SPI | 串行 | 同步 | 全双工 | 快,可达50Mbps | 3线或4线:SCLK、SIMO、SOMI、SS | 远,可达10m | 大端模式 |
IIC | 串行 | 同步 | 半双工 | 慢,最快只有3.4Mbps | 2线:SCL、SDA | 近,不超过30cm | 大端模式 |
3.4什么是异步串行?什么是同步串行?
(1)异步串行方式的特点:
①以字符为单位传送信息,相邻两个字符间的间隔是任意长;即字符内部各位同步,字符间异步;
②因为一个字符中的比特位长度有限,所以接收时钟和发送时钟只要相近就可以了。
(2)同步串行方式的特点:
①以 数据 块为单位传送信息,在一个 数据块内,字符与字符之间无间隔;即字符内部各位同步,字符间也同步;
②因为一次传输的 数据 块中包含的 数据 较多,所以接收时钟与发送时钟需要严格同步。
3.5 IIC总线时序图?
(1)时序总结:
总线空闲状态 | SCL和SDA均为高电平,接上拉电阻。 |
启动信号(START) | 在SCL保持高电平期间,SDA由高电平被拉低。由主控器发出。 |
数据 位传送(DATA) | 在SCL保持高电平期间,SDA上的电平保持稳定,低电平为 数据 0、高电平为 数据 1。用法:主控器和被控器都可发出。 |
应答信号(ACK) | 在SCL保持高电平期间,SDA保持低电平。IIC总线上所有 数据 都是以 8位字节传送的,发送器每发送一个字节,就在第9个时钟脉冲期间释放SDA(高电平),由接收器反馈一个ACK。 |
非应答信号(NACK) | 在SCL保持高电平期间,SDA保持高电平。如果接收器是主控器,则它在收到最后一个字节后,发送一个NACK,通知被控器结束 数据 发送,并释放SDA(高电平),以便主控器发送一个STOP。 |
停止信号(STOP) | 在SCL保持高电平时间,SDA由低电平被释放(拉高)。由主控器发出。 |
(2)写 数据 步骤:
①主机发起一个启动信号(START)。
②主机发送7bit从机地址+1bit读写选择位,1表示读、0表示写。
③从机产生应答信号(ACK)。
④主机发送8bit从机寄存器地址。
⑤从机产生应答信号(ACK)。
⑥主机发送一个字节 数据 。
⑦从机产生应答信号(ACK)。
⑧主机发送一个停止信号(STOP)。
(3)读 数据 步骤
①主机发送一个启动信号(START)。
②主机发送7bit从机地址+1bit读写选择位,1表示读、0表示写。
③从机产生一个应答信号(ACK)。
④主机发送8bit从机寄存器地址。
⑤从机产生一个应答信号。
⑥主机再次发送一个启动信号(START)。
⑦主机再次发送7bit从机地址+1bit读写选择位,1表示读、0表示写。
⑧从机产生一个应答信号( ACK)。
⑨主机读取一个字节 数据 。
⑩主机产生一个非应答信号(NACK)。之后产生一个停止信号(STOP)。
秋招
以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:
https://blog.nowcoder.net/zhuanlan/v0ELPM
公司推荐: 华为 、小米、 OPPO、VIVO、荣耀、一加、CVTE、大疆 、insta360影石、美的 、TCL 、海信、创维、烽火、比亚迪 、吉利、长安、大众、 经纬恒润 、小鹏、 图森未来、百度 、 滴滴、蔚来、理想、 联发科、 紫光展锐 、全志、 寒武纪、 晶晨半导体 、汇顶、中兴、 浪潮 、 TP-LINK、讯飞、商汤、海康威视 、浙江大华、360、小马智行、元戎启行、深信服、移动、联通、电信、旷视 、四维图新、中芯国际、复旦微电子。
#嵌入式笔面经分享##秋招准备#