【前三名回答额外获得100IC币】
/@@*us级延时延时时间约4+2*i*/
不知道你是怎么替换的,因为你只给出了Delayus的定义,没有使用方面的处理。
不好判断你没有达到效果的原因(这个甚至需要用逻辑分析仪去分析输出信号是否满足要求),理论上这里修改是可行的。
是不是开了优化编译之类的,让效果失效啦?
看你的单片机的型号吧,应该是个8位的。
换成unsigned int后,要处理4个8位数据,时间变长了,你可以测量一下,时间应该是长了,超过协议要求了
可以简单的写个延时翻转引脚的程序,看下延时的变化。因为8位机用int的话相当于处理4个char数据,与你本来的us延时想法有点出入
这个用char或者int都是可以的,char的范围会小一点
如果说读取不了DS18B20,那就要检查你的延时函数是不是真的有生效,传入的参数是否正确