首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等功能,并能通过
阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等功能,并能通过
admin
2017-11-27
41
问题
阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等功能,并能通过移动客户端对其进行远程控制。
图1-1为该系统电气部分连接图,除微处理器外,还包括了片上32KB FLASH,以及SRAM和EEPROM。
该系统采用数字式激光传感器检测PM2.5、PM10,并通过异步串行接口将数据上报给处理器,通信波特率为9600bps,上报周期为1.5秒,数据帧内容包括:报文头、指令号、数据(6字节)、校验和及报文尾,具体字段描述如表1-1所示。
王工根据数据报文通信协议,使用C语言编写了对应的数据接收和校验程序,请根据注释要求补全程序。
程序段如下:
#define uintl 6_t unsigned short
#define uint8_t unsigned char
uintl6_t Pm25;
uintl6_t Pm10;
void ProcessSerialData()
{
uint8 t mData=0;
uint8 t i=0;
uint8 t mPkt[10]={0);
uint8 t mCheck=0;
while(Serial.available()>0)
{
mData=Serial.read();
delay(2); //延迟2毫秒
if(mData=
(1)
) //等待直到有效数据包接收到
{
mPkt[0]=mData;
mData=Serial.read();
if(mData=
(2)
)
{
mPkt[1]=mData;
mCheck=0;
for(i=0;i<6;i++) //接收数据并进行校验计算
{
mPkt[i+2]=Serial.read();
delay(2);
mCheck+=
(3)
;
)
mPkt[8]=Serial.read();
delay(1);
mPkt[9]=Serial.read();
if(mCheck=
(4)
) //校验判断
{
Serial.flush();
//请使用位操作方式计算Pm25和Pml0的值
Pm25=
(5)
;
Pml0=
(6)
;
}
}
}
}
return;
}
注释:
Serial.available():判断串口接收缓冲器的状态函数。读取串口接收缓冲器的值(128字节寄存器),以判断数据送达到串口。
返回:串口已经准备好的字节数。
Serial.read():读取串口函数。
返回:串口的数据第一个字节,如果没有返回一1。
Serial.flush():清除串口缓冲器内容函数。
返回:None。
选项
答案
(1)0xAA (2)0xC0 (3)mPkt[i+2] (4)mPkt[8] (5)(uintl6_t)mPkt[2]|(uintl6_t)(mPkt[3]<<8)或其等价形式 (6)(uintl6_t)mPkt[4]|(uintl6_t)(mPkt[5]<<8)或其等价形式
解析
此题考查嵌入式系统底层代码的阅读与理解及编写的能力,结合题目给出的代码分析如下:
首先定义数据类型,为了在不同平台之间更方便的移植,嵌入式系统代码编写时经常对数据类型进行重新定义。题目代码中明确说明了此类定义后,考生在答题时应尽量使用定义后的数据类型声明。
#define uintl 6_t unsigned short
#define uint8_t unsigned char
void ProcessSerialData()
{
uint8_t mData=0;
uint8_t i=0;
uint8_t mPkt[10]={0),
uint8_t mCheck=0;
/表示串口已经准备好了数据,Serial.available判断串口接收缓冲器的状态函数相关说明已在题目中给出。
*/
while(Serial.available()>0)
{
mData=Serial.read();
//通过Serial.read读取串口函数接口读一个字节串口数据,存到mData变量中。
delay(2); //延迟2ms,确保数据包已被接收。
if(mData==0xAA)//判断是否为数据帧头,帧头标志0xAA已在题目中给出。
{
mPkt[0]=mData;
//如果为帧头,说明一帧数据开始,此时将帧头存到接收缓冲区内
mData=Serial.read();
/*使用Serial.read接口继续读取一个字节帧数据,存到mData变量中,完整的代码此时也应用延时1一2ms的操作*/
if(mData==0xc0)//继续判断是否为指令号0xC0,即数据帧中第二个字节内容
{
mPkt[1]=mData; //将指令号0xC0存到接收缓冲区内
mCheck=0; //校验和变量mCheck清零
for(i=0;i<6;i++) //data recv and crc calc
//使用Serial.read接口循环接收6个字节的数据,依次存入接收缓冲区中
{
mPkt[i+2]=Serial.read();
delay(2); //每次调用Serial.read接口读数据后,延迟2ms的时间
mCheck+=mPkt[i+2];//计算校验和,存到变量mCheck中
}
mPkt[8]=Seriall.read();
//使用Seriall.read接口读取校验和数据,存到接收缓冲区中
delay(1);
mPkt[9]=Seriall.read(); //使用Seriall.read接口读取帧尾数据
if(mCheck==mPkt[8]) //判断校验和是否相符
{
Seriall.flush();
/*校验和相符,表示已完成一帧数据接收,调用Seriall.flush接口清除串口
数据*/
Pm25=(uintl6一t)mPkt[2]|(uintl6一t)(mPkt[3]<<8);
/*计算PM2.5的数值,题目给出数据1表示PM2.5的低字节,数据2表示PM2.5的高字节,因此将字节序为3的数据mPkt[3]左移8位于字节序为2的数据
mPkt[2]进行或操作得出,注意使用强制类型转换,位操作的方式计算量相对小,计算速度快,因此在计算资源紧张的嵌入式环境中大量使用*/
Pm10=(uint16一t)mPkt[4]|(uint16一t)(mPkt[5]<<8);
//get one good packet
return;
}
}
}
}
通过上述分析,容易得出各问题答案如下:
(1)判断是否为数据帧的帧头,查题干数据可知帧头标识为0xAA;
(2)判断是否为数据帧的指令号,查题干数据可知指令号为0xC0:
(3)进行CRC计算,根据代码上下文可知为为第2~7字节数据mPkt[i+2];
(4)进行CRC校验,查题干数据可知CRC校验位为mPkt[8];
(5)考查位操作,根据题干数据可知为数据2左移8位加上数据l(uintl6_t)mVkt[2]|
(uintl6_t)(mPkt[3]<<8)或者(uintl6_t)((mPkt[3]<<8)|mPkt[2]);
(6)考查位操作,根据题干数据可知为数据4左移8位加上数据3(uintl6_t)mPkt[4]|
(uintl6_t)(InPl(t[5]<<8)或者(uintl6_t)((mPkt[5]<<8)|mPkt[4])。
转载请注明原文地址:https://kaotiyun.com/show/qQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
下述协议中与安全电子邮箱服务无关的是()。
阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。[说明]用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极其重要。以下过程给出了实现用户B对用户A身份的认证过程。1.A->B:A2.B->A:{B,Nb}p
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。【说明】在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
以下关于网络流量监控的叙述中,不正确的是(64)________________。
基于公开密钥的数字签名算法对消息进行签名和验证时,正确的签名和验证方式是(70)________。
Since RAM is only active when the computer is on, your computer uses disk to store information even when the computer is off. Wh
MostOfthehostoperatingsystemprovidesawaytoautomatedconfiguretheIpinformationneededbyahost.Automatedconfigurat
16个微处理器的编号分别为0、1、2、3、…、14、15,采用四维立方体单级互联函数为Cube3时,5号微处理器与(20)号微处理器相连接。
随机试题
A.轨道征B.葡萄状影C.印戒征D.空气半月征E.与血管伴行的柱状高密度影囊状支气管扩张CT表现为
经产妇,30岁,阴道分泌物增多,腰酸。妇科检查见宫颈重度糜烂,宫颈活检病理切片报告为"鳞状上皮化生"。应诊断为:
女性,45岁。因“头晕、乏力,月经增多1年余”就诊,患者平素喜素食。查体:贫血貌,皮肤无黄染,无皮疹和出血点,全身浅表淋巴结、肝脾未触及。化验:血常规Hb60g/L,WBC4.9×109/L,PLT125×109/L。对该患者紧急处理正确的是
患者,女性,78岁,慢性咳嗽.咳痰20余年,近5年来活动后气急,1周前感冒后痰多,气急加剧。近2天嗜睡。化验WBC18.6×109/L,中性粒细胞0.9,动脉血pH7.29,PaO248mmHg,PaCO280mmHg。诊断为呼吸衰竭。为了纠正患者的呼
土地增值税按照纳税人转让房地产所取得的( )和规定的税率计算征收。
某房地产开发企业出售一栋新建商品房,获得销售收入3200万元,其中包括按当地市政府的要求,在售房时计入房价向购买方一并收取的代收费用200万元。房地产开发企业开发该商品房的支出如下:支付土地出让金及有关费用200万元,房地产开发成本为600万元,房地产开发
小学语文课上,老师要求学生用“清澈”一词造句,学生甲站起来说:“村边小溪中的水很清澈。”老师点评道:“很好。”学生乙站起来说:“我家的小狗毛毛的眼神很清澈。”老师沉吟了一会儿,评点说:“说狗的眼神‘清澈,不合适,这个造句不贴切。”学生乙狐疑地坐下了。问题:
A.AndthatvariationcanaffectthestandardsofthewholecountryB.IsitreallyworththatmuchC.Howdidyoucheckthescales
马克思指出:“商品价格对商品价值的不断背离是一个必要的条件,只有在这个条件下并由于在这个条件下,商品价值才能存在。”这段话说明()
Siehaben______erk?ltet.
最新回复
(
0
)