自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chinley的大杂烩

家乡的星星

  • 博客(42)
  • 资源 (15)
  • 收藏
  • 关注

原创 QCustomplot异常“QPainter::begin: Paint device returned engine == 0, type: 2”的修复

【代码】QCustomplot异常“QPainter::begin: Paint device returned engine == 0, type: 2”的修复。

2023-06-14 01:20:15 879 1

原创 Qt5.12.12 编译 QtHttpServer 手记

使用vscode打开源码目录,依次点开httpserver、sslserver下所有的.cpp、.h文件,只要包含的头文件中有 private的,都将其删除。http-paser是qthttpserver的组件,需要将下载的http-parser放到src\3rdparty\http-parser\中。

2022-12-26 00:34:31 393 1

原创 Qt5.12.12 编译QtMqtt模块5.15.2手记

下载并解压源码在Qt工具链相应include目录下创建QtMqtt目录将源码src/*.h拷贝到上述目录中修改qmqttconnection.cpp文件169行,修改内容如上修改qmqtttopicname.cpp文件148行,修改内容如上执行以下脚本xcopy * . h D:\Qt\5 . 12 . 12\mingw73_64\QtMqtt # 修改代码 qmake。

2022-12-26 00:04:35 1374

原创 Qt下字符串列表按照自然顺序排序

有一组字符串:{"L5A90E","L46c80","L5A91E","L46C80"}希望经过排序后的结果为:("L5A90E", "L5A91E", "L46c80", "L46C80")代码如下:void stringListSortDemo(void){ QStringList sl = {"L5A90E","L46c80","L5A91E","L46C80"}; QCollator collator; collator.setNumericMode(true

2022-02-22 00:38:20 2135

原创 沁恒 CH32F103C8 (套用STM32 HAL库)CAN总线初始化注意事项

CH32F103C8号称是兼容STM32F103C8的,但在调试CAN总线时,遇到了一些问题。基础代码通过STM32CubeMX生成,但是在执行 void MX_CAN_Init(void) 时始终不能通过。查看沁恒官方的CAN总线测试程序,发现如下操作:uint8_t CAN_Init(CAN_TypeDef* CANx, CAN_InitTypeDef* CAN_InitStruct){ uint8_t InitStatus = CAN_InitStatus_Failed; uint32

2022-01-26 17:31:36 5054

原创 ESP32 TF卡读写性能优化

在做SD_Test.ino测试的时候,发现其testFileIO测试进程非常慢。仔细分析,有几个因素会影响读写性能。SPI接口速度将SPI时钟速度调到16M //if (!SD.begin()) if (!SD.begin(SS, SPI, 16000000)) { Serial.println("Card Mount Failed"); return; }DSTATUS ff_sd_initialize(uint8_t pdrv){

2022-01-13 14:26:35 2051 1

原创 避免microPython解析GPS数据丢精度

GPS定位点数据,一般是6位精度的浮点数其纬度范围可定义为-90~90(-89.999999~89.999999)其经度范围可定义为-180~180(-179.999999~179.999999)但是microPython解析float型,会丢失精度(好像是保留4位小数),因此在解析GPS坐标数据的时候,可以换个思路,将其解析为扩大100万倍的整型,方法如下: def gnssParseValue(value): # 传入的参数是一个字符串,'3158.4608'这样的,解出形如319743

2022-01-03 14:10:30 427

原创 GNSS时间转换为UTC+8时间

GNSS时间转换为UTC+8时间NMEA输出的GNRMC数据中,时间信息是格林威治时间,和我们东八区的时间相差八小时,要将其转换为东八区的时间,可以用以下方法:#include "math.h"#include "stdbool.h"#include "stdint.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "time.h"#include <sys/time.h>// 参数举例 t

2021-02-08 13:49:51 1306

原创 STM32启动文件中的符号研究:__Vectors、__Vectors_End

STM32的启动文件中,包含了一些可被外部调用的变量,如__Vectors、__Vectors_End等:; Vector Table Mapped to Address 0 at Reset AREA RESET, DATA, READONLY EXPORT __Vectors EXPORT __Vectors_End EXPORT __Vectors_Size

2020-05-27 01:03:26 4107 1

原创 在CMSIS-RTOS2中获得微秒us延时

RTOS应用中,经常需要用到微秒级的延时,而RTOS本身的心跳一般在1ms到100ms不等,要用微秒延时时,往往需要额外启动定时器辅助。CMSIS-RTOS2的API中提供了2个内核时间相关的接口:uint32_t osKernelGetSysTimerCount(void);uint32_t osKernelGetSysTimerFreq(void);在阅读这2个API的相关介绍时,能发现它附带的一个示例程序,通过组合调用者2个API,实现100us的延时:#include "cmsis_os

2020-05-18 22:26:07 1232

原创 SmtpClient-for-Qt不能使用ssl发送的处理办法

本文受Qt 5.13.2 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed启发项目需要在特定的时刻通过邮件发送报警信息,主体框架使用Qt开发,找了一个基于Qt开发的邮件客户端程序SmtpClient-for-Qt。使用Qt5.12.6,编译、启动运行都很正常,但是在使用QQ邮箱进行发送的时候...

2020-02-02 19:34:42 760

原创 Qt开发中触发鼠标悬停事件

Qt开发中触发鼠标悬停事件比如我有一个tableWidget,需要在鼠标悬停时,显示一些信息或者打印一些信息,可如下操作:ui->tableWidget->setAttribute(Qt::WA_Hover,true);//开启悬停事件ui->tableWidget->installEventFilter(this); //安装事件过滤器//事件过滤器...

2019-07-11 00:54:06 16993 5

原创 Qt5.12.4编译MySQL驱动备忘

Qt5.12.4编译MySQL驱动备忘背景Qt5.12.4发布,本想不去理会,但changelog中提到 QFile::copy() 的一处bug,恰是当前一个小项目上用到的,虽然也可以想办法规避,但犹豫了一下,还是跟风安装了新版,安装完成后,才发现Qt5.12.4中并没有默认自带 qsqlmysql.dll ,这可叫我头大了,Qt5.12.3时期尝试过自己编译这个驱动,然而并没有成功。现在想...

2019-07-01 17:17:23 1219 1

原创 QCustomPlot自定义Y轴数字格式

QCustomPlot自定义Y轴数字格式需求背景自定义途径需求背景某个项目需要显示一长串曲线图,其Y轴坐标范围变化幅度很大,用了默认的配置,由于坐标轴刻度标签长度不一,曲线总体表现得很难看。自定义途径QCustomPlot 源码版本是:2.0.1经过仔细研读QCustomPlot的源码,发现设置标签格式的函数是:QString QCPAxisTicker::getTickLabel(d...

2019-06-28 12:27:33 4270 1

原创 基于CMSIS-RTOS2的闪灯序列控制

控制灯的基本函数:#include &quot;stdbool.h&quot;void aplRunLedOn(bool on){ HAL_GPIO_WritePin(GPO_RUN_LED_GPIO_Port,GPO_RUN_LED_Pin,on ? GPIO_PIN_SET : GPIO_PIN_RESET);}LED灯的闪烁序列如下:typedef struct{ uint16_t b...

2019-01-10 20:06:36 546

原创 STM32L071硬件I2C读取AM2320数据

STM32L071硬件I2C读取AM2320数据直接上代码// 2019-01-06 19:11:36 Mony:返回值除以10得到实际的温度、湿度值void fmlAm2320GetValue(int16_t *pTemperature,uint16_t *pHumidity){ #define AM2320_ADDRESS 0xB8 uint8_t IIC_...

2019-01-06 19:16:39 2757 4

原创 win 10 1809 下 qtcreator_process_stub 中文乱码的问题

win10 更新到1809后,调试Qt程序,发现qtcreator_process_stub中打印的中文都成了???这样的。网上找到有说法,修改注册表HKEY_CURRENT_USER\Console\ 下对应的codepage为65001可以解决,实测并没有效果。我这边的解决方法是,修改命令提示符的默认属性:使用旧版控制台...

2018-12-08 15:37:08 1078

原创 Qt样式表(QSS)相关的几个链接

Styles and Style Aware Widgets 解释了Qt Widgets的样式实现层级Qt Style Sheets 其子链接详细介绍了QSS的符号、使用以及示例

2018-06-13 00:14:52 656

原创 STM32F302CB使用HAL库采集PWM频率和占空比

单片机运行在36MHz,以TIM2CH2为输入通道,做如下配置:/* TIM2 init function 由CubeMX生成,定时器初始化*/void MX_TIM2_Init(void){ TIM_MasterConfigTypeDef sMasterConfig; TIM_IC_InitTypeDef sConfigIC; htim2.Instance =...

2018-05-02 10:35:50 3583

原创 Win10更新后,Qt调试出现“20133, motion show time: 1502068371”

不记得是Win10更新后出现的,还是早就存在这样的问题,在QtCreator中启动编译好的程序,鼠标点到LineEdit控件中,就会在QtCreator的应用程序输出框中打印出:20133, motion show time: 1502068371频繁切换几次,就会出现系统特别卡的情况。用ProcessExplorer观察应用的运行属性,切到Threads标签页的时候,观察到出现多个搜狗输入法相关的

2017-10-13 15:52:35 389

原创 Qt 5.9.1 (MinGW) 编译MySQL驱动的步骤

Qt 5.9.1 (MinGW) 编译MySQL驱动的步骤解压qt-everywhere-opensource-src-5.9.1.tar.xz中的qtbase部分到某个目录,比如x:\temp。启动安装Qt时生成的命令行快捷方式进入mysql驱动的目录x:\Temp\qt\qtbase\src\plugins\sqldrivers\mysql\用文本编辑器打开mysql.pro,修改内容如下:#Q

2017-08-30 11:14:14 4631 2

原创 U盘安装Win10,遇到“由于存在受损的安装文件 因此安装无法继续”

进入安装阶段,有5大步骤,分别是正在复制 windows 文件正在准备要安装的文件正在安装功能正在安装更新正在完成由于是通过软媒U盘启动制作的U盘启动盘,前面三个过程中,需要U盘全程保持连接状态。在第三个步骤完成后,刚刚进入第四步时,需要及时拔出U盘,否则就可能会出现“由于存在受损的安装文件 因此安装无法继续”这个情况

2017-06-28 13:20:58 33239 5

原创 Qt5.8.0编译MySQL驱动注意事项

Qt5.8.0编译MySQL驱动注意事项在使用MySQL5.7.14时,按照常规方法,使用Qt5.8.0重新编译MySQL驱动之后,在使用的时候发现读取的中文数据在使用toString()转换时,不能得到正确的结果。经查是Qt的MySQL的驱动代码上做了MySQL的版本判断,对不同的版本使用了不同的编码。解决方法如下:打开Qt安装路径中的MySQL驱动相关路径,比如: x:\Qt\Qt5.8.0

2017-02-22 11:50:00 2845

原创 监控进程(二进制程序)运行状态的C语言实现与脚本实现

项目需要,要监控二进制程序是否在运行状态,如果没有在运行状态,则检查是否存在升级文件、升级文件是否可用、是否存在备份文件、备份文件是否需要删除等等功能…… 注意这里会使用file命令检查文件是否是execute,如果程序是可执行脚本,是无法监测的。先放C语言实现方式,代码简单就没写备注

2016-01-22 15:46:07 2612

原创 不做死就不会死……VMware Workstation 12 里的Ubuntu14.04升级后,虚拟机桌面无法适应客户机了

更新了虚拟机里的内核后,重启发现不管vmware的窗口怎么变化,虚拟机的显示区时钟就那么大,怎么也改不了。各种折腾,执行vmware-tools-uninstall.pl卸载,重新编译安装VMwareTools不管用,安装open-vm-tools不管用!二者同时安装也不管用,折腾得没辙了想到下载open-vm-tools源码编译安装,结果发现缺了一大堆的库,一点点补全、重新配置,好不容易./con

2016-01-21 09:54:53 5435 4

原创 Linux下实现一个带时标的消息打印

代码如下:void printTimeStampInfo(const char *fmt,...){ va_list arp; struct timeval t; gettimeofday(&t,NULL); printf("[%ld.%06ld] ",t.tv_sec,t.tv_usec); va_start(arp, fmt);...

2015-11-05 20:24:30 639

原创 QT工程文件的条件编译选择与额外的编译参数配置

QTCreator打开.pro工程文件后,依据不同的构建套件创建项目组。在项目组中,点开构建步骤的“详情”,增加一个自己的宏定义,比如:

2015-10-09 11:23:42 7396

原创 RL-RTX小读之os_sys_init(init)(一)

硬件平台是STM32F407,ARM Cortex-M4内核。查看os_sys_init的定义,在rtl.h中定义如下:#define os_sys_init(tsk)

2015-08-04 15:16:11 3312

原创 Ubuntu 14.04上安装ia32-libs?

要做嵌入式linux开发,方案提供商方面提供的linux平台是ubuntu 12.04 x64,交叉编译器是arm-fsl-linux-gnueabi-gcc,开发手册上在介绍建立交叉编译环境的时候提到需要安装32位兼容库和libncurses5-dev。But,在Ubuntu 14.04上sudo apt-get install ia32-libs不可能成功,除非添加Ubuntu 13.04的源,

2015-07-26 22:27:10 591

原创 关于编译FreeModbus提示 对'pthread_create'未定义的引用 的解决

平台:Ubuntu 14.04 gcc:4.8.2 FreeModbus:1.5.0从sf下载的freemodbus编译到最后,在链接的时候,提示对’pthread_create’未定义的引用解决方法是: 编辑makefile文件第60行,改为:$(CC) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $@重新编译,通过。

2015-05-27 17:11:59 1887

翻译 VMware Workstation 11 中 Ubuntu 14.04 的 VMware Tools 问题 : 共享文件夹

症状:主要表现在Win7中用VM11安装的Ubuntu14.04中,安装完自带的VMware Tools之后,/mnt/hgfs 中没有前面已经设置好的共享文件夹。仔细查看了安装过程,发现在编译vmhgfs/module.o的时候出现了错误。国内网站上也很少有关于这类问题的说明,查到一篇文章[链接]有说明在win8下使用vmware11和ubuntu14.10的,也没能解决我的问题。具体的解决方法是

2015-05-12 10:38:22 23998 23

原创 百度空间已死

挺郁闷的,以前觉得csdn博客访问速度不如百度空间,就一直在那边更新技术笔记,现在空间关闭,内容迁移到百度云,分享没有了,评论没有了……也难怪,盈利才是他们的神圣目标,对于这种没有赢利点的,也没有特别明显特点的小产品,关闭才是最好的结果。自打上次空间改版,就应该能预料到今日结果。

2015-04-08 10:17:02 837 1

原创 RL-RTX小读之os_sem_wait

rtl.h中定义了:#define os_sem_wait(sem,tmo) _os_sem_wait((U32)rt_sem_wait,sem,tmo)rt_sem_wait的实现如下:OS_RESULT rt_sem_wait (OS_ID semaphore, U16 timeout){ /* Obtain a token; possibly

2014-01-07 12:01:34 5270

翻译 【译】RL-RTX(CM3)的任务中不能配置NVIC,否则进入HardFault的原因

RL-RTX(CM3)的任务中不能配置NVIC,否则进入HardFault的原因http://www.keil.com/support/man/docs/rlarm/rlarm_ar_cfgrunpriv.htm运行在特权模式Cortex-M设备的RTX库允许选择用户任务的运行模式。任务可以运行在两个模式:非特权模式——受保护的模式特权模式——不受保护的模式【译注:

2012-06-11 16:19:52 2195

翻译 【译】ARM:如何分析DAbt异常

http://www.keil.com/support/docs/3080.htmARM:如何分析DAbt异常本文信息面向:任意版本ARM问题:我的ARM应用无法工作。当我在软件仿真器或者JTAG调试器中运行时,我注意到程序计数器(PC/R15)跳到了DAbt_Handler标签。问:这意味着什么?我该如何找到我程序崩溃的位置?回答:这是默认的Data

2012-06-11 16:18:12 12126

原创 ucGUI加载“完整”外部字库的方法(1)——从外扩NOR Flash中加载

CPU:LPC2478NOR Flash:MX29LV640EBtypedef __packed struct { U8 XSize; U8 XDist; U8 BytesPerLine; const unsigned char GUI_UNI_PTR * pData;} GUI_CHARINFO; 在我的平台下,外部NOR Flash的

2012-03-04 21:27:34 4039 2

原创 LPC2468的USBHostLite挑盘?

硬件环境:LPC2468U2口作为USB HOST一个2G容量的U盘,标着是现代的,格式化成FAT16格式 移植了USBHostLite之后,运行到FAT_Init()函数,返回值不对了,跟踪进去看看,确实读出来的数据与应该读到的数据不符。在此之前,已经验证另一个2G容量的U盘没问题。格式化多次,依然无果,用WinHEX查看两个盘的区别,有点区别,但是并不能说明问题。抓狂了半个

2012-01-04 22:10:02 2090 3

原创 一元高次方程求解

//本程序基于.NET平台,编译环境是Microsoft Visual C++ .NET//对于VC++6.0平台的修改,只须把stdafx.h换成iostream.h,然后去掉主函数里的“using namespace std”//详情见blog.csdn.net/chinley。//#include "stdafx.h"#include "iostream.h"#include "m

2005-03-18 20:10:00 7993 2

原创 一元四次方程的简单修正算法

//本程序基于.NET平台,编译环境是Microsoft Visual C++ .NET//对于VC++6.0平台的修改,只须把stdafx.h换成iostream.h,然后去掉主函数里的“using namespace std”#include "stdafx.h"#include "math.h"using namespace std;double du,dv;void solu_w(doub

2005-03-18 16:55:00 2586

原创 求解一元四次方程

//本程序基于.NET平台,编译环境是Microsoft Visual C++ .NET//对于VC++6.0平台的修改,只须把stdafx.h换成iostream.h,然后去掉代码中的“using namespace std”#include "stdafx.h"#include "math.h"using namespace std;double du,dv;void solu_w

2005-03-18 15:03:00 4259 3

openssl 动态链接库 1.1.1.4.7z

openssl动态链接库libcrypto-1_1.dll、libssl-1_1.dll、libcrypto-1_1-x64.dll、libssl-1_1-x64.dll。置于Qt5.12.x的bin目录下,用于使Qt支持ssl。没有这些文件时,QSslSocket::supportsSsl()打印false,有这些文件时,打印true

2020-02-02

openssl 动态链接库 1.0.2.14.7z

openssl动态链接库libeay32.dll和ssleay32.dll,用于某些场景下使用ssl连接

2020-02-02

Western-Digital-PC-SN720-Commercial-Datasheet.pdf

Western Digital ® PC SN720 NVMe ™ SSD READ SPEEDS UP TO 3,400MB/S SATURATES THE PCIe GEN3 x4 INTERFACE SUPPORTING NVMe ARCHITECTURE 256GB-2TB CAPACITIES AVAILABLE IN M.2 2280 FORM FACTOR ENDURANCE OF UP TO 500 TBW 5 YEAR LIMITED WARRANTY

2020-01-17

product-brief-wd-black-sn750-nvme-ssd.pdf

WD BLACK TM SN750 NVMe TM SSD 数据手册。写入寿命等参数介绍 产品亮点 • 读取速度高达 3,470MB/s²(1TB 型号),可缩短加载 时间。 • 容量分布在 250GB 到 2TB 之间¹。

2020-01-17

STM32F302工程模板,包含HAL库和CMSIS-RTOS移植

本工程模板是在STM32CubeMX生成的工程基础上,增加了CMSIS-RTOS的移植,包含RTX5源码,包含HAL库,app文件中实现了使用任务调度方式控制LED闪烁的功能

2017-06-29

GB2312汉字 字频和拼音

包含6763个汉字的字频、拼音,多音字未加入多个发音

2016-09-07

枚举串口小工具

一直在用的枚举串口的小工具,有时候电脑上插了六七个USB转串口,通过这个小工具枚举当前系统中存在的串口号。不美的是不具备“刷新”功能,要查看新增串口,只能重新打开软件

2015-07-22

GB2312字符集,8178个字符

完整的GB2312字符集,共8178个字符,按序排列。在一些单片机应用里,这些字符应该足以应付了

2012-01-31

NXP LPC24xx 系列ARM7串口波特率计算器

命令行工具,输入配置为串口的外设时钟,和你希望得到的波特率,可以得到LPC24xx的波特率相关寄存器的配置值,并可以显示该值对应的误差。

2011-12-31

PCB设计铜箔厚度、线宽和电流关系表

网上有这个资料,但是有讹错,我做了整理和修正。对于PCB设计中线宽的选择还是有些作用的。有excel的,有需要的联系我

2011-01-24

AT91RM9200开发笔记

AT91RM9200开发笔记,介绍了ATMEL的ARM家族,以及基于AT91RM9200的Linux开发

2010-07-26

LED显示屏系统原理及工程技术 带书签

绝版图书了,我从网上下下来,自己加了书签

2010-03-16

电子设计原理图千例 Encyclopedia of Electronic 1000 Circuits

上千个设计原理图,可做电子设计中的参考,价值不错。

2009-04-21

Altium Designer 焊盘和过孔的敷铜规则设置

Altium Designer 6焊盘为梅花(或十字)状连接,过孔为直接连接的方法。

2009-02-28

用IAR/KEIL移植uCOS到LPC23xx

Micrium官方网站的资源,内有基于IAR平台和Keil平台的uCOS移植,带有uC/TCPIP。硬件平台为NXP(Philips)的LPC2378

2009-02-28

空空如也

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

TA关注的人

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