首頁 > 評測 > NXP i.MX7D與AndroidThings系列之五:I2C通信

NXP i.MX7D與AndroidThings系列之五:I2C通信

NXP   IMX7D   AndroidThings   I2C   
  • 作者:SATURN
  • 來源:21ic
  • [導(dǎo)讀]
  • 本文將介紹如何通過I2C通信來實現(xiàn)屏幕點亮和顯示。

public class MainActivity extends Activity {
    private static final String TAG = "AndroidThings";
 
    private Lcd1602 mLcd1602;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main);
 
        Log.d(TAG, "I2C: " + PeripheralManager.getInstance().getI2cBusList());
 
        mLcd1602 = new Lcd1602();
        mLcd1602.setup();
 
        //byte[] msg = "For more complex peripherals, look for an existing user-space driver".getBytes();
        Log.d(Lcd1602.DEBUG_TAG, "onCreate: " + PeripheralManager.getInstance().getUartDeviceList());
        try {
            mLcd1602.clear();
            mLcd1602.setColor(33, 28, 28);
 
            mLcd1602.setText(0, 0, "ABCDEFGHIJKLMNOP".getBytes());
            mLcd1602.setText(1, 1, "TEMP: 11 C".getBytes()); 
        } catch (IOException e) {
            e.printStackTrace();
        }
 
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(Lcd1602.DEBUG_TAG, "onDestroy: ");
        if(mLcd1602 != null) {
            mLcd1602.close();
            mLcd1602 = null;
        }
 
    } 
}

整體代碼框架和led工程的差不多,首先在onCreate里面初始化設(shè)備,設(shè)置RGB的背光色,然后顯示一些簡單的文字信息。

 rId24.jpg

 

運行的結(jié)果,倒也不是很復(fù)雜。

其實AndroidThingsAPI已將底層的細(xì)節(jié)大大抽象了,正如Arduino簡化了底層細(xì)節(jié)一樣,這樣一來將大大提高生產(chǎn)效率。本例的復(fù)雜之處在LCD的具體操作上,所以除了掌握AndroidThings基礎(chǔ)知識,要想在Maker領(lǐng)域中取得更好的效果,學(xué)會看數(shù)據(jù)手冊也算是基本功之一,如果實在啃不動數(shù)據(jù)手冊,也可以參考別人的代碼來改,不過適用性就差了一點點。

下一節(jié)來個PWM式點燈。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+