嵌入式IO接口与编程练习题

更新时间:2023-11-30 20:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《嵌入式IO接口与编程》复习题

一、选择题

1、 按照ATPCS规则,返回值为int型的子程序或函数,其返回值通过( )

返回。 A、r1

B、r0

C、r14

D、r8

2、 若寄存器r2的值为0x1,执行完指令mov r2,r2,lsl#4后,r2的值为( )。

A、0x2

B、0x10

C、0x8

D、0x4

3、 在收到主机发出的44H命令后,模块DS18B20所检测温度值的长度为( )。

A、2字节 B、3字节

C、4字节 D、不一定

4、 DS18B20使用前必须要确认器件是否存在,也就是完成复位和应答的过程中

(如图一),在这两个阶段总线DQ对应的引脚工作模式为( )。 A、都为输出

B、先输入再输出

C、先输出再输入

D、都为输入

5、 以下关于IIC总线起始信号和终止信号的描述,正确的是( )。

A、SCL为低电平期间,SDA由低电平向高电平变化,表示终止信号。 B、SCL为低电平期间,SDA由低电平向高电平变化,表示起始信号。 C、SCL为高电平期间,SDA由高电平向低电平变化,表示终止信号。 D、SCL为高电平期间,SDA由高电平向低电平变化,表示起始信号。 6、 ST32F439的SPI总线接口配置好后,若要发送数据,只需把数据赋值给

( )。 A、SPI_CR1

B、SPI_CR2

C、SPI_SR

D、SPI_DR

7、 SPI控制器的状态寄存器SPI_SR的bit0为1时,表示SPI接收缓冲区为空;

该位为0时表示,表示SPI接收缓冲区非空。下列循环语句中能够退出循环并保证SPI已接收完数据操作的是( )。 A、while(!(SPI1->SR| 0x1)) B、while(SPI1->SR&0x1)

B、while(!(SPI1->SR&0x1)) D、while(SPI1->SR|0x1)

8、 nRF24L01可以工作在一对一通信模式或一对多通信模式,其中一对多工作

模式下最多允许几个发送节点( )。 A、四个 C、六个

B、五个

D、十个

9、 STM32F439的串口1初始化中,如果要设置串口传输的波特率,只需将数据

写入寄存器( )。 A、USART_SR

B、USART_DR

C、USART_CR1

D、USART_BRR

10、 根据奈奎斯特采样定律,对一个频率为5HZ的模拟信号进行AD转换时,以

下采样频率设为哪个是合适的( )。

A、2.5HZ B、15HZ C、25HZ D、50HZ

11、 描述TFT LCD中像素点的数据长度有多种方法,常用的16位真彩色描述方

法为565,即RGB比例为5:6:5,对于480*320分辨率的TFT LCD来说,以565方式显示一帧图像需要的数据量大小为( )。 A、5120字节

B、76800字节

C、307200字节

D、153600字节

12、 在LCD控制器SSD1289中,入口模式指令03h的三个位共同控制了屏幕的

显示方向,其中I/D[0]和I/D[1]分别表示横向地址和纵向地址计数器的增减,AM表示地址更新方向。当I/D[1:0]=10,AM=1时,表示以下哪种显示方式( )。

A、 B、

C、 D、

13、 串行接口有很多种,以下串行扩展接口中传输距离最远的是( )。 A、UART B、IIS C、IIC D、SPI

14、 以下哪个任务状态是在等待处理器时间片的到来()。 A、运行态 B、阻塞态 C、挂起态 D、就绪态

二、填空题

1、 SPI是一种高速的全双工同步的通信总线,它的接口信号包括时钟信号SCLK、片选信号CS以及 主入从出(MISO)信号__和 主出从入(MOSI)信号 四种。 2、 IIC总线上从设备地址共有8位,若该地址的最低位为1,表示对从设备进

行 写 操作。

3、 W25Q16和24C02都是属于断电数据不丢失的存储芯片,它们主要的区别在于 W25Q16是以扇区为单位,是SPI通信;24C02是以字节为单位,是I2C通信 。

4、 FSMC能够与同步或异步存储器和16位PC存储器卡连接,可以用来驱动 SRAM _ 、 5、 在SPI设置中, ROM 和PSRAM和PC存储卡 。

