嵌入式系统设计考试模拟题_第1页
嵌入式系统设计考试模拟题_第2页
嵌入式系统设计考试模拟题_第3页
嵌入式系统设计考试模拟题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统设计考试模拟题c//单总线延时函数(需根据系统时钟校准)voidDS18B20_Delay(uint16_tus){/*软件延时或定时器实现(例:STM32定时器延时)*/}//复位脉冲发送uint8_tDS18B20_Reset(void){uint8_tack=0;GPIO_ResetBits(DQ_GPIO,DQ_PIN);//拉低DQDS18B20_Delay(480);//保持480μs(复位脉冲)GPIO_SetBits(DQ_GPIO,DQ_PIN);//释放总线DS18B20_Delay(60);//等待从设备应答(60μs)ack=GPIO_ReadInputDataBit(DQ_GPIO,DQ_PIN);//读取应答位DS18B20_Delay(420);//等待复位结束(420μs)returnack;}//写位操作voidDS18B20_WriteBit(uint8_tbit){GPIO_ResetBits(DQ_GPIO,DQ_PIN);DS18B20_Delay(2);//拉低后立即写(2μs)if(bit)GPIO_SetBits(DQ_GPIO,DQ_PIN);DS18B20_Delay(60);//保持60μs(满足位时间要求)GPIO_SetBits(DQ_GPIO,DQ_PIN);}//读位操作uint8_tDS18B20_ReadBit(void){uint8_tbit=0;GPIO_ResetBits(DQ_GPIO,DQ_PIN);DS18B20_Delay(2);//拉低2μsGPIO_SetBits(DQ_GPIO,DQ_PIN);DS18B20_Delay(8);//等待数据稳定(8μs)bit=GPIO_ReadInputDataBit(DQ_GPIO,DQ_PIN);DS18B20_Delay(50);//保持剩余时间(50μs)returnbit;}//读字节uint8_tDS18B20_ReadByte(void){uint8_ti,byte=0;for(i=0;i<8;i++){byte|=(DS18B20_ReadBit()<<i);//按位读取}returnbyte;}//写字节voidDS18B20_WriteByte(uint8_tbyte){uint8_ti;for(i=0;i<8;i++){DS18B20_WriteBit((byte>>i)&0x01);//按位写入}}//读取温度(含CRC校验,需实现CRC算法)floatDS18B20_ReadTemp(void){uint8_ttemp_l,temp_h;uint16_ttemp_raw;floattemp;if(DS18B20_Reset()==1)return-127.0;//复位失败DS18B20_WriteByte(0xCC);//跳过ROM(单设备场景)DS18B20_WriteByte(0x44);//启动温度转换DS18B20_Delay(750);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论