自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 希尔伯特Hilbert算法及其Simlink模型仿真

本文探讨了使用希尔伯特变换算法生成信号90度相位差波形的MATLAB和Simulink实现方法。MATLAB测试显示hilbert函数能有效将含噪正弦波转换为正交信号,但Simulink仿真中直接使用希尔伯特滤波器组件效果欠佳,需精确调整参数。通过MATLAB Function组件封装hilbert函数并采用滑动窗口方法,在采集足够数据点(N=400)时可获得理想输出,但窗口过小会导致幅值失真。实验表明,希尔伯特变换需要大量采样数据才能准确计算正交分量,对于简单高频信号系统,直接采用时间延迟方法可能更为实用

2026-02-27 11:37:55 760

原创 小华HC32F030TIM3中断配置问题记录

外部的TIM3中断若不配置(至少需要配置为NULL,但是实际上前面做DDL_ZERO_STRUCT的时候该值应当已经被配置为NULL了的,所以现象很奇怪)会导致ConfigPwmAdc中配置的ADC中断运行速度显著降低。前段时间做030芯片的中断配置时出现了一个奇怪的现象:不配置中断入口函数会导致运行速度下降。也有可能是我其他地方配置错误导致的问题,或者时间太久了记错了,该问题不具备参考价值,只是略作记录。该现象可能是我其他配置地方错误导致的,或者是项目时间太久记混了,该问题不一定存在,不具备参考价值!

2026-02-27 10:16:18 160

原创 HC32F460如何配置GPIO中断

本文介绍了HC32F460芯片GPIO中断的配置方法。首先说明了GPIO中断适用于检测上升沿/下降沿的应用场景如按钮检测。然后给出了初始化代码示例,包括GPIO输入模式配置、外部中断参数设置、中断服务函数注册及NVIC配置。重点提示了三个注意事项:1)需根据数据手册确认引脚对应的EIRQ编号;2)中断请求号必须在规范范围内(IRQ0-31通用);3)需根据实际电路选择合适的上拉/下拉配置。文中提供了完整的代码实现和关键配置截图,为开发者使用HC32F460的GPIO中断功能提供了实用参考。

2026-01-22 15:09:52 466

原创 华大HC32F460轮询方式SPI通讯配置

本文介绍了一种简化SPI硬件配置的方法,专门针对单发送场景的屏幕控制需求。采用阻塞式轮询方案而非复杂的DMA+中断方式,在保证性能的同时降低实现难度。关键配置包括:仅初始化MOSI和SCK引脚,手动控制CS片选引脚,设置SPI为仅发送模式和工作模式3(空闲低电平、上升沿采样)。初始化代码提供了完整的GPIO和SPI配置示例,并附有详细的头文件定义,便于快速移植。这种方案特别适合小型SPI屏幕控制,在简化开发的同时满足基本性能要求。

2025-12-29 11:34:44 604

原创 华大HC32F460GPIO初始化配置错误可能导致芯片运行频率出错

摘要:该配置错误是由于GPIO初始化时错误地将引脚参数写成端口参数导致的。错误表现为芯片延迟函数运行时间异常延长,短延时函数尚能运行但长延时(如1秒)会卡死。经调试发现是芯片频率未达到预期,最终通过代码审查定位到GPIO_Init()函数中误将LED_RED_PIN写成LED_RED_PORT的错误配置。

2025-12-24 09:20:37 158

原创 【机器学习】python使用支持向量机解决兵王问题(基于libsvm库)

本文介绍了如何利用支持向量机(SVM)解决国际象棋中的兵王残局问题。兵王问题属于二分类任务,需要判断黑方能否和棋。文章首先解析了棋局规则和数据集特征,然后详细说明了Python环境配置和libsvm库的安装。核心代码实现了数据提取、归一化处理、训练集/测试集划分,以及通过网格搜索寻找最优SVM参数(C和gamma)。该方法通过分析棋子位置关系,可有效预测残局结果,为棋类AI研究提供了实用范例。

2025-12-17 10:58:18 1030

原创 华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)

本文介绍了如何将HC32芯片的JTAG调试引脚(PA15和PB03)配置为普通GPIO的方法。通过GPIO_SetDebugPort函数关闭引脚的调试功能后,即可正常配置为GPIO使用。需要注意的是,部分JTAG和SWD引脚共用相同寄存器位,错误关闭可能导致调试功能失效。此时需要通过串口烧写模式恢复芯片。文中提供了具体代码示例和注意事项,帮助开发者正确处理调试引脚复用问题。

2025-12-15 11:41:01 379

原创 【浮点运算性能优化】浮点转定点算法库的多平台通用移植方案与性能评估优化

