接收模式配置函数:
2、 分析在使用DS18B20时初次测得的温度值为85℃的可能原因和解决的思路。
答:缺少转换函数,所以测得的温度总为初始值。
3、 分别简述I2C协议中起始信号和停止信号的SCL、SDA电平组合特征。
起始信号与停止信号
? 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是
一个电平信号。
? 停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不
是一个电平信号。
4、 简述EEPROM读写操作的基本步骤。
1、初始化时钟、串口、延时函数
2、初始化24C04(包括I2C相关GPIO初始化) 3、检测24C02是否正常 4、往24C02写入数据
5、从24C02读出数据
5、 简述W25Q16读写操作的基本步骤。
1)使能SPI1和四个引脚对应IO时钟 2)SPI初始化设置 3)W25Q16初始化设置
4)读取W25Q16 的设备ID,确认成功检测到设备 5)按照W25Q16的设备控制命令编写底层操作函数 6)读写操作
6、 简述nRF24L01的Enhanced ShockBurstTM发送流程和接收流程。
发送:1. 把地址和要发送的数据按时序送入NRF24L01; 2. 配置CONFIG寄存器,使之进入发送模式;
3. 微控制器把CE置高(至少10us),激发Enhanced ShockBurstTM发射;
4. Enhanced ShockBurstTM发射:① 给射频前端供电;②射频数据打包(加字头、CRC校验码); ③ 高速发射数据包; ④发射完成,NRF24L01进入空闲状态。 接收:1. 配置接收地址和要接收的数据包大小;
2. 配置CONFIG寄存器,使之进入接收模式,把CE置高。 3. 130us后,NRF24L01进入监视状态,等待数据包的到来;
4. 当接收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字头、地址和CRC校验位移去;
5. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中断)通知微控制器;
6. 微控制器把数据从FIFO读出(0X61指令);
7. 所有数据读取完毕后,可以清除STATUS寄存器。NRF2401可以进入 四种主要的模式之一;
7、 简述LCD初始化的基本步骤。
答:LCD初始化函数伪代码: //LCD初始化 void LCD_Init(void) {
初始化GPIO; 初始化FSMC; 读取LCD ID;
printf(“LCD ID:%x\\r\\n”,lcddev.id);//打印LCD ID,用到了串口1 //所以必须初始化串口1,否则黑屏 根据不同的ID执行LCD初始化代码; LCD_Display_Dir(0); LCD_LED=1; }
LCD_Clear(WHITE);
//默认为竖屏 //点亮背光 //清屏
8、 以SRAM中的数据发送到串口1为例,简述DMA方式使用的基本步骤。
1)使能DMA时钟 2)初始化DMA通道参数
3)使能串口DMA发送(USART_CR3)
4)查询确认DMA的EN位为0,确保数据流就绪可以配置( DMA_SxCR ) 5)设置通道当前剩余数据量(DMA_SxNDTR )
6)使能DMA通道,启动传输 ( DMA_SxCR ,EN设为1) 7)查询DMA传输状态(DMA_HISR 或DMA_LISR ) 8)获取/设置通道当前剩余数据量(DMA_SxNDTR )
9、 试画出TFTLCD触摸屏使用的结构示意图,并作简单说明。
应用思路: 1、LCD初始化
2、触摸屏控制器初始化 1)、SPI初始化
2)、IIC(24Cxx)初始化
3、触摸屏校正
根据读取24Cxx对应位置的参数,判断是否需要重新校正,若重新校正则需要重新保存校正参数。 4、等待屏幕被触摸,并根据触摸的位置触发相应动作(ISR)。
10、
优点: 缺点:
传统的寄存器开发方法和采用固件库开发的方法各有什么优点和缺点?