完善资料让更多小伙伴认识你,还能领取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 通讯错误 } 那个等待的时间太长长,我想请教你一下,我怎么样处理那个等待时间,来提高系统的实时性。谢谢大家 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
442 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
222 浏览 0 评论
315 浏览 0 评论
164 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
494 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11972 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 05:28 , Processed in 0.448069 second(s), Total 67, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号