时钟极性 设置时钟空闲时的电平, 时钟相位 设置读取数据和发送数据的触发时钟沿。

6、 nRF24L01芯片的IRQ信号在以下三种情况会变为低电平:Tx FIFOs 发完并

且收到ACK(使能ACK情况下)、 ____Rx FIF0s收到数据_和达到最大重发次数。

7、 将寄存器r1中一个字的值存储在r2所指向的内存单元中,完整的ARM汇编

指令为 STR r1,[r2]_________ 。

8、 DMA数据传输方向有存储器到外设、存储器到存储器和 外设到存储器__三种方向。

9、 一个12位的ADC,其参考电压(满量程)为3.3v, 则它的分辨率为

____ _3.3/2^10_______ 。

10、在STM32F439中用4个位来表示中断优先级,在使用中断前需要进行优先级

分组,将中断优先级又可以分为

三、编程题

1、 根据程序中的注释,完善SPI1接口的初始化函数SPI1_Init(相关寄存器数据

_抢占优先级______ 和子优先级。

手册附后,假设所有寄存器的初始值均未知,使用位运算只设置注释中要求内容所对应的位,不能影响其它位)。

void SPI1_Init(void) {

//这里只针对SPI口初始化 RCC->APB2RSTR|=1<<12; tempreg|=0<<10; tempreg|=1<<9; tempreg|=1<<8; tempreg|=1<<2; tempreg|=0<<11; tempreg|=1<<1; tempreg|=1<<0; tempreg|=7<<3;

//复位SPI1

RCC->APB2RSTR&=~(1<<12);//停止复位SPI1

//全双工模式

//SPI主机

//空闲模式下SCK为1 CPOL=1

//数据采样从第2个时间边沿开始,CPHA=1 //Fsck=Fpclk1/256 //SPI启动 //设置CR1

//软件nss管理

u16 tempreg=0;

RCC->AHB1ENR|=3<<0; //使能PORTA/PORTB时钟 RCC->APB2ENR|=1<<12; //SPI1时钟使能

GPIO_Set(GPIOB,PIN4|PIN5,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PB4~5复用功能输出

//PA5复

GPIO_Set(GPIOA,PIN5,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU); GPIO_AF_Set(GPIOA,5,5); GPIO_AF_Set(GPIOB,4,5); GPIO_AF_Set(GPIOB,5,5);

//PA5设置为复用功能5 // PB4设置为复用功能5 / PB5设置为复用功能5

用功能输出

//8位数据格式

//对SPI1属于APB2的外设.时钟频率最大为84Mhz频率.

tempreg|=0<<7;

tempreg|=1<<6;

//MSB First

SPI1->CR1=tempreg;

SPI1->I2SCFGR&=~(1<<11);//选择SPI模式 SPI1_ReadWriteByte(0xff);//启动传输,可省略

}

2、 编写程序实现W25QXX的读取数据函数W25QXX_ReadID,函数的功能及要求见下面的注释(W25QXX读取数据的时序图附后)。

/**************************************************************** 函数名:W25QXX_Read

函数功能:检查W25QXX是否存在并返回设备ID值

形参:u8* pBuffer,u32 ReadAddr,u16 NumByteToRead

形参含义:pBuffer为所读取数据的存储位置,ReadAddr为读取的地址,NumByteToRead为要读取的字节数。 返回值类型:void

需调用的底层函数:u8 SPI1_ReadWriteByte(u8 TxData),其中TxData表示要写入的字节,返回值表示读取到的字节。

****************************************************************/

四、简答题

1、 分别写出nRF24L01模块发送模式和接收模式配置的基本步骤。

2、 分析在使用DS18B20时初次测得的温度值为85℃的可能原因和解决的思路。 3、 简述EEPROM读写操作的基本步骤。 4、 简述W25Q16读写操作的基本步骤。

5、 简述nRF24L01的Enhanced ShockBurstTM发送流程和接收流程。 6、 简述LCD初始化的基本步骤。

7、简述裸机程序(前后台系统)和实时操作系统的优缺点。

8、传统的寄存器开发方法和采用固件库开发的方法各有什么优点和缺点?

本文来源:https://www.bwwdw.com/article/bvdt.html

Top