微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于C语言有些不懂,Arduino的问题

如何解决关于C语言有些不懂,Arduino的问题

我正在使用“ SparkFun Qwiic键盘”,并了解SparkFun提供的库。

在此函数中,无效接收事件( int numberOfBytesReceived (第212行)

“已收到numberOfBytes” 最终值为多少?

函数用于另一个函数 void startI2C()(第295行)

但是我仍然不知道这个值是什么?

请帮助我,非常感谢。

https://github.com/sparkfun/Qwiic_Keypad/blob/master/Firmware/Qwiic_KeyPad/Qwiic_KeyPad.ino

解决方法

所以您说:“此功能由另一个功能使用。”,这并非完全正确。 305行中发生了什么:

Wire.onReceive(receiveEvent);

,是receiveEvent由函数指针传递。 该文档正在进一步澄清( https://www.arduino.cc/en/Reference/WireOnReceive ):

Wire.onReceive(handler)

说明:

注册当从属设备接收到来自主设备的传输时要调用的功能。

参数处理程序:

从站接收数据时要调用的函数;这应该使用一个int参数(从主设备读取的字节数),并且不返回任何内容,例如:void myHandler(int numBytes)

返回:无

因此,每当从属设备从主设备获取传输时,就会调用已注册的函数,在这种情况下,称为 receiveEvent ,输入参数是从设备从主设备读取的字节数。 >

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。