草庐IT

STM32利用USB的HID与QT上位机通信

 之前使用kingst的逻辑分析仪,打开上位机软件,插上带usb的硬件就可以通信,也不需要打开串口什么的,感觉很方便,于是借用一个周末研究下这个技术。本文主要是用于记录自己学习的过程,顺便分享下学习感悟。首先初略说下大体是怎么回事,就是单片机使用hid功能需要配置VIDPID,这两个相当于设备地址,配置好之后上位机根据这两个地址找到你的单片机,就可以通信了,就这么简单。1.通过CUBEMX配置stm32的usb功能 图1  图2 2.填写HID报告描述符,USB_DEVICE/App/下打开usbd_custom_hid_if.c文件中。这个地方有很多要说的,先直接上单片机配置的代码。__AL

RS485接线方式小科普

欢迎来到东用知识小课堂!RS-485采用平衡发送和差分接收方式实现通信:发送端将串行口的ttl电平信号转换成差分信号a,b两路输出,经过线缆传输之后在接收端将差分信号还原成ttl电平信号。RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。实际应用中的接线方式,应如下图所示的接线方式。其中从机RS485-A和RS485-B应该是没有上下拉电阻的,若有上下拉电阻会造成能接入的从机数量减少。如果通讯距离比较短或者所挂接的从机设备比较少,那么终端电阻是可以不接的,但是随着距离的增加和从机设备的增多,信号在总线末端容易引起反射,导致通讯不稳定。

STM32F103实现USB虚拟串口

    今天分享一下STM32F103如何实现虚拟串口,目标是让新手也能上手,如果谁没看懂或者照着做功能没有实现可以私信我,只要我看到一定回复。新建STM32CubeMX工程    本次使用的是STM32F103C8T6核心板,按以下步骤新建一个STM32CubeMX工程。    步骤一:先输入MCU型号搜索芯片,软件支持模糊搜索,然后在右侧选中正确的MCU后,点击“next”到下一步;    步骤二:输入工程名称,尽量不要含中文和特殊字符,其他保持默认设置就行,直接点“finish”按钮到下一步,此步骤很简单就不配图了;    步骤三:进入工程配置界面我们首先点开SystemCore找到RC

STM32 —— USB 转 TTL(CH340)

STM32——USB转TTL(CH340)在使用USB转TTL模块之前,我们需要了解TTL协议串口TTL什么是TTLTTL一般是从单片机或者芯片中发出的电平,高电平为5V(51单片机)或者3.3V(stm32)TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输入接口TTL电平TTL电平信号应用广泛,是因为其数据表示采用二进制规定,即:逻辑高电平==0==VCC==3.3V或5V逻辑低电平==0==0V==0V数字电路中,由TTL电子元器件组成电路的电平是个电压范围

STM32 —— USB 转 TTL(CH340)

STM32——USB转TTL(CH340)在使用USB转TTL模块之前,我们需要了解TTL协议串口TTL什么是TTLTTL一般是从单片机或者芯片中发出的电平,高电平为5V(51单片机)或者3.3V(stm32)TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输入接口TTL电平TTL电平信号应用广泛,是因为其数据表示采用二进制规定,即:逻辑高电平==0==VCC==3.3V或5V逻辑低电平==0==0V==0V数字电路中,由TTL电子元器件组成电路的电平是个电压范围

数字电路硬件设计系列(十)之RS485电路设计

 针对设计过程中的问题,如有疑问,欢迎留言评论!点我返回目录 1简介RS485通信属于串口通信中的半双工通信,RS485具有支持多节点(32个节点)、传输距离远(最大1219m)、接收灵敏度高(200mV电压)、连接简单(在构成通信网络时,仅需要一对双绞线作传输线)、能抑制共模干扰(差分传输)、成本低廉等特点,最高的传输速率可达10Mbps。在多站、远距离通信等多种工控环境中获得了广泛应用。 RS485的电平标准如下:电平逻辑逻辑1逻辑0RS485+(2~6)V-(2~6)V当接收端AB间的电压差:大于+200mv:高电平1。小于-200mv:低电平0。注意:其中逻辑1为B>A的状态,定义逻辑

c++ - 在 Windows 上与 USB HID 设备进行通信的最佳 USB 库是什么?

图书馆应该;易于使用,几行客户端代码就能完成很多工作尽可能独立于平台。(以防将来移植到其他平台)拥有C++绑定(bind)。成熟稳重我还希望通过回调获得大多数HID事件的通知。我考虑过以下替代方案:libhid-(很遗憾?)这是GPL,不能在我的应用程序中使用。WDK-对我来说似乎有点低级。我不需要那种控制。atusbhid-这具有适当的抽象级别,但它与Windows消息传递循环紧密相关还有其他选择吗? 最佳答案 看看hidapi:它是C,它回答了C++绑定(bind)问题(有效:)),是跨平台的,并且具有非常宽松的许可证。它似乎没

c++ - 在 Windows 上与 USB HID 设备进行通信的最佳 USB 库是什么?

图书馆应该;易于使用,几行客户端代码就能完成很多工作尽可能独立于平台。(以防将来移植到其他平台)拥有C++绑定(bind)。成熟稳重我还希望通过回调获得大多数HID事件的通知。我考虑过以下替代方案:libhid-(很遗憾?)这是GPL,不能在我的应用程序中使用。WDK-对我来说似乎有点低级。我不需要那种控制。atusbhid-这具有适当的抽象级别,但它与Windows消息传递循环紧密相关还有其他选择吗? 最佳答案 看看hidapi:它是C,它回答了C++绑定(bind)问题(有效:)),是跨平台的,并且具有非常宽松的许可证。它似乎没

移动光猫 烽火HG6145F 获取管理员密码 启用USB存储功能

总结一下移动光猫烽火HG6145F获取管理员密码的过程,从网上没有搜到这个型号,但是可以参考一下相关类似型号,参考链接附后。1、连接光猫:首先连接好光猫的WIFI,确认可以访问路由默认网关192.168.1.12、获取光猫MAC:打开CMD,推荐使用PowerShell,输入命令arp-a192.168.1.1,查看光猫MAC地址,如aa-bb-cc-dd-ee-ff,下图:3、开启光猫telnet:在浏览器输入如下连接http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=AABBCCDDEEFF 此处填写第2步获取的MA

C++ USB 编程

我是硬件编程的新手(尤其是USB),所以请多多包涵。我正在使用C++,我需要向/从微处理器板上的USB端口发送/接收一些数据(字节数组)。现在,我以前做过一些串口编程,我知道对于一个串口,你必须打开一个端口,设置,执行i/o,最后关闭端口。我猜是用USB接口(interface),它不像我上面提到的那么简单。我确实知道我想使用Microsoft标准驱动程序并实现标准WindowsIO命令来完成此任务,因为我相信没有可供我与之交互的微处理器板驱动程序。如果有人能指出我通过标准WindowsIO命令与USB端口(打开、设置、i/o)“对话”所需的步骤的正确方向,我将非常感激。非常感谢你!!