本文介绍了一种针对低成本芯片的浮点数优化方案,通过浮点转定点算法提升运算效率。文章分析了在无FPU硬件支持的平台上进行大量浮点计算时,软件优化的重要性。提出的算法库包括fr_math和TI的IQmath两种方案,具有多平台移植性、高效运算性能等特点。重点阐述了浮点转定点的数据转换原理,包括存储结构、移位运算规则,以及乘除法的具体实现方法。通过调整小数位宽可在精度与范围间取得平衡,并提供了完整的IQmath精度参考表。该方案特别适用于资源受限的嵌入式系统,能显著提升浮点运算性能。

2025-12-05 17:38:04 812 1

原创 QT源码方式添加QZXing二维码库和出现C3861错误:UINT32_C、UINT64_C未定义问题的解决方案

本文记录了在Qt6.6.1项目中集成QZXing库时遇到的编译问题及解决方案。主要问题是在Windows10环境下,Qt的qhashfunctions.h文件与QZXing自带的stdint.h文件产生冲突,导致UINT32_C和UINT64_C宏定义缺失。通过分析发现,这是由于未启用__STDC_CONSTANT_MACROS宏定义所致。最终解决方案是在pro文件中添加DEFINES += __STDC_CONSTANT_MACROS配置,确保正确引用宏定义。文章还提供了二维码生成的基本代码示例,并参考了

2025-11-26 16:52:03 620

原创 小华HC32F460串口性能问题与处理思路

目前排查和总结为芯片存在的频繁切换中断导致的性能不足问题,通过在主循环中接收和处理数据,不使用中断,进而解决该问题。不过仍然不排除是rx1_cnt字段被中断和主循环竞争使用导致的问题。字段竞争导致该问题的可能很小,因而不继续排查。若是字段竞争导致的问题可以通过维护一个头尾相接的缓冲区,中断向缓冲写数据,主循环从末尾读走数据来解决。

2025-11-07 16:12:45 438

原创 OpenCV环境配置(QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0)

项目需求要做个类似Image2Lcd的软件,用来将图片转换为纯黑白的C语言数组格式保存,用来下发嵌入式端的屏幕显示。这个需求应该是不太难的,直接用C语言读像素写点算法就能做,不过想到图像处理首先想到的技术还是OpenCV,于是准备用它来实现试试,顺便学习下这个库。目前暂定技术路线:QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0,都是目前比较新的环境。

2025-11-04 14:42:00 1134

原创 【第一章】金融数据的获取——金融量化学习入门笔记

本文介绍了获取金融数据的四种主流方案,重点推荐了开源工具AKShare。作者对比了免费API、国内大厂接口和国际平台的局限性,最终选择AKShare作为解决方案。文章详细说明了AKShare的安装部署步骤,并以华安黄金ETF(000217)为例,展示了如何获取基金历史净值数据并进行金价换算。通过示例代码,读者可以学习到如何使用AKShare这一免费工具获取本地化的金融数据,为后续量化分析提供基础。

2025-10-29 22:19:42 1923

原创 Cubism无法打开PSD文件

1、保存格式为[PSD]2、颜色模式为[RGB]3、颜色通道设置为[8bit/通道]如果不满足这些条件中的任何一个,将无法进行载入。此外,保存PSD以供载入时,还请检查以下几点。4、将颜色配置文件设置为[sRGB]5、检查是否有同名层6、设置合并后的层属性为“通常”或“正片叠底”7、结合线画和剪贴蒙版8、不使用图层蒙版9、[不透明度]在PSD中的设置会同时应用在Cubism Editor中,但[填充]以100%输出。

2025-06-25 22:47:17 895

原创 Windows鼠标掉帧测试与修复

这两天突然发现鼠标似乎有掉帧,但是掉的又不太明显,用着感觉似乎快速移动的时候会有一瞬间卡一下,但是眼睛又看不清楚,不太确定是不是自己的心理作用,非常难受。

2025-05-25 20:02:37 6907

原创 “C1083 无法打开预编译头文件”的处理与深入理解预编译头文件

VS生成的项目结构有一些杂乱,所有代码文件都堆放在一起,于是对齐进行了整理,但是却出现了“C1083 无法打开预编译头文件”的错误。因此研究了一下应该如何规范地使用预编译头,达到加快项目编译速度的目的。

2025-05-09 12:53:57 1246

原创 配置VS的DLL文件引用目录(两种方案,无需每次生成dll后手动将其复制到exe目录下)

由于项目需要,需在一个项目中引用另一项目封装的dll库,但是还处于开发测试阶段,dll库会出现频繁更新的问题,若每次更新dll后都将lib、dll、.h头文件都按照项目路径依次复制一遍,实在过于繁琐,因此研究了如下两个方案可以实现一键式拷贝dll文件。准备做dll库的引用,首先准备3种文件,即.h头文件、dll动态库文件和lib库文件,出于项目文件分类的考虑,我将他们分别放在了include文件夹和Libs文件夹下,这能让我们的项目更简洁;我们做一些简单的配置,这个网上有一大堆教程教,内容大差不差的。

