首頁 > 評測 > NXP i.MX7D與AndroidThings系列之五:I2C通信
NXP i.MX7D與AndroidThings系列之五:I2C通信
- [導(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的背光色,然后顯示一些簡單的文字信息。
運行的結(jié)果,倒也不是很復(fù)雜。
其實AndroidThings的API已將底層的細(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
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前