首頁(yè) > 評(píng)測(cè) > NXP i.MX7D與AndroidThings系列之五:I2C通信
NXP i.MX7D與AndroidThings系列之五:I2C通信
- [導(dǎo)讀]
- 本文將介紹如何通過(guò)I2C通信來(lái)實(shí)現(xiàn)屏幕點(diǎ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的背光色,然后顯示一些簡(jiǎn)單的文字信息。
運(yùn)行的結(jié)果,倒也不是很復(fù)雜。
其實(shí)AndroidThings的API已將底層的細(xì)節(jié)大大抽象了,正如Arduino簡(jiǎn)化了底層細(xì)節(jié)一樣,這樣一來(lái)將大大提高生產(chǎn)效率。本例的復(fù)雜之處在LCD的具體操作上,所以除了掌握AndroidThings基礎(chǔ)知識(shí),要想在Maker領(lǐng)域中取得更好的效果,學(xué)會(huì)看數(shù)據(jù)手冊(cè)也算是基本功之一,如果實(shí)在啃不動(dòng)數(shù)據(jù)手冊(cè),也可以參考別人的代碼來(lái)改,不過(guò)適用性就差了一點(diǎn)點(diǎn)。
下一節(jié)來(lái)個(gè)PWM式點(diǎn)燈。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前