你好,我现在写程序遇到了一些问题,ds18b20的显示总是不稳定,我觉得也是时序的问题,希望你能帮助我
我这个程序里有红外模块和直流电机模块需要用到定时器,同时ds18b20也需要用到定时器,可能这几个之间有冲突,但我不太清楚如何去改正,你能帮我看下吗?...
我这个程序里有红外模块和直流电机模块需要用到定时器,同时ds18b20也需要用到定时器,可能这几个之间有冲突,但我不太清楚如何去改正,你能帮我看下吗?
展开
3个回答
展开全部
你好:
ds18b20不是iic协议,是单总线协议。
然后,你说显示不稳定是不是这样,每当出现不稳定时,电机是否开始启动了,显示都是像才上电那样慢慢趋近环境温度。
如果差不多是这样,多半应该是电机驱动问题,当单片机驱动电机时,功率是很大的,此时也许会导致驱动的其他器件功率不够,当电机停下时其他器件又恢复稳定,电机启动后又驱动不了了。
还有就是,定时器中断的问题,问题可能没多大问题,但是同一个定时器最好不要用来做许多事,除非你能很好把握标志量的使用。
有不懂的地方随时回复我。
希望我的回答能帮助到你。
ds18b20不是iic协议,是单总线协议。
然后,你说显示不稳定是不是这样,每当出现不稳定时,电机是否开始启动了,显示都是像才上电那样慢慢趋近环境温度。
如果差不多是这样,多半应该是电机驱动问题,当单片机驱动电机时,功率是很大的,此时也许会导致驱动的其他器件功率不够,当电机停下时其他器件又恢复稳定,电机启动后又驱动不了了。
还有就是,定时器中断的问题,问题可能没多大问题,但是同一个定时器最好不要用来做许多事,除非你能很好把握标志量的使用。
有不懂的地方随时回复我。
希望我的回答能帮助到你。
2014-03-03 · 知道合伙人数码行家
凡问花P
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:389
获赞数:2614
69.12~76.3空军86621当兵,76.3~78.12北京电是技术研究所工人,79~82,北航二分院本科,之后留校任教至今。
向TA提问 私信TA
关注
展开全部
18b20只是测温芯片,一般来说I2C的输出比较稳定的,如果不稳定又可能是:
18b20的电源引脚接触不可靠;芯片所在位置受外界影响较大[比如靠近芯片,电机等];I2C程序有问题[这个不一定,因为I2C程序到处都有,比较成熟];
还有一种可能是中断级别的影响,即测温中断级别低于红外和电机控制.
18b20的电源引脚接触不可靠;芯片所在位置受外界影响较大[比如靠近芯片,电机等];I2C程序有问题[这个不一定,因为I2C程序到处都有,比较成熟];
还有一种可能是中断级别的影响,即测温中断级别低于红外和电机控制.
追问
我的ds18b20程序显示是没有问题的,我把这个程序单独拿出来的时候显示是稳定的,但是和红外和电机加在一起显示就不稳定了,如果是中断级别的影响,我应该怎么改变呢,因为我现在这三个模块我是用的一个定时器
追答
用同一个定时器,你的定时一样吗?如果不一样,除非分段定时----即完成一个定时后再装填另一个的定时,依次循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为DS18B20的延时太长,实时性太差,特别是在比较大的系统中,如果用程序循环延时就会有这样的问题,你试试改用中断来做比较长的延时为DS18B20操作试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询