- 博客(639)
- 资源 (1)
- 收藏
- 关注
原创 Keil Mdk新建stm32工程找不到对应芯片开发包的解决方法
此时就会连接keil官网下载缺少的芯片开发包,安装完成后问题即解决。请确保电脑能联网的情况下,按下述步骤进行。
2025-06-08 14:56:36
254
原创 调试时两个can盒子互连实现在一台电脑上自发自收的接线
1):将两个CAN盒子的对应通道及对应CAN-H、CAN-L相连,如:将第1个CAN盒子的CAN0的CAN-H、CAN-L和第2个CAN盒子的CAN0的CAN-H、CAN-L用线连接或者第1个CAN盒子的CAN1的CAN-H、CAN-L和第2个CAN盒子的CAN1的CAN-H、CAN-L用线连接(这里假定每个CAN盒子有两个CAN通道,市面上卖的CAN盒子一般都有两个CAN通道)。如果只有一个can盒子,因为硬件接口的关系,不借助其它转换设备,是无法在两台电脑或一台电脑进行发送接收报文的。
2025-06-06 17:08:29
133
原创 Keil MDK5.37或更高版本不再预装ARM Compiler Version5导致编译错误的解决方法
以固件库方式编程,编译之后全是错误我是按照【野火】的单片机教程一步一步从最基础开始学习的。但是一旦使用ST官方的固件库,一编译就提示由344多个错误。我在网上搜索了产生这个编译错误的原因,原来学习STM32都会买开发板,不管是野火,正点还是普中,给的资料例程都是好几年前,在keil5.37或更高版本编译出错,因为没有compiler version5。在Target标签下,我们可以看到。在Target标签下,我们可以看到。我们可以先右击查看工程属性。
2025-05-30 14:59:33
424
原创 Error: Flash Download failed - Could not load file “xxx.axf“
在弹出的对话框中选择“C/C++”,然后勾选“C99 Mode”,之后重新编译工程、重新下载即可。到上图提示的目录下,发现确实没有生成axf文件。
2025-05-30 14:28:27
287
转载 解决sqlite删除数据后,db文件大小不变问题(VACUUM)
但只会从数据库文件中截断空闲列表中的页, 而不会回收数据库中的碎片,也不会像VACUUM 命令那样重新整理数据库内容。有些朋友可能会有这种疑惑,为什么明明删除了许多数据,数据库文件的大小却没有变化,这是因为从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据。VACUUM 命令只适用于主数据库,附加的数据库文件是不可能使用 VACUUM 命令。VACUUM 命令通过复制主数据库中的内容到一个临时数据库文件,然后清空主数据库,并从副本中重新载入原始的数据库文件。
2025-04-25 15:13:32
148
原创 qt报“use multi-arg instead [clazy-qstring-arg]”警告的解决方法
你可以使用Qt Creator中的Clazy静态分析工具来验证警告是否已被解决。的重载版本,允许一次性传递多个参数,从而避免多次临时内存分配。是一个由Clazy静态代码分析工具发出的警告,它提示开发者在使用。在修改代码后,重新编译项目并运行,确保修改后的代码功能正常,并且。都会创建一个新的临时对象,这不仅影响性能,还可能增加内存碎片。会一次性处理两个参数,从而避免了中间临时对象的创建。的情况,这可能会导致不必要的临时内存分配。对象,然后这个临时对象再调用。方法时,存在多个连续调用。在这个修改后的版本中,
2025-04-22 14:30:17
294
转载 PWM原理 PWM频率与占空比详解
占空比可以实现对电机转速的调节,我们知道,占空比是高电平在一个周期之中的比值,高电平的所占的比值越大,占空比就越大,对于直流电机来讲,电机输出端引脚是高电平电机就可以转动,当输出端高电平时,电机会转动,但是是一点一点的提速,在高电平突然转向低电平时,电机由于电感有防止电流突变的作用是不会停止的,会保持这原有的转速,以此往复,电机的转速就是周期内输出的平均电压值,所以实质上我们调速是将电机处于一种,似停非停,似全速转动又非全速转动的状态,那么在一个周期的平均速度就是我们占空比调出来的速度了,
2025-04-02 19:20:23
1594
转载 TIM基本定时器
STM32的TIM定时器是一种硬件计时器,用于在嵌入式系统中生成精确的时间基准。TIM实际上是"Timer/Counter (计时器/计数器) Interface Module"(计时器/计数器接口模块)的缩写。STM32中的TIM定时器通常由一个或多个计数器、预分频器和比较器组成,并具有许多不同的工作模式。这些模式包括向上计数模式、向下计数模式、自动重载模式以及其他特殊模式。计数器是STM32 TIM定时器的核心组件之一。它可以递增或递减,每当计数器计数达到特定值时,就会触发中断或输出信号。
2025-04-01 11:17:52
142
转载 VTK映射器、角色、过滤器等渲染管线功能及关系说明
VTK,是一个用于科学数据可视化的开源软件系统。它的核心概念是可视化管线,也就是一系列的数据处理模块,每个模块都有输入和输出,可以相互连接,形成一个数据流网络。可视化管线的基本组成部分有三种:数据源、数据过滤器和数据映射器。
2025-02-24 17:14:36
132
原创 VTK绘制球体并用定时器实现球体转动
本例子展示VTK实现转动的球体,一个定时器用来使球体绕Z轴转动。2. 观察者模式的使用及vtkCommand类用法。4.点、线框、面模式的使用。
2025-02-19 10:45:15
218
转载 VTK 动画:框架、流程与实现
vtkAnimationScene表示一个场景或者是动画场景的建立。动画场景通常是通过渲染一系列的帧,在渲染每一帧时改变某些可视化参数来建立的。所渲染的每一帧都关联一个动画时间,这个时间用来确定动画中每一帧的位置。基于不同的播放模式,动画时间在动画播放过程中是一个计数不断添加的简单变量。vtkAnimationCue代表一个随时间变化/动画的实体。vtkAnimationCue实例本身并不知道与动画相关的参数是假设改变的。
2025-02-17 16:48:30
140
原创 vtkCamera类的Dolly函数作用及相机拉近拉远
要理解vtkCamera类的Dolly函数作用,就必须先了解vtkCamera类表示的相机的各种属性。VTK是用vtkCamera类来表示三维渲染场景中的相机。在VTK中,相机的实质是一个观测点,与人眼的功能相同,相机的视野范围是一个锥状体。分割相机位置到相机焦点的距离到给定的函数参数值。如果该值比1.0大,则相机向靠近焦点的位置移动,此时视图窗口中的被渲染物体就会显示的越大;如果该值比1.0小,则相机向远离焦点的位置移动,此时在视图窗口中被渲染的物体就会显示的越小。
2025-02-16 10:43:23
503
原创 vtk读取后缀名为.ply、.vtp、.obj、.stl、.vtk、.g文件并显示
【代码】vtk读取后缀名为.ply、.vtp、.obj、.stl、.vtk、.g文件并显示。
2025-02-12 15:20:23
235
原创 stm32小白成长为高手的学习步骤和方法
这里我主要强调的是,阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。如何取舍,在于您的选择。2、操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去调用即可实现对IO口的置1和清零。步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。步骤三,准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。
2025-02-03 10:41:15
2185
原创 QCoreApplication::processEvents用法及耗时操作导致界面冻结卡死问题解决
可以看到有两个重载函数,且都是QCoreApplication静态成员函数,第二个函数多了超时时间参数,基本同第一函数功能类似。
2025-01-10 14:46:44
1400
转载 QCustomPlot实现鼠标跟随显示xy坐标值
话不多说时间匆忙直接步入正题,本博主要介绍qt用QCustomPlot实现曲线绘制然后 鼠标放在曲线上能实时显示坐标,之前研究这块,网上也有一些参考例程,但总的来说可参考的 文章 还是很少,所以这里就在多分享一章,贡献一份力量。好了,以上就是实现的全部代码了,放上两种效果图,一种是xy坐标显示分开,一种是在一起的,程序中都有相应的部分,只需打开相应的注释和注释相应的内容,就可以分别实现这两种方式了。
2024-12-26 18:41:37
785
原创 设置QCustomPlot坐标格式为日期时间格式(yyyy-MM-dd hh:mm:ss)
【代码】设置QCustomPlot坐标格式为日期时间格式(yyyy-MM-dd hh:mm:ss)
2024-12-24 18:49:40
565
3
原创 更改liunx的磁盘名称
今天在Linux上部署软件,发现要部署软件的硬盘名称带中文,当访问该磁盘时,中文则被转为长长的一串数字字符串,这很不方便,于是需要将带有中文的磁盘名称改为符合自己软件意义的英文名称。3)找到中文名称的磁盘,一般以/dev/sda或/dev/sdb开头。其中newname是改动后的磁盘名称。
2024-11-16 15:22:29
1240
1
原创 银河麒麟系统开机自动进入指定账户(如:root)桌面
编写好的软件在用户的装有银河麒麟操作系统的机器上运行,但有些操作必须用root权限才能操作,如:打开串口,普通用户打开串口时提示权限不足而拒绝操作的打开操作。然后按esc、:wq保存退出重启银河麒麟操作系统,输入root的密码(如果root原先设置了密码)就可以进入到root账户的桌面或直接进入root桌面(此种情况是root原先没有设置密码)。解决1节的问题,就是开机直接进入root账户的桌面,把软件安装在root账户下。按如下方法设置,可以让银河麒麟操作系统开机自动进入root。
2024-09-08 10:53:42
2444
原创 ViewerBase类suggestBestThreadingModel()函数分析
博文,以知道各个线程模型的含义及区别。在理解本函数之前,需先学习。
2024-08-11 16:59:07
331
原创 osg、OPenGL中的预编译概念
有些数据如果提前进行编译可以有效地提升效率,例如为几何体 数据创建显示列表(Display List),以及将纹理对象提前加载到纹理内存。
2024-08-10 10:22:15
186
原创 osg相机排序规则
排序原则根据摄像机的渲染顺序而定(setRenderOrder函数的第1个参数)。设置为 PRE_RENDER级别的摄像机排序在最前,而POST_RENDER级别的摄像机排序在最后;同 一级别的摄像机根据setRenderOrder函数中传入的第2个参数设置先后顺序,排序数较小的摄像机 在前。osg在很多地方对获取到的多个相机通过通过Camera::setRenderOrder进行设置函数进行了排序设置。
2024-08-05 19:06:18
370
原创 LineSegmentIntersector::Intersection结构体各成员含义
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。
2024-07-22 18:41:33
1104
原创 LineSegmentIntersectorUtils::IntersectFunctor::intersect源码分析
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。
2024-07-17 18:32:13
1023
原创 osgUtil::LineSegmentIntersector类源码分析(二)
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。
2024-07-16 12:20:20
1108
转载 射线和三角形的相交检测(ray triangle intersection test)
射线和三角形的相交检测是游戏程序设计中一个常见的问题,最典型的应用就是拾取(Picking),本文介绍一个最常见的方法,这个方法也是DirectX中采用的方法,该方法速度快,而且存储空间少。先讲述理论,然后给出对应的代码实现。
2024-07-13 17:22:43
358
转载 空间直线与球面的相交算法
对于知道线段的起点O和终点E,显然方向向量为D=E−O。这时,根据射线的向量方程,线段上某一点P为。以上是空间直线的标准式方程(点向式方程)。并且,采取这种公式描述还有个好处,参数t的取值范围为0到1,否则就在直线的两个端点之外。
2024-07-08 19:04:43
283
原创 将QComboBox下拉项中的文本居中、居右
QComboBox下拉项中的文本默认是居左的,如下:有时需要将下拉项中的文本居中、居右。如何实现?
2024-07-08 12:32:46
1672
原创 osgUtil::LineSegmentIntersector类源码分析(一)
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示直线求交器,即通过直线和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。。
2024-07-06 14:37:11
1028
原创 观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系
而这个所谓的窗口坐标windowCoord,实际上也就是世界坐标系下的坐标值worldCoord 在指定的摄像机视口中(也就是我们的屏幕上)对应的平面位置。怎么样,不知不觉中,我 们已经实现了gluProject函数所完成的功能了,而反转这三个步骤就可以得到视口中指定位置所对应的世界坐标了(也就是gluUnProject的工作)。V表示摄像机的观察矩阵(因此Camera 类也专门提供了。
2024-07-06 12:31:36
1182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人