完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的 Wi-Fi/mqtt 热泵项目需要 i2c slave 支持,我找不到它,现在已经实现了。从我的搜索努力来看,其他人似乎也需要它。如果是这样,如何进行?
它基于 Arduino twi.c 代码并模拟 Atmega 328p hw。我没有担心现有的主支持,但我猜它仍然像以前一样工作。 该设计基于具有后台处理优势的中断。这在与 mqtt 甚至 OTA 更新支持相结合时非常有用。缺点是暴露于 ESP 的周期性中断延迟。 为了应对后者,需要主机支持时钟延展。此外,当延迟迫使 ESP 不同步时,实施超时以释放挂起的总线。尽管如此,当作为 master 与 Trinket Pro 通信时,总线可能会被 master 挂起。我目前希望该错误出现在 Adafruit 实现或 atmega 硬件中。热泵的长期测试正在进行中。那我们就知道了。 为了支持闪存中的 Wire-library 回调,使用了 prio-2 用户任务。我做了一个文件搜索,它似乎是免费的。prio-0 不起作用,prio-1 被循环任务占用。如果需要,可以与其他 HAL 共享该任务。 释放总线超时是使用单次定时器实现的。 我以大约 14kHz 的频率运行。由于中断延迟,100kHz 似乎无法实现。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
418浏览 6评论
352浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
332浏览 5评论
335浏览 4评论
315浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-23 01:25 , Processed in 0.762729 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号