自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hyafz的专栏

愚者千虑,终有一得。日拱一卒,功不唐捐。——记录、总结、思考、交流

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 MCU进行双精度与单精度浮点数运算的速度比较测试

测试平台MCU: STM32F767,启动硬件双精度浮点运算协处理器IDE: Keil RVMDK V5.21.1.0浮点协处理器:启用双精度浮点协处理器主频:108MHz测试方法分别进行100万次双精度与单精度浮点数加运算,计算各消耗多少时间,打印输出累加结果。测试代码void fpSpeedTest(void){ int begin_tick, end_tick; double dp1 = 1.0; double dp2 = 1.0; double dp = 0.0; beg

2021-06-28 09:09:30 2562

原创 QTableWidget设置列表头显示多行文本

QTableWidget设置列表头显示多行文本应用场合实现办法应用场合某些时候需要表格的列表头显示多行文本,比如一行名称,下面带一行单位,例如:如何实现这种效果呢?实现办法只需要在需要分行显示的列表头文本中插入’\n’即可。 QList<QString> columnNames; columnNames << "序号" << "计量回路名称" << "生产时间\n(HH:MM:SS)"

2021-04-21 14:55:57 2060 1

原创 Keil实现软件版本号与实际编译生成的目标代码版本自动一一对应

为何有这个需求?做嵌入式软件开发的人对于手工维护版本号总是心有抵触。因为代码提交很频繁,如果每次提交都需要手动修改子版本号,不胜其烦。而且难免会有遗漏的时候,这样版本号就失去了意义,并不能指明其与代码的真实对应关系。因为即使有版本号,也不知道是否就是预期的版本。有什么办法能解决这个痛点呢?答案是有!——使用编译日期与时间替代子版本号。实现办法C语言编译器生成目标代码时,会生成常量字符串:__DATE__ 、__TIME__,分别表示编译的日期与时间。将这两个字符串作为版本号的一部分,每次编译时都会

2020-06-15 15:19:05 3760

转载 为什么在学校中只应使用自由软件

转载自:https://www.gnu.org/education/edu-schools.html为什么在学校中只应使用自由软件这是针对英文原版页面的中文翻译。Richard Stallman 著教育活动,包括从幼儿园到大学的各级学校,有道德职责只教授自由软件。所有计算机用户都应该坚持使用自由软件:它赋予用户控制其计算的自由—专属软件,执行的是其所有者或开发者的意愿,而不是其用户的意愿。自由软件还赋予用户互相合作的自由,这就是诚信的生活。这些道理同样适用于学校。不过,本文的目的是展示特别针对

2020-06-13 16:58:39 172

原创 W25Q256编程时需要关注的器件特性

W25Q256特性W25Q256是NOR FLASH(相比NAND FLASH,擦除很慢,写比较慢,读快很多,可以执行程序,出现坏块的机率更低,安全性更好,价格更贵,容量更小),规格参数如下所示。W25Q256由131072个可编程页组成,每页包含256字节,总共256M bits可编程位(32M Bytes 可编程字节)。一次可编程256字节(也可以一次编程1字节,必须在同一个页)。如果写操作(Page Program 02h)超过了同一页的范围,则会返回至页的起始位置继续写,有可能覆盖已写入的

2020-05-22 10:17:43 2755

原创 MCU进行双精度与单精度浮点数运算的误差比较测试

测试平台MCU: STM32F767,启动硬件双精度浮点运算协处理器IDE: Keil RVMDK V5.21.1.0测试方法浮点数0.1分别以单精度与双精度累加1000000次,打印输出累加结果。测试代码 double dVal = 0; float fVal = 0; for(int i = 0; i < 1000000; i++){ d...

2020-05-08 10:51:03 1697

原创 VC++ MFC向编辑框控件动态添加多行数据,并保持竖直滚动条始终在底部的办法

编辑框控件属性设置Multiline TrueHorizental Scroll FalseVertical Scroll True编辑框关联变量CEditControl ecInput;CString ecInputStr;数据追加及滚动条操作ecInputStr.AppendFormat("%d\n", (frameData & 0xff));len = ecInp...

2020-01-15 11:53:36 862

原创 VS2015 VC++将窗体保持置顶的办法

注意:本方法适用于VS2015或之后版本,不适用于VC++ 6.0版本,其它版本未验证。办法重载OnInitDialog()函数,在该函数中调用:SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);MSDN中对SetWindowPos()函数的说明CWnd::SetWindowPos更改子窗口、弹出窗口...

2020-01-14 14:34:30 1777

原创 解决gcc编译链接含weak函数的库文件出现的一些BUG_2019/03/13

项目介绍本项目包含IAP程序与APP程序。APP程序有部分共用代码(包括main\stm32标准库\RTOS\BSP)都编译进库中。另外部分特殊代码由其它程序生成后,连接共用代码库生成目标bin文件,通过IAP下载至FLASH中。问题描述1 使用keil编译生成的IAP程序相同的APP代码,在keil工程中编译下载后可以正常执行(没有生成库,直接编译链接所有代码)。但是使用arm_none...

2020-01-07 10:21:54 1177

原创 给三十而立的大龄程序员的一个建议:找三五合得来的同事约个饭,谈谈诗和远方吧。

三十而立,很现实,很迷茫,时间和精力再也经不起挥霍,以前没想到或不愿意想的事情转眼已在眼前,如何找一条出路,让自己活得不那么狼狈?一个建议:找三五合得来的同事约个饭,谈谈诗和远方。你有多久没有跟同事谈过工作以外的事情了?每次部门团建,是不是都是一堆人吃吃喝喝,开着没有营养的玩笑,聊着干巴巴的话题,团建费花掉了,任务完成了,你只感觉身体被掏空般的空虚,心中的苦闷仍无处诉说。人生需要的是一二知...

2019-03-11 01:27:00 202

原创 解决stm32 IAP程序跳转后串口不能发送的问题

解决stm32 IAP程序跳转后串口不能发送的问题问题描述解决办法问题描述在stm32上实现了IAP功能,当IAP程序与APP程序都使用Keil编译工具进行编译链接时,APP程序能够正常工作。但是IAP程序使用Keil编译,APP程序使用gcc-arm-none-eabi交叉编译工具链进行编译时,下载下去后GPIO能正常工作,但是串口发送时总是卡在这一句:void USART3_putcha...

2019-03-10 10:51:44 1832

原创 [Qt]如何屏蔽QPushButton的键盘事件

今天想实现一种效果:当界面上的QPushButton获得焦点后,点击键盘的上、下、左、右方向键,则QPushButton随之前后左右移动。很简单的一种效果,但是实现起来却绕了弯路。最初的想法就是在界面类中重载keyPressEvent(),当键值为方向键时对QPushButton对象进行相应的移动操作,非常简单。编译运行,选中QPushButton控件,点击键盘的左右方向键,控件并没有发生预期...

2019-03-05 15:18:48 4163 2

原创 Qt窗体中常用坐标的区别与获取途径

Qt窗体中常用坐标的区别与获取途径1 当前光标相对于屏幕的绝对位置2 当前光标相对于当前窗口的位置3 鼠标事件发生的位置:4 窗体的位置:5 判断鼠标光标是否悬浮在某个子控件上:1 当前光标相对于屏幕的绝对位置QCursor::pos()2 当前光标相对于当前窗口的位置this-&amp;amp;gt;mapFromGlobal(QCursor::pos())3 鼠标事件发生的位置:void Mai...

2019-02-21 14:19:09 564

原创 Qt中修改了UI文件后编译,修改总是不生效问题的解决办法

遇到过几次,采取了以下措施仍不生效,编译后运行仍显示修改前的界面。Qt新手遇到这个问题可能抓瞎了,下面的解决办法可以参考一下: 重新执行qmake 重新执行qmake,清理项目,重新构建项目 把build目录下所有编译过程生成的文件全部删除,只保留目录结构,再重新构建项目 把工程目录下的.user文件删除,只保留工程文件、头文件、源文件、UI文件,然后重新运行q...

2019-01-29 17:29:44 16892

原创 QTableWidget添加右键菜单的详细过程

包含头文件:#include &lt;QMenu&gt;#include &lt;QAction&gt;在类定义中增加一个QMenu对象指针: QMenu *table_widget_menu;在父窗体构造函数中允许QTableWidget接收QWidget::customContextMenuRequested()信号。ui-&gt;tableWidget...

2019-01-05 18:21:15 13783 4

原创 QTableWidget显示模式设置

1. 设置表头背景颜色ui-&gt;tableWidget-&gt;horizontalHeader()-&gt;setStyleSheet("QHeaderView::section{background-color:skyblue}");2. 设置表格列拉伸ui-&gt;tableWidget-&gt;horizontalHeader()-&gt;setSectionResiz...

2019-01-05 17:53:07 973

原创 Linux消息队列的使用

相关头文件及函数调用:

2014-09-16 17:27:40 284

STM32 CAN波特率计算工具.rar

一款STM32 CAN波特率计算工具,输入总线时钟频率及目标波特率,即可自动计算出最佳的分频系数、Tbs1、Tbs2参数,并给出采样点、Tq时长等信息。绿色软件,解压即可运行。

2020-09-16

空空如也

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

TA关注的人

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