永发信息网

你好,向你请教个问题。我是个大三学生,刚学单片机不久,劳烦你多多指教。

答案:2  悬赏:20  手机版
解决时间 2021-11-12 11:08
你好,向你请教个问题。我是个大三学生,刚学单片机不久,劳烦你多多指教。
最佳答案
这种温度传感器和单片机是以它自己独有的一种串行通信方式来进行的。基本上所有的串行通信在进行期间都不允许中断掉去干其他事情。 数据传输过程中一旦中断,中断后即使你的现场保护的很好,也白费。因为数据是一个位一个位传的,在向传感器发数据或者命令的时候,它只要一个完整的8位传完后对方才能知道你所发的是什么数据。并且传感器给你数据的时候,它可不管你此时是否中断了 ,它只是一口气发送完,你要就收,不要拉倒。
所以,读传感器的时候,绝对不可以中断干其他事情,只有对传感器发完指令,然后接受完传感器送来的数据后,才能进行中断等其他操作。

另外,我对你使用CCP1做捕捉功能却还用定时器0及其中断不是太理解。因为用捕捉的话,是应该开定时器1的,而且定时器1的中断不需要开,定时器只是给一个计数的功能。就是说,当外部有脉冲进来时候,打开定时器1,定时器1开始计数。当收到下一个脉冲的时候,ccp1模块自动停止计数,根据你设置进行中断(CCP中断,不是定时器1的中断)。然后你可以再中断服务子程序里读取TMR1H和TMR1L送到CCPR1H和CCPR1L里面的数据。就是两个脉冲之间的时间差(其实是两个脉冲之间间隔了N个时钟周期)。所以跟TRM0中断没有什么关系。追问嗯,你说的这个方法我正打算这样修改。这个程序里面之所以用到TMR0,是我借用我买的这个板子的例程序,他是用TMR0而不是T1。然后我现在遇到一个更奇怪的问题,我把它里面解码的子程序弄出来,单独来使用,只希望把接收到的按键的数据显示出来,却发现按他原来的时间判断不行,必须把判断时间范围扩大,这样才能接收到,而且按键反应不灵敏,在原来的例程序里面却非常正常。你有邮箱吗,我想问更具体点,初学者,小问题居多。来自:求助得到的回答
全部回答
单片机要解决的无非是“时间问题”与“空间问题”。你的这个问题就是一个时间冲突的问题,解决的方法是分时进行,当读写DS18B20时让它独占CPU的时间,而一旦检测到有红外线,就不要读写DS18B20,先完成红外线的所有接受这后再去读写DS18B20。因为红外遥控的机会很少,而读写DS18B20如果是一秒一次也已经是足够了,你会有足够的时间来分别处理的。追问你说的方法我也试过,不知道为什么还是不行。而且这样做的话,得到的温度有点奇怪,变化很大,而且数据容易乱跳。而且死机的机率变得大很多了,不知道为什么有时会死机呢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乾隆的名字叫什么?他亲生母亲叫什么?
magic wand是什么意思
央视网商城国肽胶原蛋白肽固体饮料
IPS-ADS和AH-IPS面板的区别?
清河在哪 清河是不是在北京城
本人买了一套二手房 总价46万 中介要收取2700
秋风爷爷对田野吹口气,田野……,一会儿……
请问OBYC自动过账中PRD PRU是配置什么科目,谢
苏优ppr管和pvc管的区别是什么?
020-22511531 是广州移动的吗? 经常打电话过
员工为什么不忠诚于企业
linux中如果一个用户对1个文件夹中的文件有写
背景墙与吊顶硅藻泥颜色要不要一致
中国好歌曲第二季第六期有哪些歌
赵子龙是战死的还是老死的?
推荐资讯
两组线径不一样的电源线并联使用 带同一负载
野性德鲁伊野外怎么打猎人
降落伞用什么量词 一什么降落伞
老家听荷第一段的表达方式
结竹营村地址有知道的么?有点事想过去!
大话3中,金钱携带数量受等级限制么?
数控车床精车外径时留多少余量
猫猫有时候和疯了一样到处乱跑乱跳是怎么回事
雨湖区湘潭大学-绿色催化与反应工程湖南省高
木、目、交、羊、几、子、加个什么字可以成新
鲜红蘑菇怎么吃
普安县职业教育培训中心地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?