20200411-eclipse android OTG编程(3)-与单片机串口连接并互传数据

通过OTG对USB存储设备操作和与单片机串口连接互传数据可能存一定差异,暂时还没有尝试对USB存储设备的操作;下面都是与单片机CH34x芯片连接互传数据的尝试;(代码部分与前2期的不一样)斜体样式

与单片机的互传数据首先可以参考如下的demo;直接使用xx公司写的jar包
https://download.csdn.net/download/mjc1321/12318022

将其中的demo研究了下,尽可能全部精简后,主要就几个步骤;

权限自行添加
界面自行设计,我就设计了几个组件:1)显示文本框,2)开启连接按钮,3)发送按钮,4)文本输入框
在这里插入图片描述

1、包导入
将压缩包lib文件夹下CH34xUARTDriver.jar文件复制到工程项目下的libs文件夹中(自己创建),如下:
在这里插入图片描述
然后重启eclipse,刷新工程项目,可在Android Private Libraries下找到我们需要的jar包;

切勿直接使用工程项目的build path中Add External JARs添加,该方式是将jar包放置在Referenced Libraries下,这会导致程序无法正常运行;这个大坑折腾了好久,暂时没研究为啥;
在这里插入图片描述
2、代码
1)创建CH34xUARTDriver对象
2)设置串口参数(波特率=115200,stopBit=1,dataBit=8,parity、flowControl一般不管设为0)
3)流程:依次调用CH34xUARTDriver对象的ResumeUsbPermission()、ResumeUsbList()、UartInit()、SetConfig()等函数;—都在开启连接按钮点击监听方法中执行;
4)发送按钮监听方法中调用CH34xUARTDriver对象的WriteData()函数发送数据
5)读取数据,通过readThread额外的线程读取;
6)读取数据处理handler

open按钮监听函数:

//打开流程主要步骤为ResumeUsbList,UartInit
		button_open.setOnClickListener(new View.OnClickListener() {
   

					@Override
					public void onClick(View arg0) {
   
						if (!isOpen) {
   
							int retval = chDriver.ResumeUsbPermission();
							if (retval == 0) {
   
								retval = chDriver.ResumeUsbList();
								if (retval == -1)// ResumeUsbList方法用于枚举CH34X设备以及打开相关设备
								{
   							
									 chDriver.CloseDevice();
								} else if (retval == 0){
   
									if ( chDriver.mDeviceConnection != null) {
   
										//对串口设备进行初始化操作
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值