2025-05-08 16:37:17 2450

原创 QT+CDB进行debug调试无法查看QString等qt相关变量值问题的修复

如标题所述,使用QT在CDB调试器在qtcreator下调试时,发现,若调试的位置存在QString、QByteArray等QT库的变量,则会导致所有变量的值无法查看,鼠标移动到对应变量位置也只能查看到too complex。可以了解到,该选项启动python dumper是为了利用额外的工具来抽象化debug时查看的变量类型,使其规范化。该步骤用于确保项目重新完整构建,防止出现第一步已经取消勾选Use Python dumper,但是仍然查看不了变量的情况。2、找到项目构建目录,将该目录删除;

2025-04-20 10:45:47 850

原创 Open CASCADE Technology7.8.0 + QT编程环境配置

1、VS2022(能下载MSVC2017或MSVC2019即可),用于为QT提供编译开发环境;2、QT5.14.2版本(对应MSVC2017)或QT5.15.2(对应MSVC2019),理论上QT更高版本应该也可以,只要QT和VS的MSVC版本对应即可;3、Open CASCADE Technology7.8.0版本发行版(本文记录时OCCT库已更新至7.9.0版本,但是大多数教程都还停留在更早版本,出于谨慎考虑我选择了配置7.8.0版本)。

2025-04-02 20:50:39 621

原创 Admin.NET框架前端由于keep-alive设置缓存导致的onUnmount未触发问题

splice函数和keep-alive的inculde参数存在的冲突问题。

2024-11-19 11:30:59 840

原创 QT调用windows资源管理器报RPC server unavailable, flags=0x1

但是QT的论坛上的解答表示这似乎是Windows的文件资源管理器代码存在漏洞导致的警告,并且一直以来VS都是这样正常工作的,可以忽略这个警告。如题所述,我在使用QT调用如下代码的时候出现了警告。在网上查了不少资料,最后在QT的论坛上找到了解答。看到有些数描述是说可能是QT的代码存在内存泄漏导致的。

2024-09-29 14:31:25 425

原创 TMS320F280025C无法使用sprintf函数格式化%f浮点数据的修复

找到cmd文件,我的文件名字是28002x_generic_flash_lnk.cmd,找到.stack的位置,为其分配一块足够0x400的区域,不过需要注意的是,将RAMM1换为RAMLS4567会导致程序性能的降低,最好还是给程序提供足够的RAM空间,让他能更加快速地运行。1、检查TI编译器对于printf的支持是否开到full级别(默认为full,必须设置为full才可支持%f类型的格式化)2、检查编译器分配的堆栈空间是否充足,大致需要开到0x400才能支持对浮点数的格式化。

2024-06-27 16:22:17 498

原创 Admin.NET框架的数据库切换(next分支,基于.NET6版本)

背景介绍:Admin.NET是一款基于 .NET6 (Furion/SqlSugar) 实现的通用权限开发框架,前端采用 Vue3+Element-plus+Vite5的框架,其开发便捷但是本身参考文档较少,只能通过学习大量该框架的底层框架内容来了解与使用,对于新手初步上手不太友好,因此对初步使用时遇到的问题略作记录。2.1找到项目的Database.json配置文件,可以添加新的数据库用于存储下面自行开发的系统所需数据。答:框架默认使用的sqlite数据库不支持字段注解,让我的强迫症有点难受。

2024-05-13 16:25:54 1349 1

原创 VS2019安装Microsoft.Ancm.IISExpress.Msi失败问题处理

windows系统组件丢失或错误的修复

2024-04-28 13:52:38 699

原创 单片机间串口通信、单片机--PC串口通信的区别与bug处理

串口协议不标准导致的通讯bug处理。

2024-03-13 09:45:58 765 1

原创 C/C++形参为空和形参void的区别

环境:C99/C++11当定义函数void InitTFTDisplay(void);的时候,如果外部调用InitTFTDisplay,试图传入一个参数,例如:void InitTFTDisplay(void);char c;InitTFTDisplay(c);则IDEA会给出错误提示,编译也会报错。但是如果定义函数void InitTFTDisplay();如下:void InitTFTDisplay();char c;InitTFTDisplay(c);则能够成功编译运行。

2023-12-27 09:59:25 636 1

原创 基于windows QT信号槽方式与嵌入式模块进行异步/同步串口通信

基于QTC++的串口异步多线程通讯

2023-12-11 15:34:27 447 1

原创 关于与E103-W01 WIFI模块(基于ESP8266)进行串口通信的代码测试

