草庐IT

Android 开发板接入外接USB键盘App重启问题

关于插入部分无线鼠标Android应用重启问题前言在Android9.0的项目中,测试工程师验证问题时插入某些USB的无线鼠标,会导致当前的APK会销毁然后重启一次,重新走一次生命周期。Activity为啥会重启?为什么会重启?我们大概率的知道,一般App重启大致有如下原因:APP异常了(微信存在这样的问题,闪退重启)机器状态改变了(比如改变语言),导致Activity重启了不过,由于日志中没有异常日志,因此考虑后面一种情况。下面是在《插入无线鼠标Android应用重启问题》后面发现插入有问题的USB无线收发器,会生成2个设备,一个鼠标和一个键盘。没错,这是键鼠套装一体的无线收发器,正是这个键

Modbus的常见问题解答:多台设备如何连接?为什么要加终端电阻?RS485总线可挂接多少个设备?在RS485通讯中,最大传输距离是多少?

多台RS485设备如何连接呢?使用屏蔽双绞线,采用手拉手菊花链式拓扑结构将网关和各串行设备节点连接起来,并在网络起始端和末尾端设备的RS485+和RS485-之间各并接一个120Ω电阻以减少信号在两端的反射。什么情况下在RS485总线上要增加终端电阻?RS485总线随着传输距离的延长,会产生回波反射信号,为避免信号反射,导致信号传输不稳定,当线缆长度较长时(譬如超过100米),数据传输线必须有终点,并且分支长度尽可能的短。正确的终端需要终端电阻RT匹配,其值为传输线的特性阻抗Z0。RS-485标准建议线缆的Z0=120Ω。电缆干线通常终端匹配120Ω的电阻,线缆的首末尾处各一个。RS485总线

ESP32-S3 自带usb/jtag初步尝试体验

一、背景最近在做一台小机器,设备初步规划使用几个实体按钮,这样方便用户戴手套操作。但因为设备有一些需要配置的参数,有需要配备屏幕。但是开发时间比较紧。考虑再三,决定先在初步配备一个简单的控制箱。控制箱上不带屏幕。后期配备一个无线连接的屏幕。这样用户在需要设置参数的时候通过无线连接到设备上就可以配置。另一方面,如果用户不想使用无线连接的屏幕,也可以在后期开发一个app,只要设备接入无线局域网也可以控制设备。这时候就想到了使用ESP32。以前用过几次ESP32,但是ESP32-S3还是第一次用。因为ESP32-S3带有更多的IO,同时蓝牙支持BLE5.[ESP32支持双模蓝牙,其实也不错。]这次就

RS锁存器和RS触发器(个人理解)

目录一、RS锁存器二、RS触发器三、两者总结和区分一、RS锁存器RS锁存器,电平触发,随输入随时变化,可由或非门组成或与非门组成。这是数电教材上的或非门组成的RS锁存器如图可见输出是随输入随时变化的,和时钟无关真值表RSQ00Q11X011100可以看到(一)当R端可S端都为0时,它是保持上次输出不变的,这也是它的锁存特性(?)(二)当R端和S端都为1时,就会让电路进入一个危险的状态,推导可知,此时输出Q和Q非均为0,但由于实际电路的延迟,S端和R端不可能同时变为0,就会出现不确定值,故R端和S端都为1时称为非法状态,设计电路时应避免这个状态(三)当R端为0,S端为1,由电路图可知,Q始终为1

关于STC89C5x系列USB转TTL模块CH340驱动安装失败,预安装成功的解决办法

 这里会讲到单片机USB转TTL模块的CH340驱动安装失败和驱动预安装成功的问题解决。首先,先说,安装失败不仅仅是告诉你“驱动安装失败”才算,如果提示“驱动预安装成功”也算失败。这里作者用的是普中A7的开发板,和A其他系列都大同小异。直接开讲!1.安装失败原因。    (1)首先,安装失败的原因很有可能是你更新了Windows系统,如果是在店家买的开发板,商家大概率给的CH340驱动是以前的版本,对win7,win10具有一定的适配性。win11的安全性提高了,同时也变得臃肿,权限管理越发严格,这也不一定是好事。    (2)这个原因占了最主要的内容!你使用的数据线并非数据线而是充电线。虽然

常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理

常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理前言一、串行通信与并行通信1.1串行通信1.2并行通信二、常用通信协议2.1UART2.1.1TTL电平2.2RS2322.2.1RS-232电平逻辑2.2.2RS-232标准的不足2.3RS-4852.3.1RS-485电平逻辑2.3.2RS-232与RS-485对比2.4RS-4222.5USB2.5.1USB速率2.5.2USB接口定义2.6CAN总线2.6.1CAN电平逻辑2.6.2CAN连接方式2.7IIC2.8SPI前言  最近在进行项目方案设计时,涉及到常用通信接口的选型,包括TTL、RS2

常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理

常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理前言一、串行通信与并行通信1.1串行通信1.2并行通信二、常用通信协议2.1UART2.1.1TTL电平2.2RS2322.2.1RS-232电平逻辑2.2.2RS-232标准的不足2.3RS-4852.3.1RS-485电平逻辑2.3.2RS-232与RS-485对比2.4RS-4222.5USB2.5.1USB速率2.5.2USB接口定义2.6CAN总线2.6.1CAN电平逻辑2.6.2CAN连接方式2.7IIC2.8SPI前言  最近在进行项目方案设计时,涉及到常用通信接口的选型,包括TTL、RS2

USB复合设备(键盘鼠标U盘三合一)基于标准库

键盘鼠标属于HID,U盘功能属于MSC。至于这些定义,这里不再过多介绍。网上有很多的例程,但是大多是基于HAL库的,标准库的我也找了不少例子看,但是没有HID+MSC的例程。最后还是看了个官方的复合设备例程才顿悟的,官方的例程,网上也很好找。搜USBCompositeexamples应该就能找到。手上的设备是基于stm32f1系列的,目前已经复合了键盘和鼠标,想要新增加一个U盘的功能。由于已经是成熟的产品了,硬件方面不方便修改,所以这里采用单片机内部的flash来模拟U盘功能。要去掉程序存储的空间,我的单片机大小是512k,所以这里给U盘配置400k。首先修改的就是usb_desc.c文件。这

【USB】windows热插拔通知接口分析

文章目录接口介绍概述过滤器介绍举例接收通知创建窗口参考文档接口介绍概述window提供了RegisterDeviceNotificationW方法,可以用来监听设备的热插拔事件。HDEVNOTIFYRegisterDeviceNotificationW([in]HANDLEhRecipient,[in]LPVOIDNotificationFilter,[in]DWORDFlags);hRecipient,表示用来接收通知的窗口或者服务。NotificationFilter,过滤器,用来过滤设备通知。Flags,用来说明hRecipient是个窗口还是服务。通知必须绑定到窗口或者服务,也就是说在

2022 亲测可行:Windows 实现 iOS 手机 USB 自动化测试:Mac 环境配置+ WebDriverAgent 编译+Windows tidevice 环境配置

Mac环境配置参考文章:https://blog.csdn.net/IT_LanTian/article/details/123693831注意:一定要开代理,不然容易失败还特别慢1.安装brew终端运行(以下命令都是用系统自带终端或者iTerm运行),安装完成后重启终端中间需要输入几次电脑开机密码/bin/zsh-c"$(curl-fsSL>https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"2.安装libimobiledevicebrewinstalllibimobiledevice--HEAD有可能会报错SSLcerti