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

本文介绍了如何在Eclipse环境下,使用Android OTG功能与单片机通过CH34x芯片进行串口通信。详细讲解了导入CH34xUARTDriver.jar库、设置串口参数、连接、发送和接收数据的步骤,并提供了关键代码段。单片机部分采用STM32F103,通过USART2进行交互。

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

与单片机的互传数据首先可以参考如下的demo;直接使用xx公司写的jar包
https://download.youkuaiyun.com/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) {
   
   
										//对串口设备进行初始化操作
										if (!chDriver.UartInit()) {
   
   
											return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值