同时需要注意,超时的设定需要在串口建立连接之后,否则会无法生效。遇到该状况应该首先考虑通信的延时问题,是否是因为接收函数运行过快,总是未能等到WIFI模块返回处理结果就提前返回,导致了第一次交互无法接收到数据,此后的交互总是从数据交互的缓存中取到上次通讯返回的结果。排查串口的打开方式是否正确,使用串口工具打开串口并进行数据交互,查看是否存在乱码,进而比较自己的串口打开方式与串口工具是否不同。,如果超时时间设置过短,可能会出现如下图的,在一次交互中消息返回不全,会在下次通讯中混合无序返回的情况。

2023-12-06 11:00:05 1479 1

原创 子线程与主线程共同写入读取公共变量问题

需求:子线程永远执行,每次执行完毕沉睡60s;主线程中有一个点击事件;主线程的点击事件和子线程的定时任务,需要调用同一份脚本进行文件写入(写入的文件相同),并需要提取出文件中部分内容,记录到sqlite中;因此,想到定义一个公共变量 int status来表示这份脚本数据库资源是否正在被使用,从而让点击事件与定时任务互斥执行;但是,无论是使用互斥锁还是原子变量,在子线程修改status状态为1后,主线程的点击事件获取到的值仍然是0,这会导致资源冲突,数据库文件损坏;又想到可以用屏障(barrie

2023-08-28 21:03:21 358 1

原创 WIN11 22H2 开机任务栏(Windows explorer)无法加载 导致系统卡死反复白屏

WIN11 22H2 开机任务栏(Windows explorer)无法加载 导致系统卡死反复白屏

2023-03-12 08:38:48 2724 3

原创 QT界面UI文件不读取问题

QT的C++项目有一段时间没有打开,重新打开时发现部分ui界面不知道为什么无法在QT Creator中用designer编辑器打开了,问题如下图(双击该ui界面不会自动跳转到):

2021-10-10 11:57:06 2153 1

原创 SEAL库的安装(Windows VS2019环境下3.5.9版本SEAL)

SEAL库的安装(Windows VS2019环境下)笔者的话:关于SEAL的安装,在3.6版本发布后发生了一个重大的转变,自3.6版本开始,SEAL库不再提供Windows的Visual Studio解决方案文件,就是比前几个项目少了个SEAL.sln文件,这意味着,安装SEAL库就只能使用CMAKE了。SEAL库是一个用C++编写的,实现了全同态加密的CKKS方案和BFV方案的全同态加密库,由Microsoft在Github开源。你可以访问: https://github.com/microsoft

2021-04-21 23:00:28 8065 49

原创 VC++编译错误(无法打开源数据文件platform.winmd)

使用VS写C++的时候遇到了如下图的命令行错误问题,无法打开源数据文件platform.winmd最终发现,是因为项目的属性,C++常规里,使用windows运行时扩展这一选项选择了 是 ,改为 否 即可正常编译运行。...

2021-02-01 19:15:02 7266 4

原创 VC++头文件与资源文件冲突问题

记2021.1.28使用VC++编写代码时发现了一个奇怪的现象:自己写了example.h这个头文件,而后在资源文件里添加上了这个文件,对于MyDirect.h也是一样的操作。如下图:但是编译的时候,example.h中的所有函数都会提示重复(C2084错误,报错提示是函数已有主体)这个错误的意思是你使用的函数被重复定义了。而MyDirect.h则一切正常,未出现报错。解决方法是:把include的example.h头文件删掉 ,而后程序就能正常运行了。这个错误有一些..

2021-01-28 18:53:43 640

原创 利用SEAL库进行加密的虹膜识别系统制作过程记录

正在制作一个利用C++编写的基于全同态加密的虹膜识别系统。中间遇到部分问题,记录如下:记2021.1.25:用SOCKET传递账户密码的时候,如下设置服务器的接收信息代码,会出现跳包,及接收到姓名后下一个包接收成了密码(实际应该给接收账号),将姓名的数组大小也改为20,并且recv的接收大小也改成20,可解决该问题。...

2021-01-25 13:59:00 413

原创 2020-10-08-NTL库的安装(Ubuntu系统)

Ubuntu下NTL库的安装针对在unbuntu下NTL库的安装,本文提供了详细的讲解,并对部分可能出现的问题进行了解析。文档说明:1.部分图片来自陈老师的安装教程如下网址(https://mp.weixin.qq.com/s?src=11&timestamp=1584003385&ver=2211&signature=Pn1kovyvRuB7GIGOJxTjK5eWwWlIRmS8VsaTZGYeQUZoFUN7RrPKWqgOqognlLkWDVSwP3054ACZaqH

2020-10-08 10:10:54 3056 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除