arduino101 I2C函数没有onReceive和onRequest-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2499|回复: 7

[未解决] arduino101 I2C函数没有onReceive和onRequest

[复制链接]
发表于 2019-10-13 12:48 | 显示全部楼层 |阅读模式
[mw_shl_code=arduino,true]#include <Wire.h>//声明I2C库文件
int x;//变量x值决定主机的LED是否点亮
//初始化
void setup()
{
  Wire.begin(4);                // 加入 i2c 总线,设置从机地址为 #4
  Wire.onReceive(receiveEvent); //注册接受到主机字符的事件
  Wire.onRequest(requestEvent); // 注册主机通知从机上传数据的事件
}[/mw_shl_code]

编译时报错 'class TwoWire' has no member named 'onReceive'

我看了Wire.cpp里确实没有这两个函数,如果不使用这两个函数,那要怎么样注册事件呢?

如果是不支持了,懂的朋友可以帮忙传个例程吗?
101做从机,UNO做主机

发表于 2019-10-13 12:55 | 显示全部楼层
你是不是傻,class TwoWire' has no member named 'onReceive,没有这个函数,因为他在私有变量里
发表于 2019-10-13 12:55 | 显示全部楼层
需要修改头文件
 楼主| 发表于 2019-10-13 13:05 | 显示全部楼层
亏啊不 发表于 2019-10-13 12:55
你是不是傻,class TwoWire' has no member named 'onReceive,没有这个函数,因为他在私有变量里 ...

101的wire库和其它的arduino的wire库不一样,.h和.cpp里没有这两个事件函数,其它型号的 wire里有这两个函数,这两函数很重要,我就想弄明白101是有另外的写法还是其它什么问题
 楼主| 发表于 2019-10-13 13:06 | 显示全部楼层

101的I2C通信不是用的这个Wire.h库?
发表于 2019-10-13 15:53 | 显示全部楼层
看看示例怎么写的呢
 楼主| 发表于 2019-10-15 08:12 来自手机 | 显示全部楼层
谁能很肯定地说一下啊,101是不是不支持从机啊
发表于 2022-6-22 18:06 | 显示全部楼层
大佬 您好 我也遇到类似的问题了 您解决了吗 想请教一下
C:\Users\����\Documents\Arduino\libraries\ClosedCube_SHT31D\src\ClosedCube_SHT31D.cpp: In member function 'SHT31D_ErrorCode ClosedCube_SHT31D::read(uint16_t*, uint8_t)':
C:\Users\����\Documents\Arduino\libraries\ClosedCube_SHT31D\src\ClosedCube_SHT31D.cpp:416:8: error: 'class TwoWire' has no member named 'readBytes'
   Wire.readBytes(buf, (uint8_t)2);
        ^
exit status 1
为开发板 Generic STM32F103C series 编译时出错。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:56 , Processed in 0.096686 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表