完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
core_esp8266_si2c.cpp 中似乎存在错误。我正在使用 2.7.4 版的库,并且在以前的版本中也看到了这个错误。我不确定将其发布到何处以使其进入修复队列。
当 Twi::readFrom() 传递的长度为 0 时,代码不会测试此条件并读取许多字节而不是读取任何字节。 以下是解决此问题的修补代码。 unsigned char Twi::readFrom(unsigned char address, unsigned char* buf, unsigned int len, unsigned char sendStop) { unsigned int i; 如果 (!write_start()) { 返回 4; //占线 } if (!write_byte(((address << 1) | 1) & 0xFF)) { if (sendStop) { write_stop(); } return 2;//在发送地址时收到 NACK } // MJN: ??? 处理由// 检查 0 且不读取任何内容请求的 0 字节的情况。 if (len > 0) { // MJN 片段结束 for (i = 0; i < (len - 1); i++) { buf[i] = read_byte(false); } buf[len - 1] = read_byte(true); // MJN: 关闭条件 }; // MJN:MJN 片段的结尾 // 更多代码如下,无需更改。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
343 浏览 0 评论
1192 浏览 1 评论
587浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
443浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:29 , Processed in 0.556102 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号