我用的是"SparkFun Qwiic Keypad",对于Keypad Library有些不懂
I am using "SparkFun Qwiic Keypad", For Keypad Library some do not understand
我正在使用“SparkFun Qwiic 键盘”,
我正在了解“SparkFun”提供的Arduino_Library。
有些不明白
在“SparkFun_Qwiic_Keypad_Arduino_Library.h”中,第 50 行和第 62 行,
里面的“TwoWire *_i2cPort”是什么?目的是什么?
本人是C&C++超级菜鸟,希望大家帮忙解释一下
非常感谢=]
lines (50) boolean begin(TwoWire &wirePort = Wire, uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);
第 (61) 行私人:
第 (62) 行 TwoWire *_i2cPort;
Sparkfun Qwiic系列组件使用I2C协议进行通信。所以传感器、执行器、显示器都没有直接连接到Arduino的数字或模拟引脚,而是都有一个芯片使用I2C协议与MCU通信。
I2C 使用两条线,是一条总线,每个设备都有其地址。这允许链接 Qwiic 组件。
出于许可原因,Arduino 将 I2C 库命名为“Wire”而不是 I2C。 Wire 库定义了一个名为 class 的 TwoWire,并创建了一个 class TwoWire 的全局对象。此全局对象名为 Wire。
Qwiic 库在您的草图的 setup() 中使用函数 begin() 进行初始化,这在 Arduino 中很常见。在这种情况下,begin() 函数具有可选参数。
boolean begin(TwoWire &wirePort = Wire, uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);
这些参数是可选的,因为提供了默认值。第一个可选参数是对 TwoWire 类型对象的引用 &
,因此 TwoWire&
。而默认值就是我之前提到的全局Wire对象。
begin() 函数将 TwoWire 实例用于具有多个 I2C 外围设备的 Arduinos,以便能够使用 Wire1。
begin() 函数存储指向它应该使用的 TwoWire 对象的指针。他们将指针变量命名为_i2cPort,所以它是TwoWire *_i2cPort;
我正在使用“SparkFun Qwiic 键盘”,
我正在了解“SparkFun”提供的Arduino_Library。
有些不明白
在“SparkFun_Qwiic_Keypad_Arduino_Library.h”中,第 50 行和第 62 行,
里面的“TwoWire *_i2cPort”是什么?目的是什么?
本人是C&C++超级菜鸟,希望大家帮忙解释一下
非常感谢=]
lines (50) boolean begin(TwoWire &wirePort = Wire, uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);
第 (61) 行私人: 第 (62) 行 TwoWire *_i2cPort;
Sparkfun Qwiic系列组件使用I2C协议进行通信。所以传感器、执行器、显示器都没有直接连接到Arduino的数字或模拟引脚,而是都有一个芯片使用I2C协议与MCU通信。
I2C 使用两条线,是一条总线,每个设备都有其地址。这允许链接 Qwiic 组件。
出于许可原因,Arduino 将 I2C 库命名为“Wire”而不是 I2C。 Wire 库定义了一个名为 class 的 TwoWire,并创建了一个 class TwoWire 的全局对象。此全局对象名为 Wire。
Qwiic 库在您的草图的 setup() 中使用函数 begin() 进行初始化,这在 Arduino 中很常见。在这种情况下,begin() 函数具有可选参数。
boolean begin(TwoWire &wirePort = Wire, uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);
这些参数是可选的,因为提供了默认值。第一个可选参数是对 TwoWire 类型对象的引用 &
,因此 TwoWire&
。而默认值就是我之前提到的全局Wire对象。
begin() 函数将 TwoWire 实例用于具有多个 I2C 外围设备的 Arduinos,以便能够使用 Wire1。
begin() 函数存储指向它应该使用的 TwoWire 对象的指针。他们将指针变量命名为_i2cPort,所以它是TwoWire *_i2cPort;