2016-03-13 37 views
0

我正在使用Intel Edison作为项目,但在Arduino中引入新的lcds的代码如下:如何使用英特尔Edison连接多个I2C LCD?

rgb_lcd lcd;

我无法挑选使用多个lcds时需要的格罗夫盾插头。我想知道是否有另一种方法来引入新的lcds,允许选择不同的插头?

通常通过#define函数完成拾取插件的方法,但是当通过arduino的ide验证代码时,返回的响应是“请求成员'开始'10',这是非类键入'int'“。任何人都可以帮忙吗?

+0

分享你的研究可以帮助大家。告诉我们你试过的东西以及为什么 它不符合你的需求。这表明你已经花时间 试图帮助自己,它使我们避免重申明显的答案, ,最重要的是它可以帮助您获得更具体和相关的答案! 另请参阅[如何问](http://stackoverflow.com/questions/how-to-ask) – Raju

+0

我试图通过创建它们像这样连接到多个lcds: rgb_lcd lcd; rgb_lcd lcd2; #define lcd A1 #define lcd2 A2 当我这样做时,我收到上面提到的错误。尝试在方法内定义端口以创建lcd时收到错误: rgb_lcd lcd = A1; 您这次收到的错误是“从const const uint8_t {aka const unsigned char}'转换为非标量类型'rgb_lcd'requested”。我不确定该从哪里出发。 –

回答

1

Grove LCD有两个I2C地址0x3E(LCD_ADDRESS)和0x62(RGB_ADDRESS用于背光)。您可以将两个LCD连接到Grove屏蔽,但两者都将接收相同的命令并显示相同的文本。如果您对使用多个I2C器件非常具体,则可能需要添加4 Channel I2C multiplexer

+0

爱迪生有2辆i2c巴士 - 除非你使用的是arduino板。我想知道这是否会让他受到影响。 – dethSwatch

0

我建议你先使用i2c-tools(i2cdetect)来测试硬件连接。您运行i2cdetect

之前,你需要配置这些GPIO引脚爱迪生:

echo 28 > /sys/class/gpio/export 
echo 27 > /sys/class/gpio/export 
echo 204 > /sys/class/gpio/export 
echo 205 > /sys/class/gpio/export 
echo 236 > /sys/class/gpio/export 
echo 237 > /sys/class/gpio/export 
echo 14 > /sys/class/gpio/export 
echo 165 > /sys/class/gpio/export 
echo 212 > /sys/class/gpio/export 
echo 213 > /sys/class/gpio/export 
echo 214 > /sys/class/gpio/export 
echo low > /sys/class/gpio/gpio214/direction 
echo low > /sys/class/gpio/gpio204/direction 
echo low > /sys/class/gpio/gpio205/direction 
echo in > /sys/class/gpio/gpio14/direction 
echo in > /sys/class/gpio/gpio165/direction 
echo low > /sys/class/gpio/gpio236/direction 
echo low > /sys/class/gpio/gpio237/direction 
echo in > /sys/class/gpio/gpio212/direction 
echo in > /sys/class/gpio/gpio213/direction 
echo mode1 > /sys/kernel/debug/gpio_debug/gpio28/current_pinmux 
echo mode1 > /sys/kernel/debug/gpio_debug/gpio27/current_pinmux 
echo high > /sys/class/gpio/gpio214/direction 
相关问题