完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
今天在写程序时遇到了编程思想的问题,想请教大家一下。大家可以自己的处理办法
char SHTMeasure(char *value, char *p_checksum, enum Mode mode) // 进行温度或者湿度转换,由参数mode决定转换内容; { // enum Mode {TEMP,HUMI}; //已经在头文件中定义 unsigned error=0; unsigned int i; SHTStart(); //启动传输 switch(mode) //选择发送命令 { case TEMP : error+= SHTWriteByte(0x03); break; //测量温度 case HUMI : error+= SHTWriteByte(0x05); break; //测量湿度 default : break; } /* 这个等待的时间有点长应该处理一下 当发出了温(湿)度测量命令后,控制器就要等到测量完成。 使用8/12/14位的分辨率测量分别需要大约11/55/210ms的时间 */ for (i=0;i<65535;i++) if(SHTSDA==0) break; //等待测量结束 if(SHTSDA) error+=1; // 如果长时间数据线没有拉低,说明测量错误 *value = SHTReadByte(ACK); //读第一个字节,高字节 (MSB) *(value+1) = SHTReadByte(ACK); //读第二个字节,低字节 (LSB) 把两个字节组合起来 *p_checksum =SHTReadByte(noACK); //read CRC校验码 return error; // error=1 通讯错误 } 那个等待的时间太长长,我想请教你一下,我怎么样处理那个等待时间,来提高系统的实时性。谢谢大家 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 08:27 , Processed in 0.697109 second(s), Total 67, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3681