C++ 覆盆子皮C++;I2C/SPI示例

C++ 覆盆子皮C++;I2C/SPI示例,c++,raspberry-pi,i2c,spi,C++,Raspberry Pi,I2c,Spi,您好,请不要立即删除。在C++中,我很难在RasBuriPi上找到I2C/SPI编程的好代码示例。我看过wiringPi和其他源代码,但它们并没有像我所希望的那样提供很多源代码文档。有没有人在文档丰富的源代码甚至视频解释中找到了令人愉快的例子?如果有,请分享一个链接好吗 谢谢大家! 在Raspberry Pi上用C语言编写I2C很容易——大多数情况下需要普通的低级文件操作——打开、读取、写入等等 首先打开相应的设备: int f = open ("/dev/i2c-1", O_RDWR); 然

您好,请不要立即删除。在C++中,我很难在RasBuriPi上找到I2C/SPI编程的好代码示例。我看过wiringPi和其他源代码,但它们并没有像我所希望的那样提供很多源代码文档。有没有人在文档丰富的源代码甚至视频解释中找到了令人愉快的例子?如果有,请分享一个链接好吗


谢谢大家!

在Raspberry Pi上用C语言编写I2C很容易——大多数情况下需要普通的低级文件操作——打开、读取、写入等等

首先打开相应的设备:

int f = open ("/dev/i2c-1", O_RDWR);
然后使用
ioctl()
设置I2C设备地址:

ioctl (f, I2C_SLAVE, address);
然后只需使用普通的
read()
write()
调用即可发送和接收数据

困难的部分是理解设备的数据协议——这可能会被记录,也可能不会被记录。对于RPi,许多供应商只提供Python编程示例,因此我们必须从Python代码中对实际协议进行反向工程


我使用这种方法将各种设备连接到RPi——显示器、电机、传感器等。老实说,读写I2C总线是工作中非常简单的一部分:)

库、教程或类似内容的要求在SOSuggestion中都是离题的,我应该把它移到哪里?也许是StackExchange?请看:@eyllanesc No。这个问题也离题了。请参阅:“但是请注意以下话题”“要求查阅网上资料(使用搜索引擎,如果不起作用,直接询问问题)”不知道规则,我只建议你找出是否可以在那里发布。但是在现代C++中你怎么做?具体地说,要包含哪些文件,这些函数属于什么名称空间?读()、写()、IOCLT()在全局命名空间中,因此您应该能够在C++中写“:::(…)”等。你不需要包括任何其他内容。话虽如此,可能有C++类库来包装I2C操作。如果有的话,这些函数可能比低级函数调用更容易使用;我的期望是std:,但当然,我在这一点上错了。。。