STM32USB例程,HAL库,包括HID、HID-HID、HID-LibUSB、HID-LibUSB-WinUSB
STM32USB例程,HAL库,包括HID、LibUSB、HID_HID、HID_LibUSB、HID_WinUSB、HID-LibUSB-WinUSB
iTextSharp实现简单pdf的生成,可设置加密方式,压缩等级
iTextSharp实现简单pdf的生成,可设置加密方式,压缩等级
STM32L0自定义BULK传输下位机+Winform(LibUsbDotNet)上位机
通过cubemx生成USB的HID工程,改成BULK传输,速度快。与HID通信已没关系了,上位机是Win10+VS2019+Winform+LibUsbDotNet实现,可通过zadig直接安装libusb驱动,也可以通过zadig生成驱动文件,以管理员权限程序调用来实现自动安装驱动(比较推荐)。
STM32L0自定义BULK传输下位机+Winform(WinUSBDotNet WinUSB)上位机
通过cubemx生成USB的HID工程,改成BULK传输,速度快。与HID通信已没关系了,上位机是Win10+VS2019+Winform+WinUSBDotNet实现,Win10可以直接通信,免驱,Win7系统可通过zadig生成WINUSB驱动文件,实现自动安装驱动的功能,见STM32L0自定义BULK传输下位机+Qt(LibUSB)上位机里详细介绍。
Qt USB HID 简单的读写
Qt USB HID 利用hidapi实现简单的数据读写
C# USB HID 简单的读写
C# USB HID 利用HidSharp实现简单的数据读写
VSCode中Tabnine插件本地模型解决Tabnine一直卡死在initializing tabnine的问题
我的VSCode打开后一直initializing tabnine,发现在C:\Users\xxx\AppData\Roaming\Code\User\globalStorage\tabnine.tabnine-vscode\文件夹下一直在下载东西,下载一半失败又删除掉了。应该是外网的原因。关闭VSCode,把这个文件替换下,再打开VSCode,就可以初始化成功了,登录下就可以用了。
STM32(或其它国产单片机)移植Zlib进行数据压缩功能
Zlib主要用在上位机,因为无论是Windows、Linux、MAC都有足够的内存,单片机RAM非常小,源码中MAX_WBITS默认是15,需要两个32k才能正常工作,compress2也只能实现一次数据传入压缩。都不适合单片机使用。我在移植时将MAX_WBITS改为8,压缩等级改为了3,借鉴网友的代码重写了deflate_compress,移植了正点原子的malloc,已经实现了数据压缩。移植到国产单片机平台,再借鉴libharu了实现了PDF的FlateDecode。通过PDFStreamDumper分析,压缩率达到10倍以上。要做加密的话,压缩后数据传入加密函数就可,注意传入数据的长度。
Qt 利用keybd-event向应用程序发送全选复制粘贴命令
Qt利用QProcess以指定应用程序打开文档,通过FindWindow找到该应用程序,用keybd_event向该应用程序发送Ctrl+A,Ctrl+C,Ctrl+A,Ctrl+V,Ctrl+S虚拟按键,实现文档内容的全选、复制、粘贴、保存的功能。(借助VS Code、记事本和谐)
文件批量重命名,包括加前缀、后缀、替换部分内容
文件批量重命名,包括加前缀、后缀、替换部分内容。
Qt更改文件夹下文件后缀名
Qt批量更改文件夹下文件后缀名
Qt上位机利用libharu库生成带透明png的pdf
在Qt环境中,添加zlib、libpng16、libhpdf库实现的生成带有透明png格式照片的pdf。库的编译方式见参见网址。
Qt 扩展ASCII表与八进制、十六进制间转换
QTextCodec 字符编码与16进制数据转换
QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
QString string = codec->toUnicode(encodedString);
QByteArray encodedString = codec->fromUnicode(string);
Qt QCustomplot 动态加载百万级温湿度数据,跟随鼠标动态显示线上点的值,一键将数据写入excel中
分批读取16进制格式温湿度数据解析显示到QTableWidget和QCustomplot中,鼠标跟随显示具体值,通过QXlsx将数据写入到excel中。QCustomplot双Y轴缩放,拖动,双Y轴显示,右键区域选择,显示阈值。
STM32 SPI DMA驱动外部FLASH,寄存器操作,单发,单收,速度快
STM32 SPI DMA驱动外部FLASH,寄存器操作,单发,单收,速度快。
STM32F103USB例程,HAL库,包括CDC、HID、MSC、CDC+HID,CDC+HID+MSC
STM32F103USB例程,HAL库,包括CDC、HID、MSC、CDC+HID,CDC+HID+MSC。
Qt-USB-HID-MSC复合,USB端口号、序列号、与HID、盘符都绑定
参照USB Device Tree Viewer的方法,将USB Port号与HID的serial号和与U盘盘符绑定,实现多台HID_MSC复合设备,一对一HID通信和一对一U盘通信
Qt上位机利用libharu库生成pdf,可生成日文
在Qt环境中,直接将libharu库文件加入工程中,VS环境中调试。
Qt上位机利用libharu库生成pdf,生成韩文
在Qt环境中,直接将libharu库文件加入工程中,VS环境中调试。
B站电脑端缓存视频mp4格式批量转换器,带文件名,增加了移出文件名中非法字符的操作
硕鼠已经不能解析下载B站的高清视频了。使用电脑PC端缓存下来视频,通过该软件可以批量将缓存下来的视频文件转成mp4格式方便保存收藏查看,该软件使用Qt5.12.12+Win10+VS2019开发,其实就是利用FFmpeg工具进行合并转换。名字通过json文件获取。我在软件中将json、音视频文件相对于上层目录固定了,如果缓存的别的音视频文件结构不同,可自行修改。电脑端和手机端缓存的文件结构不同,音视频文件前面还多9个无用字节,需移除。后期都是通过电脑端缓存视频转换的,不再维护手机端。增加了合并文件功能。增加了移出文件名中非法字符的操作,若转换还是不成功,可看下json文件中文件名,删掉非法字符,做适当修改。
STM32L0自定义BULK传输下位机+Qt(WinUSB)上位机
通过cubemx生成USB的HID工程,改成BULK传输,速度快。与HID通信已没关系了,上位机是Win10+VS2019+Qt5.12.12+WinUSB实现,Win10可以直接通信,免驱,Win7系统可通过zadig生成WINUSB驱动文件,实现自动安装驱动的功能,见STM32L0自定义BULK传输下位机+Qt(LibUSB)上位机里详细介绍。
STM32L0自定义BULK传输下位机+Qt(LibUSB)上位机
通过cubemx生成USB的HID工程,改成BULK传输,速度快。与HID通信已没关系了,上位机是Win10+VS2019+Qt5.12.12+LibUSB实现,可通过zadig直接安装libusb驱动。
B站手机端缓存视频mp4格式批量转换器,带文件名
硕鼠已经不能解析下载B站的高清视频了。使用手机App缓存下来视频,通过该软件可以批量转成mp4格式方便保存收藏查看,该软件使用Qt5.12.12+Win10+VS2019开发,其实就是利用FFmpeg工具进行合并转换。名字通过json文件获取。我在软件中将json、音视频文件相对于上层目录固定了,如果缓存的别的音视频文件结构不同,可自行修改。
16进制数据转16进制字符串工具
可通过对话框选择文件或直接将文件拖进界面打开文件,会将16进制文件转换成字符串展示出来,方便查看bin文件、pdf文件、jpg等图片文件,同时增加了“,”,方便将文件内容直接复制到程序的数组中。又增加了保存16进制文件功能,方便16进制文件制作。
Qt-USB-HID通信,可通过不同的serialnumber与多个相同的PID,VID设备轮训通信
基于Qt开发,开发环境为Win10+VS2017+Qt5.12.12,64位系统,是直接加入Windows环境源文件。如果编译有问题,可将SetupAPI.Lib替换为自己系统内的文件。HID设备都是单片机自定义HID设备,PID和VID都相同,但单片机HID驱动库的返回的serial_number都是存储在单片机内的唯一识别码。此示例就是基于此与多个设备轮训通信的。并且获得了HUB的USB端口,将USB端口与serialnumber绑定在了一起。
Qt QCustomplot 静态显示温湿度值,跟随鼠标动态显示线上点的值
通过QXlsx从存有温湿度数据的excel表中读出数据通过QCustomplot显示出来,鼠标跟随显示具体值
Qt bin文件合并,hex文件合并,bin文件加密用于在线升级,可自动增加版本号
Qt小应用,实现bin文件合并,hex文件合并,在线升级用的加密加开头识别字符的bin文件,通过bat文件传入开头识别字符,bin文件合并app偏移参数。MDK中调用这个bat文件,可以实现编译后三个文件自动生成的功能。
Qt Winform USB 通过调用Windows底层函数直接访问U盘,实现U盘内容的读写
Qt Winform通过调用Windows底层函数直接访问U盘,实现U盘内容的读写。类似于以管理员身份打开Winhex,Open Disk(F9)打开硬盘的功能。自由操作U盘内容。可通过这种方式实现PC与单片机的BULK通信,包大小512,在单片机端虚拟出一片区域直接截流去解析数据,要实现固件升级,就虚拟出更大一片区域。通信速度比HID快,省去了LibUSB 安装驱动的麻烦。Win10x64+Qt+VS2019和Winx64+Winform+VS2019。
Qt多线程串口接收,带有USB插拔检测,excel写入
Win10x64+Qt5.12.12+VS2019,moveToThread方式实现串口的多线程数据接收,利用QByteArray的移出的方式高效解析并呈现出来,并利用QXlsx将呈现出来的写入Excel中。
Qt-USB-HID通信,可与多个相同的PID,VID设备轮训通信
基于Qt开发,开发环境为Win10+VS2017+Qt5.12.12,64位系统,是直接加入Windows环境源文件。如果编译有问题,可将SetupAPI.Lib替换为自己系统内的文件。HID设备都是单片机自定义HID设备,PID和VID都相同,但单片机HID驱动库的返回的serial_number都是存储在单片机内的唯一识别码。此示例就是基于此与多个设备轮训通信的。
C#Winform使用NPOI生成excel文件
C#Winform使用NPOI生成excel文件,可选择Excel2003或Excel2007及以上。
C#语言Winform利用ExifLibrary库给照片写入GPS经纬高数据
分别用导入ExifLibrary库的dll方式和直接加入.c .h文件的方式实现了往照片里写入经纬高数据的功能,且可多次写入、修改。
Qt上位机利用libharu库生成pdf,可生成中文
在Qt环境中,直接将libharu库文件加入工程中,VS环境中调试