问题标签 [1wire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
timer - 如何在STM32L-Discovery ARM板上制作微秒级精度的定时器?
我正在尝试实现 Dallas OneWire 协议,但在 STM32l-Discovery 上生成微秒延迟时遇到问题。
如何实现一个足够精确的计时器以将程序延迟 x 微秒?
node.js - Owfs.js 看不到假设备
我正在尝试使用假设备(来自 owfs.conf)在我的本地运行 owfs,但遇到了麻烦。这是我的代码,它打印空数组
它什么也没有返回。在我从控制台执行 owdir 的同时,我得到了这个
然后我正在尝试读取这样的设备
它输出
任何帮助表示赞赏。
arduino - ds18b20 单线地址格式从 arduino 转换为 debian
我用arduino记录了我大部分ds18b20的所有地址,当插入运行debian的Beaglebone Black时它们看起来不同。有没有办法可以将它们翻译成它们在 debian 上的外观?我无法全部测试它们,因为大多数都安装在我的原型中..
arduino = '0x28、0x9D、0xB6、0xAB、0x05、0x00、0x00、0x3E'
debian = '28-000005abb69d'
raspberry-pi - powertop 显示 owfs 每秒唤醒 40 次,传感器采样仅每 10 秒一次
我正在运行owfs
(1-wire 文件系统),其他一些进程仅每 10 秒对温度数据进行一次采样。现在,在那个 linux 盒子上,该进程powertop
每秒显示 40 到 50 个唤醒事件。owfs
我假设owfs
经常出去轮询/采样传感器,这就是我看到这些唤醒的原因。
由于我非常热衷于这台小机器的能耗(每一点节省都有帮助),我想知道是否有办法降低这种唤醒频率。
raspberry-pi - 如何加速 1-wire 脚本
我在 raspberryPi 上使用以下脚本,因为 pi 很慢,与在我的 Mac 上使用它相比,它需要相当大的延迟。我想知道是否有人可以帮助改进任何功能以帮助加快速度。
stm32 - 单线钻头敲击与usart单线
我想用一个单线协议的传感器,问题是这种协议的使用方式是优化的还是更合理的呢?在 usart 上还是使用 bit banging?
如果很重要,我正在使用 am2305 和 stm32fxx 微控制器。
vhdl - 用于 DS18B20 温度传感器的 1 线内核的 VHDL 封装器
目前我正在尝试为这个Opencore Verilog 模块(1-wire master)编写一个 VHDL 包装器,以便我可以从这个温度传感器(DS18B20)发送/接收。
但是我很难理解它的用法。即读/写使能与 1-wire 主模块的控制/状态寄存器中的 cyc 位。
到目前为止,我的代码将 cyc 位设置为 1,同时将读/写启用设置为 1,但不会在每个位期间循环它们。这是正确的还是我误解了?我是 VHDL 的新手/阅读数据表,所以我为此苦苦挣扎了几天。任何帮助,将不胜感激。
我发现这个网站一直用作参考,但它不涉及我正在使用的 Verilog 模块。
我也在寻找关于我的代码风格的提示,以及一般的 VHDL 提示。
我当前的代码:
先感谢您。最好的汤姆
raspberry-pi - 我无法通过 Android Things 中的 I2C 总线获取数据
我无法在 Raspberry Pi 3 上的 Android Things 中通过 I2C 总线获取数据。
我在 RPi 和 DS18B20(温度传感器)上连接 Android Things。 连接到树莓派
并运行 I2C 地址扫描应用程序(https://github.com/dennisg/i2c-address-scanner),但找不到可用地址。
如何通过 I2C 获取数据?
linux - 防止Linux在执行某个功能的过程中切换到另一个任务
我为改编自本书的 Raspberry Pi 实现了 1-wire 协议。它使用位碰撞来实现通信协议。BCM2835 库中的函数 bcm2835_delayMicroseconds() 用于产生所需的延迟。
它工作得很好,但并不完全可靠:有时我没有得到传感器的响应。我用示波器来追踪问题。这里是示波器屏幕截图,信号解释为绿色。 红色标记故障:开始低脉冲的位被延长,因此插入了一个流氓“0”。这导致传感器无法识别命令并且不响应它(随后的“1”)。
我相信这是因为操作系统在传输该位期间抢占(切换到另一个任务/线程/进程)。那么是否有可能告诉Linux在执行某个函数期间不要抢占(在这种情况下用于写入和读取单个位)?或者也许这个问题有另一种解决方案?