- 博客(25)
- 资源 (21)
- 收藏
- 关注
原创 QT动态编译应用后,如何快速获取依赖
本文介绍了QT动态编译应用程序时快速获取依赖库的方法。首先编译Release版本并测试运行,确认报错后,通过QT命令行工具使用windeployqt命令自动收集依赖库。具体步骤包括:1)编译Release版本;2)定位exe文件;3)使用QT命令行运行windeployqt命令(可指定额外模块如charts和serialport);4)自动复制所需依赖文件到exe目录。该方法能有效解决动态编译程序运行时缺少依赖库的问题,相比手动查找更为高效可靠。
2026-02-05 10:58:45
90
原创 QT静态库如何使用
本文详细介绍了使用QT静态库编译应用软件的完整流程。首先需要安装QT6.10.1/6.10.2版本,通过示例工程选择CAN相关项目。在项目设置中配置构建套件并选择release模式进行编译,生成约1GB的exe文件。然后通过修改.pro文件添加编译优化参数,将文件大小缩减至50MB。最后使用UPX工具进一步压缩,最终获得约30MB的可执行文件,且功能正常。文章提供了从编译到优化的完整解决方案,特别针对大型QT应用程序的体积优化给出了实用技巧。
2026-02-02 16:53:37
132
原创 QT6.10.2源码静态库编译手把手教程
本文详细介绍了如何在Windows系统下编译安装QT 6.10.2静态库,以便将QT应用程序打包成独立exe文件。教程包含六个主要步骤:从官方或镜像源下载QT源码;准备必要环境工具(Perl、CMake等);解压源码到足够空间的硬盘;通过命令行进行定制化配置;使用Ninja工具进行多核并行编译;最后完成安装并验证qmake.exe生成。特别强调了硬盘空间需求(至少200GB)和配置时的模块选择技巧,适用于需要开发串口/网口通信工具并打包独立exe的场景。
2026-02-02 16:26:08
711
原创 STM32H743定时器级联,TIM3触发TIM2,TIM2计时15us后触发TIM4,TIM4输出指定脉冲
摘要:本文介绍了一种利用STM32定时器级联触发实现精确时序控制的方法。通过TIM3(100us周期)触发ADC采样并同步启动TIM2(15us延时),TIM2再触发TIM4产生5us的GPIO复位脉冲(PD12)。各定时器采用主从模式级联,TIM2/TIM4配置为单脉冲模式,实现了采样-延时-复位信号的自动时序控制。初始化时需注意定时器启动顺序(TIM4→TIM2→TIM3),并正确配置触发源(TIM3→TIM2→TIM4)和分频参数。该方法适用于需要精密定时控制的外设协同工作场景。
2026-01-22 20:23:25
456
原创 STM32H743+DMA+串口空闲中断接收不定长数据,并使用DMA发送数据
本文介绍了在STM32H743上使用DMA实现串口高效收发的方法。相比传统中断方式,DMA能减少CPU中断频率,提高系统效率。文章详细展示了UART5的DMA配置过程,包括初始化、中断处理和发送函数实现。特别强调了H743的cache管理问题,需要在DMA操作后调用SCB_CleanInvalidateDCache()确保数据一致性。针对485通信,给出了收发模式切换的正确时机,并提供了基于FreeRTOS的信号量同步机制。该方法适用于不定长数据收发场景,若为固定长度数据流还可结合FIFO进一步提升效率。
2026-01-22 20:01:32
504
原创 STM32H743的硬件CRC计算modbus校验
本文介绍了两种Modbus CRC校验计算方法:软件查表法和硬件CRC加速法。软件方法使用256字节的预计算表进行逐字节处理,代码实现简单但效率较低。而STM32H743的硬件CRC模块支持自定义多项式(0x8005)、初始值(0xFFFF)和数据反转设置,通过初始化配置后可直接处理字节流,效率提升8倍且不占用CPU资源。文章提供了完整的硬件CRC初始化代码和计算函数,包括多项式配置、数据反转设置及结果处理等关键步骤,并验证了该方法的有效性。硬件方法特别适合大数据量场景,能显著提升系统性能。
2026-01-16 16:26:39
355
原创 STM32F407+DMA+串口空闲中断接收不定长数据,并使用DMA发送数据
本文介绍了使用DMA实现高效串口通信的方法。针对高波特率下串口中断频繁占用CPU资源的问题,提出采用DMA传输方案,通过循环模式接收和普通模式发送,配合空闲中断检测机制。详细展示了USART2的初始化配置、DMA参数设置、中断处理函数实现,以及基于信号量和消息队列的数据收发流程。特别说明了对485通信模式的支持,包括收发模式切换和超时处理机制。该方法有效减少了CPU中断负载,提高了系统实时性,适用于不定长数据通信场景。
2026-01-16 16:00:36
367
原创 BIN文件合并python源码
本文介绍了一个基于Python开发的BIN文件合并工具,专为解决STM32H743项目中bootloader和APP程序需要分别烧录的问题而设计。该工具具有图形化界面,支持设置不同偏移地址,将两个BIN文件合并为一个,简化生产烧录流程。文章提供了完整Python代码(兼容Python 3.14),并说明已在CSDN平台发布编译好的exe版本供下载。工具主要功能包括:选择bootloader和APP文件、设置十六进制偏移地址、指定输出路径,并能自动填充默认值(bootloader地址0x00000000,AP
2025-12-02 09:28:51
189
原创 STM32H743_LWIP_httpd读取设置参数问题
在static err_t low_level_output(struct netif *netif, struct pbuf *p)中会使用到ETH_TX_DESC_CNT,并通过DMA发送出去。2,另一个问题,内cache问题。因为我要实现在局域网中可通过电脑浏览器给设备进行参数设置及读取,文件上传(主要是bin文件做固件升级,当然也可以是其他文件)和下载(主要是日志和采集的数据),主要涉及如下宏。在开发过程中发现当通过网页设置或读取少量参数时,一切正常,当参数过多时,就会出现参数读不出来,网页失败。
2025-10-29 09:55:44
298
原创 MH5000-31
当前串口号Port=COMX,网络模式):1=TCPCLIENT,2=TCPSERVER,3=UDP。校验方式,0=None,1=modbusCRC16,2=ADD,3=XOR。显示缓冲上限,200K,500K,1M,2M,5M,10M,20M。N130=0,查询支持最大号码长度及名子长度,1000。N131=0,查询 SIM 文件夹当前的状态,1000。N106=0,查询 IMSI SIM卡,1000。N150=0,ubuntu模式ECM网卡,1000。N104=0,查询产品软件版本信息,1000。
2024-05-21 19:42:38
940
原创 git
分支合并 git checkout master //把developer分支合并到master版本 git merge developer 删除分支 git branch -d developer 列出标签 git tag 含附注的标签 git tag -a V1.0 -m'version 1.0' 查看标签 git show V1.1 推送标签 git push origin...
2020-11-05 11:58:56
137
原创 关于在STM32F103上执行CRC16出错问题
在STM32上执行CRC16时计算结果与原来在407上计算的不一样。代码如下图计算结果如下:此结果为错误结果,但此代码在407上运行正常。改正方法是在两个数组前加const.如下图此结果为正确结果。...
2018-04-19 20:34:03
3032
2
原创 dos下删除指定目录中的除指定文件格式之外的所有文件bat批处理文件,包括子目录
@echo off::删除除.c,.h,.s,.asm之外的所有文件for /f "delims=" %%i in ('dir E:\iTOP4418\linux /a-d /b /s') do ( if not %%~xi==.c ( if not %%~xi==.h ( if not %%~xi==.s ( if not %%~xi==.asm ( if not %%~xi...
2018-04-17 13:18:59
1819
原创 主要用来产生gdb可以调试的可执行文件,并执行调试,指定了数学函数头文件
#!/bin/sh#此bash主要用来产生gdb可以调试的可执行文件,输入参数为与编译文件同名#比如:hello.c文件,只需输入./gccgo.sh hello即可,并执行调试,指定了数学函数头文件#用于编译一些包括数学函数(sqrt)的c文件 gcc -g -lm $1.c -o $1 gdb $1...
2018-04-16 20:31:00
719
原创 主要用来产生gdb可以调试的可执行文件,并运行,编译线程文件
#!/bin/sh#此bash主要用来产生gdb可以调试的可执行文件,输入参数为与编译文件同名#比如:hello.c文件,只需输入./gccgo.sh hello即可,并运行,编译线程文件 gcc -g $1.c -lpthread -o $1 ./$1...
2018-04-16 20:30:09
613
原创 主要用来产生gdb可以调试的可执行文,并执行调试
#!/bin/sh#此bash主要用来产生gdb可以调试的可执行文件,输入参数为与编译文件同名#比如:hello.c文件,只需输入./gccgo.sh hello即可,并执行调试 gcc -g $1.c -o $1 gdb $1...
2018-04-16 20:29:12
426
原创 主要用来产生gdb可以调试的可执行文件
#!/bin/sh#此bash主要用来产生gdb可以调试的可执行文件,输入参数为与编译文件同名#比如:hello.c文件,只需输入./gccgo.sh hello即可,并运行 gcc -g $1.c -o $1 ./$1
2018-04-16 20:27:49
1154
原创 shell编译可执行文件,主要用来产生gdb可以调试的可执行文件,并执行
#!/bin/sh#此bash主要用来产生gdb可以调试的可执行文件,输入参数为与编译文件同名#比如:hello.c文件,只需输入./gccgo.sh hello即可,并运行 gcc -g $1.c -o $1 ./$1
2018-04-16 20:26:05
795
原创 java版本切换命令
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_43/bin/java 1sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_43/bin/javac 1sudo update-alterna...
2018-04-16 20:19:54
1471
原创 GCC版本切换命令
切换版本GCC version 切换 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 60sudo update-alternatives --install /us...
2018-04-16 20:18:49
1691
原创 4418GPIO口调用过程
4418GPIO口调用过程 1, 从itop4418_led.c文件开始一级级查找E:\iTOP4418\linux\kernel\kernel-3.4.39\drivers\char\itop4418_led.c找到其中的gpio_set_value(LED_GPIO,0);2, gpio_set_value为一个宏定义在E:\iTOP4418\linux\kernel\kernel-3.4.3...
2018-04-16 20:12:42
1558
原创 讯为4418GPIO初始化过程
4418 GPIO口初始化过程1,先从E:\iTOP4418\linux\kernel\kernel-3.4.39\init\mian.c文件找到start_kernel函数。里面的init_IRQ();函数 2,找到E:\iTOP4418\linux\kernel\kernel-3.4.39\arch\arm\kernel\irq.c文件里的void __init init_IRQ(void)3...
2018-04-16 20:06:18
611
原创 Ubuntu14.04 64位版Eclipse开发环境搭建
一,文件下载JRE。 http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html,下载最新版,根据系统选择linux-32,64位。 Eclipse SDK。http://www.eclipse.org/downloads/ 下载最新版,根据系统选择linux
2017-01-06 16:23:34
279
原创 E9V1版本uboot,内核 在ubuntu14.04 64位片机器上的编译
1, 编译环境按照E9手册操作,直到找到,输入gcc -v2, 输入./arm-none-linux-gnueabi-gcc -v 3, 环境做好后,再安装apt-get install lib32z1这个文件4, 后面通过chgrp -R root /opt把此文件夹内所有文件组改为root, 通过chown -R root /opt把此文件夹内所有文件用户改为
2017-01-05 20:03:22
652
讯为4418 led驱动以模块加载方式的驱动程序
2017-09-20
AC620_SDRAM_OV5642_TFT800_gaussian_filter
2018-05-16
AC620_SDRAM_OV5642_TFT800__RGB_Y_boundary_extraction
2018-05-16
AC620_SDRAM_OV5642_TFT800_RGB_ycbcr_gray_inversion
2018-05-16
基于cfree5的crc16算法
2018-04-17
AC620_SDRAM_OV5642_TFT800_sobel
2018-05-16
AC620_SDRAM_OV5642_TFT800_median_filter
2018-05-16
F429-LAN8720-freeRTOS-LWIP2.1.2-cJSON-mbedtls-MQTT-华为云OC
2026-01-15
F429-LAN8720-freeRTOS-LWIP2.1.2-cJSON-HMAC-SHA256-MQTT-华为云OC
2026-01-15
F429-LAN8720-freeRTOS-LWIP2.1.2
2026-01-15
BIN文件合并小工具,主要用于bootloader和APP应用程序bin文件的合并
2025-12-02
13002-UCAF004-X(TYPE C母座14P 双层180度插板 H=11.0).pdf
2024-08-29
yolov5图像识别onnx
2024-06-07
基于keil的NRF52832蓝牙芯片程序模板
2018-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