19. ARM裸机开发(45道)***3***

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输出0GNDIO输出1则悬空,需要外接上拉电阻才能输出高电平。当输出为1时,IO口的状态由上拉电阻拉高,但同时IO口也可由外部电路拉低,可以通过输入数据寄存器读取电平变化,实现C51IO双向功能。

推挽输出_OUT_PP

IO输出0GND IO输出1VCC,读输入值是未知的。

复用功能的推挽输出_AF_PP

片内外设功能(I2CSCL,SDA)。

复用功能的开漏输出_AF_OD

片内外设功能(TX1,MOSI,MISO.SCK.SS


3.3请说明总线接口UARTUSBSPIIIC的异同点。

总线接口

/

同步/异步

工作方式

速率

线路

距离

大小端

UART

串行

异步

全双工

慢,最快只有1.5Mbps

3线:RXTXGND

远,RS-485可达1200m

小端模式

USB

串行

同步

半双工

快,USB3.0可达5Gbps

4线:VbusGNDD+D-

近,不超过5m

小端模式

SPI

串行

同步

全双工

快,可达50Mbps

3线或4线:SCLKSIMOSOMISS

远,可达10m

大端模式

IIC

串行

同步

半双工

慢,最快只有3.4Mbps

2线:SCLSDA

近,不超过30cm

大端模式


3.4什么是异步串行?什么是同步串行?

(1)异步串行方式的特点:

①以字符为单位传送信息,相邻两个字符间的间隔是任意长;即字符内部各位同步,字符间异步;

②因为一个字符中的比特位长度有限,所以接收时钟和发送时钟只要相近就可以了。

(2)同步串行方式的特点:

①以数据块为单位传送信息,在一个数据块内,字符与字符之间无间隔;即字符内部各位同步,字符间也同步;

②因为一次传输的数据块中包含的数据较多,所以接收时钟与发送时钟需要严格同步。

3.5 IIC总线时序图?
(1)时序总结:

总线空闲状态

SCLSDA均为高电平,接上拉电阻。

启动信号(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)。

3.6 SPI的四种操作时序分别是什么?

SPI的时钟极性CPOL和时钟相位CPHA可以分别为0或1,由此构成了四种组合:

①CPOL = 0,CPHA = 0:空

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

包含241道笔试面试真题详解,还有岗位及校招介绍,简历制作、笔试准备、面试准备的经验分享,以及嵌入式软件工程师技能树解读。你想知道的所有关于嵌入式求职的问题,几乎都可以在这里找到答案。 订阅即赠送学习笔记、简历模板、面试提纲模板、内推机会,需要的同学点击我头像私信即可!

全部评论
3.5的⑧从机产生一个应答信号(START),应该是ACK吧
1 回复 分享
发布于 2022-08-24 19:48 湖北
3.2 I2C和开漏输出吧
1 回复 分享
发布于 2022-08-18 15:31 江苏
3.10的RS-485的逻辑1是用电压差为+2V到+6V,逻辑0是用-6V到-2V吧
点赞 回复 分享
发布于 2023-01-24 21:19 广东

相关推荐

09-01 10:50
已编辑
东华大学 C++
PDD校招_内推:拼多多意向和开奖一般都比较晚,可能10月11月才出意向
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务