2016-03-13 38 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