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输出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) |
总线接口 |
串/并 |
同步/异步 |
工作方式 |
速率 |
线路 |
距离 |
大小端 |
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 |
大端模式 |
(1)异步串行方式的特点:
①以字符为单位传送信息,相邻两个字符间的间隔是任意长;即字符内部各位同步,字符间异步;
②因为一个字符中的比特位长度有限,所以接收时钟和发送时钟只要相近就可以了。
(2)同步串行方式的特点:
①以数据块为单位传送信息,在一个数据块内,字符与字符之间无间隔;即字符内部各位同步,字符间也同步;
总线空闲状态 |
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由低电平被释放(拉高)。由主控器发出。 |
3.6 SPI的四种操作时序分别是什么?
SPI的时钟极性CPOL和时钟相位CPHA可以分别为0或1,由此构成了四种组合:
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
包含241道笔试面试真题详解,还有岗位及校招介绍,简历制作、笔试准备、面试准备的经验分享,以及嵌入式软件工程师技能树解读。你想知道的所有关于嵌入式求职的问题,几乎都可以在这里找到答案。 订阅即赠送学习笔记、简历模板、面试提纲模板、内推机会,需要的同学点击我头像私信即可!