c#项目总结

  • 和赛车游戏硬件USB通信

和赛车游戏硬件USB通信

这是一个和赛车刹车离合交互的软件,主要通过串口通信去规定设备的最大值最小值,然后通过USB通信去获得刹车片传感器返回的数值。这里的USB通信踩了很多坑,刚开始使用团队的C语言写的dll,然后转到unity上,发现c语言的内存回收弄到unity相当于c#语言上,实际上不能用,一会内存会越来越多最终卡死,快的撑不过三秒。后来尝试着用LibUsbDotNet库来写,发现unity上能够维持很长时间了,也不会卡顿。所以以后尽量少涉足跨语言调用这个坑。但是有个问题,这个库的调用是需要下载对应USB的设备驱动的,这样插拔操作基本不大可能,调试了很多次,发现次数多了电脑会失灵,就这个库后边无法使用。最终在GITHUB上找到了另一个方法,有个大佬叫myth158他有个usbdemo是可以用的,里边是一个USBHelper的DLL,可以完美调用,读数什么的都不卡,但是在电脑上插拔会报错,明明项目上写的支持热插拔。所以一直在改这个DLL,发现JetBrains公司有个软件叫dotpeek可以通过DLL反编译生成源码,NB!于是成功的查看到源码,之前我复写了一天一直报错。通过源码最终锁定了问题,句柄是会根据操作系统改变位数的,64的句柄转换为数字就得是64位,但是那个DLL里转换32位,就会出现算术异常导致堆栈溢出。解决了之后果然就支持热插拔了。

c#USB接收信息项目的总结相关推荐

  1. Linux内核驱动开发-USB热插拔信息调取

    前言: 前段时间上科大嵌入式安卓开发溜了个作业,开发一个驱动,可以实现读取USB热插拔信息,程序调用显示USB设备名称和插拔时间.代码已经放在了我的Github上,供大家参考. 思路: USB热插拔的 ...

  2. c# tcpip 通信 Task线程接收信息

    1 c# tcpip通信-用线程实现数据接收与发送 针对用定时器实现数据接收过程出现的界面卡死现象,本次采用线程进行数据接收过程.服务端和客户端如图1所示. 图1 服务端和客户端 2 程序讲解 c# ...

  3. C# 获取USB设备信息

    WMI方式 using System; using System.Management; using System.Text.RegularExpressions; using System.Coll ...

  4. 微信小程序websocket连接服务器(接收信息)

    app.js App({onLaunch: function () {var that = this;// 登录wx.login({success: res => {// 发送 res.code ...

  5. Linux下,查看USB设备信息

    Linux下,查看USB设备信息 首先需要将usbfs挂载一下,然后才能查看. $ mount -t usbfs none /proc/bus/usb $ cat  /proc/bus/usb/dev ...

  6. 蓝桥杯51单片机之串口通信发送接收信息【单片机开发初学者串口必会】

    文章目录 一.上位机发送信号控制单片机 1.显示对应的流水灯 2.显示对应数码管 3.控制数码管显示的数字 二.两机收发信息 一.上位机发送信号控制单片机 1.显示对应的流水灯 实现现串口通信接收上位 ...

  7. python语言接收信息的内置函数_python接收信息的内置函数是

    有的python内置函数怎么就一个pass这个模块是用C实现的,没有Python源码. 所以python代码中只有一个pass,因为代码中都是C实现的. 两种情况: 一种情况是继承的时候会用到的,父类 ...

  8. 基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection

    基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection 获取P ...

  9. 用fdisk命令检查分区和SD/USB设备信息

    用fdisk命令检查分区和SD/USB设备信息[root@M388c etc]# fdisk -l /dev/mmcblk0Disk /dev/mmcblk0: 31.2 GB, 3128950784 ...

最新文章

  1. 页面样式乱了,但是又感觉各种js,css都引入了
  2. JDBC第一篇之获得数据库连接
  3. angular1x初始与架构演进(二)
  4. VC++6.0怎么打开工程
  5. 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向
  6. 【FFMPEG系列】之打印调试
  7. pyspider—爬取下载图片
  8. 移植opencv2.4.9到android过程记录
  9. unix linux性能对比,各有所长!对比LINUX和UNIX系统优势
  10. python魔兽挂机_实现 WOW 插件的简单步骤
  11. 一道被称为“神题”的试题之求熊是什么颜色的
  12. 黑马程序员Node.js全套入门教程的学习笔记
  13. 2 万字 + 30 张图 |MySQL 日志:undo log、redo log、binlog 有什么用?
  14. [Rootkit] dll 隐藏 - VAD
  15. 如何提升w ndows10系统网速,Win10更新后网速变慢怎么办?教你一招提升Win10网速...
  16. 云服务器测速脚本_服务器测速命令
  17. 微信小程序笔记、小程序打印
  18. 【区块链开发指南】区块链基础之区块和交易
  19. 使用easyrsa来制作证书
  20. 谷歌浏览器chrom兼容问题

热门文章

  1. JDBC-API详解-Statement接口
  2. i908/i908E手机如何拨打固定电话分机号
  3. GlusterFS概述
  4. AMD CPU VMware 16 Pro安装macOS 10.15
  5. 蓝桥杯算法训练—关联矩阵
  6. Mysql跨库跨表复制数据
  7. linux虚拟机 Ubuntu 安装方法
  8. FL Studio 教程之显示按钮简介
  9. 现场安装连接器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 计算机视觉之姿态识别(原理+代码实操)