首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我使用的是"SparkFun Qwiic键盘“,一些人不理解的键盘库

我使用的是"SparkFun Qwiic键盘“,一些人不理解的键盘库
EN

Stack Overflow用户
提问于 2020-10-24 22:34:04
回答 1查看 52关注 0票数 0

我用的是"SparkFun快捷键“

我正在学习"SparkFun“提供的Arduino_Library。

有些人不理解。

在"SparkFun_Qwiic_Keypad_Arduino_Library.h“中,第50和62行,

它里面的"TwoWire *_i2cPort“是什么?目的是什么?

我是一个超级C& C++新手,希望大家能帮忙解释一下。

谢谢你,所以much=]

行(50)布尔开始(TwoWire &wirePort = Wire,uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);

线路(61)专用:线路(62) TwoWire *_i2cPort;

https://github.com/sparkfun/SparkFun_Qwiic_Keypad_Arduino_Library/blob/master/src/SparkFun_Qwiic_Keypad_Arduino_Library.h

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-24 23:18:17

Sparkfun Qwiic系列组件使用I2C协议进行通信。因此,传感器、执行器、显示器都没有直接连接到Arduino的数字或模拟引脚上,而是都有一个芯片,它使用I2C协议与单片机进行通信。

I2C使用两条线,是总线,每个设备都有自己的地址。这允许链接Qwiic组件。

由于许可的原因,Arduino将I2C库命名为"Wire“,而不是I2C。Wire库定义了一个名为TwoWire的类,并创建了类TwoWire的全局对象。此全局对象名为Wire。

Qwiic库在草图的setup()中使用begin()函数进行初始化,这在Arduino中很常见。在本例中,begin()函数有可选的参数。

代码语言:javascript
复制
boolean begin(TwoWire &wirePort = Wire, uint8_t deviceAddress = QWIIC_KEYPAD_ADDR);

这些参数是可选的,因为提供了默认值。第一个可选参数是对类型为TwoWire的对象的引用&,因此为TwoWire&。默认值是我之前提到的全局Wire对象。

begin()函数获取在具有多个I2C外围设备的Arduinos上使用的TwoWire实例,以便能够使用Wire1。

begin()函数存储一个指向它应该使用的TwoWire对象的指针。他们将指针变量命名为_i2cPort,因此它是TwoWire *_i2cPort;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64514471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档