• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32在读取DS18B20的时候,时序上的那些时间延时

奔跑的黑蚂蚁 2018-08-30 浏览量:2230
stm32在读取DS18B20的时候,时序上的那些时间延时只能时空短暂的延时函数去实现么?有没有什么更好的方法去驱动DS18B20呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不能打断18B20的时序,这个时序很重要,只能从其他地方想办法补救。

    实在不行,只能在定时器里面做,打打定时器的注意。

    • 发布于 2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:13
  • DS18B20对时序要求挺高的,而且延时时间也不长,就是us级的
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 很无所谓吧,我把标准时序方大10倍照样可以通讯,
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • DS18B20采用单线通讯,对时序要求比较严格,但都是us级,适应等待延时并不会影响系统效率。
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 调整通讯方式尝试看看效果
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 你要想用非阻塞延时驱动18b20的话你就只能上stm32的操作系统了,有ucos驱动18b20的例程,18b20的延时是不能被任何事件打断的。
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 18b20对延时要求挺高的,一般用阻塞延时就可以了,时间很短
    • 发布于2018-09-01
    • 举报
    • 评论 0
    • 0
    • 0

  • ds18b20采用单总线通信,因为延时都是微秒级的,而且有一定的范围

    所以一般就直接用空指令实现了

    • 发布于2018-09-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 也可以用定时器去延时,那个I2C通信 本来就允许存在一定的时序误差,用定时器+中断也是可以的
    • 发布于2018-09-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 18B20对时序的要求比较高,最好是用定时器来定时一个标准的时间
    • 发布于2018-09-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以通过定时器中断的方式,不过实行起来很麻烦,实际上单片机读取DS18B20不会很耗时,可以忽略不计。

    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 定时器定时精准延时比较好,可以保证你的时序不会出现问题
    • 发布于2018-09-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般都是有定时器中断来延时,但是操作比较麻烦,最简单的就是用死等延时
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32在读取DS18B20的时候,时序上的那些时间延时