当前位置: 首页 > news >正文

好的免费网站建站平台免费写作的平台

好的免费网站建站平台,免费写作的平台,遵义网站建设遵义,亿图在线制作流程图可以使用开源usb-serial-for-android 库进行串口通信 添加 usb-serial-for-android 依赖项到项目中。在项目的 build.gradle 文件中添加以下内容: dependencies {// 其他依赖项...implementation com.github.mik3y:usb-serial-for-android:3.5.1// 其他依赖项... …

   可以使用开源usb-serial-for-android 库进行串口通信

  1. 添加 usb-serial-for-android 依赖项到项目中。在项目的 build.gradle 文件中添加以下内容:
dependencies {// 其他依赖项...implementation 'com.github.mik3y:usb-serial-for-android:3.5.1'// 其他依赖项...
}

2、在AndroidManifest.xml 文件中添加 USB 权限声明:

<uses-permission android:name="android.permission.USB_PERMISSION" />

  3. 创建一个类来处理串口通信:

import android.content.Context;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbManager;import com.hoho.android.usbserial.driver.CdcAcmSerialDriver;
import com.hoho.android.usbserial.driver.ProbeTable;
import com.hoho.android.usbserial.driver.UsbSerialDriver;
import com.hoho.android.usbserial.driver.UsbSerialPort;
import com.hoho.android.usbserial.driver.UsbSerialProber;import java.io.IOException;
import java.util.List;public class USBSerialHelper {private UsbManager usbManager;private UsbSerialPort usbSerialPort;private UsbDeviceConnection connection;private OnDataReceivedListener onDataReceivedListener;private ReadThread readThread;public interface OnDataReceivedListener {void onDataReceived(byte[] data);}public USBSerialHelper(Context context, OnDataReceivedListener listener) {usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE);onDataReceivedListener = listener;}public void openDevice() throws IOException {ProbeTable customTable = new ProbeTable();customTable.addProduct(0x2341, 0x0043, CdcAcmSerialDriver.class);UsbSerialProber prober = new UsbSerialProber(customTable);List<UsbSerialDriver> availableDrivers = prober.findAllDrivers(usbManager);if (!availableDrivers.isEmpty()) {UsbSerialDriver driver = availableDrivers.get(0);UsbDevice device = driver.getDevice();connection = usbManager.openDevice(device);usbSerialPort = driver.getPorts().get(0);usbSerialPort.open(connection);usbSerialPort.setParameters(115200, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE);readThread = new ReadThread();readThread.start();} else {throw new IOException("No USB serial device found");}}public void closeDevice() {if (readThread != null) {readThread.interrupt();readThread = null;}if (usbSerialPort != null) {try {usbSerialPort.close();} catch (IOException e) {e.printStackTrace();}usbSerialPort = null;}if (connection != null) {connection.close();connection = null;}}public void sendData(byte[] data) throws IOException {if (usbSerialPort != null) {usbSerialPort.write(data, 1000);}}private class ReadThread extends Thread {@Overridepublic void run() {byte[] buffer = new byte[1024];int numBytes;while (!isInterrupted()) {try {numBytes = usbSerialPort.read(buffer, 1000);if (numBytes > 0) {byte[] data = new byte[numBytes];System.arraycopy(buffer, 0, data, 0, numBytes);onDataReceivedListener.onDataReceived(data);}} catch (IOException e) {e.printStackTrace();break;}}}
}

4. 在代码中使用串口通信类:

public class MainActivity extends AppCompatActivity implements USBSerialHelper.OnDataReceivedListener {private USBSerialHelper usbSerialHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);usbSerialHelper = new USBSerialHelper(this, this);try {usbSerialHelper.openDevice();} catch (IOException e) {e.printStackTrace();}// 示例:发送数据byte[] sendData = "Hello, USB!".getBytes();try {usbSerialHelper.sendData(sendData);} catch (IOException e) {e.printStackTrace();}}@Overrideprotected void onDestroy() {super.onDestroy();usbSerialHelper.closeDevice();}@Overridepublic void onDataReceived(byte[] data) {// 处理接收到的数据String receivedData = new String(data);Log.d("USBSerialHelper", "Received data: " + receivedData);}
}

MainActivityonCreate() 方法中创建了一个 USBSerialHelper 实例,并调用 openDevice() 方法打开 USB 设备进行通信。

然后,使用 sendData() 方法发送数据到 USB 设备。将字符串 "Hello, USB!" 转换为字节数组,并发送给 USB 设备。

最后,在 onDataReceived() 方法中处理接收到的数据。将接收到的字节数组转换为字符串,并打印到日志中。

请确保在使用之前已经获取了 USB 权限,并根据实际的 USB 设备进行相应的配置(例如波特率、数据位、停止位、校验位等)。

http://www.yayakq.cn/news/40200/

相关文章:

  • 自己建网站程序视觉设计工资一般多少
  • 网站建设的行业资讯、零基础如何开网店
  • 网站建设pdf文件怎么发布固始城乡建设局的网站怎么打不开了
  • 从网址怎么看网站的域名嘉定区网站建设公司
  • 建设电子商务网站背景wordpress图片存放地址
  • app跟网站的区别网站建设开题报告论述
  • 镇江专业网站制作公司房屋3d设计软件
  • 什么叫商业网站前端网站开发研究报告
  • 百度网站验证方法广告设计毕业设计
  • 长治做网站多少钱关于网站建设的职位
  • 找人建站做网站需要注意什么问题局域网组网方案
  • 网站丢失了怎么办建筑网2016农村别墅图大全
  • 抚州专业的企业网站建设公司打开一张图片后点击跳转到网站怎么做
  • 贵州网站建设服务平台好的网页制作公司有哪些
  • 彩票资讯网站建设wordpress 菜单 icon
  • 做模板网站乐云seo效果好三星网上商城退款
  • 温州建设集团有限公司网站模板网站的优缺点
  • 建立网站需要多少钱 激发湖南岚鸿新闻发布会视频
  • 采集网站会收录吗如何建设购物网站
  • 网站设计什么样风格会高端些免费的域名和网站
  • 鹤壁做网站的联系方法网站短期培训学校
  • 金融类网站源码郴州必去三个景点
  • 视频做网站游戏开发公司排名
  • 上海装修网站大全康定网站建设公司
  • 开发公司工程部工作总结百度快速优化排名软件
  • 企业网站的推广方法有哪些网站开发与维护实训总结
  • 加强网站建设的意义wordpress php页面跳转
  • 湖南省专业建设公司网站的机构学校网站制作模板
  • 齐诺网站建设东莞网站建设做网站抛丸机网站怎么做
  • 做个外贸网站多少钱网页制作软件s