首页 > 评测 > NXP i.MX7D与AndroidThings系列之五:I2C通信
NXP i.MX7D与AndroidThings系列之五:I2C通信
- [导读]
- 本文将介绍如何通过I2C通信来实现屏幕点亮和显示。
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里面初始化设备,设置RGB的背光色,然后显示一些简单的文字信息。
运行的结果,倒也不是很复杂。
其实AndroidThings的API已将底层的细节大大抽象了,正如Arduino简化了底层细节一样,这样一来将大大提高生产效率。本例的复杂之处在LCD的具体操作上,所以除了掌握AndroidThings基础知识,要想在Maker领域中取得更好的效果,学会看数据手册也算是基本功之一,如果实在啃不动数据手册,也可以参考别人的代码来改,不过适用性就差了一点点。
下一节来个PWM式点灯。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前