自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 STM32 BKP备份寄存器介绍

1. BKP可以用来保存数据 BKP中包括了42个16位的寄存器,共可保存84字节的内容,它们由VBAT的供电来维挂。2. BKP内保存的数据可以被毁灭(如果有人希望恶意得到这些数据的话,令其丢失比保护数据更重要)。STM32提供了一种称之为TAMPER的机制来完成。中文译为“侵入检测”,这需要占用一个外部引脚(PC13)。3. 如果不用侵入检测功能,那么这个外部引脚可以用作RTC校准功能,这个稍后再研究。4. 当有系统复位/电源复位/待机模式下被唤醒这三种情况时,BKP...

2021-12-09 08:40:24 3742

原创 STM32 外设操定的步骤

STM32的所外设都在两个总线上面,面对不同外设我们首先需要对它进行使能操作,这样才可以使用或操作对应的外设。1、第一点必须对设备进行使能。2、设置外设的时钟3、操作外设附外设操作LL函数:(1)、AHB总线下面的所有外设操作函数:LL_AHB1_GRP1_PERIPH_ALLLL_AHB1_GRP1_PERIPH_DMA1LL_AHB1_GRP1_PERIPH_DMA2LL_AHB1_GRP1_PERIPH_SRAMLL_AHB1_GRP1_PERIPH_F...

2021-12-07 14:12:38 886

原创 LL_FLASH_SetLatency 闪存存取的设置

闪存的指令和数据访问是通过AHB总线完成的。预取模块是用于通过ICode总线读取指令的。仲裁是作用在闪存接口,并且DCode总线上的数据访问优先。读访问可以有以下配置选项:● 等待时间:可以随时更改的用于读取操作的等待状态的数量。● 预取缓冲区(2个64位):在每一次复位以后被自动打开,由于每个缓冲区的大小(64位)与闪存的带宽相同,因此只通过需一次读闪存的操作即可更新整个缓冲区的内容。由于预取缓冲区的存在, CPU可以工作在更高的主频。 CPU每次取指最多为32位的字,取一...

2021-12-06 15:28:07 1337

原创 IAR : Failed the search for probes,ensure that the USB drives are installed 问题解决

1、用STM32CubeMX生存代码后,选择了调试工具为JTAG方式:2、进入程序,直接试下载运行一下,结果:3、问题解决:在项目的Option中,【debug】选择【Jlink/trace】就这么简单,结果还坑半天,!!!!...

2021-12-03 16:36:19 5388

原创 STM32的时钟系统

什么是时钟时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令,才能够做其他的处理 (点灯,串口,ADC),时钟的重要性不言而喻。2、为什么 STM32 要有多个时钟源呢?STM32本身十分复杂,外设非常多 但我们实际使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并不是所有的外设都需要系统时钟那么高的频率,为了兼容不同.

2021-12-03 11:43:36 2130

原创 STM32 GPIO寄存器操作步骤

寄存器操作(GPIO)1)、配置时钟:查询寄存器属于那个总线,APB1还是APB2, 此时需要配置总线的时候,当外设时钟没有启用时,软件不能读写外设寄存器数值。返回值始终为0x00.GPIO以如下方式开启时钟: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIOA2)、配置GPIO的引脚的工作模式设置 (1)、GPIO有4种输入状态,4种输出状态:...

2021-12-02 17:23:44 3015

原创 STM32的存储器与寄存器

STM32存储器与寄存器

2021-12-02 15:15:11 1591

原创 STM32的最小系统组成

STM32F103最小系统的组成

2021-12-02 11:54:46 13503

转载 STM32F103时钟配置流程

STM32F103时钟配置流程

2021-12-01 15:28:51 1882

原创 QT 关于QSerailPort 数据收不完全的完美解决方案

Qt 官方串口库QSerialPort的 readyRead() 信号,只要有数据就抛出,这就导致一条数据分多次抛出。由于正常的数据没有固定的开头和结尾,这就导致无法获取正常的一组数据。下面是示例代码:1、打开串口的操作代码: m_pSerialPort->setPortName(m_szComPort); m_pSerialPort->setBaudRate(m_eRate); m_pSerialPort->setDataBits(m_eDataBtis);

2020-08-06 11:52:38 1350

原创 QLineEdit 只能输入数字检验方法

void QLineEdit::setValidator(const QValidator *v)Sets this line edit to only accept input that the validator, v, will accept. This allows you to place any arbitrary constraints on the text which may ...

2020-04-09 09:23:44 1650 1

原创 QT 通信CRC校验

1、头文件(不需说太多)#ifndef YTEP_COMM_MATHCTRL_H#define YTEP_COMM_MATHCTRL_H#include <QByteArray>#include <QMessageBox>class YTEP_COMM_MathCtrl{public: YTEP_COMM_MathCtrl();public: ...

2020-03-28 16:49:17 2470

原创 QHBoxLayout,QVBoxLayout的setStretch的作用

个horizontalLayout中的两个QTextEdit控件按2:3的比例扩大或缩小时其实很简单.void QBoxLayout::setStretch(int index, int stretch)Sets the stretch factor at position index. to stretch.This function was introduced in Qt 4.5...

2020-03-24 08:55:07 4361

原创 QT 界面编程中用new创建的控件后是否要delete的问题

一般情况下我们用C++编程的时候,如果用new来创建对象,用完后必须用delete把创建的对象删除,如果不删除就会导致内存泄漏。在QT界面设计中控件如果是new出来的不可避免要涉及到要delete的问题,但是如果我们把它删除了,会导致程序出现问题。如下所示:YTEP_UI_DevicePotAutoAddDlg::YTEP_UI_DevicePotAutoAddDlg(QWidget *par...

2020-03-16 17:53:32 3189 2

原创 Qt 自定控件的信号槽实现示例

一般用Qt进行软件开发时,经常使用信号+槽的方式进行函数动作相应。方法一般有两种:利用designer设置信号/槽函数后,源文件在slots里面直接写函数实现直接使用程序connect函数,在源码里面添加关联上述两种方法,对于一般的动作相应都能实现。但对于不同窗口之间的消息传递可能会有问题!例如,有窗口1和窗口2,点击窗口1中某按钮,窗口2中进行某函数动作。对于这种情况,我们常采用emi...

2020-03-04 16:09:18 559

转载 QT QPushButton 通过stylesheet 设置样式

1.QT QPushButton 通过stylesheet 设置样式ui->pushButton->setStyleSheet("QPushButton{background-color:rgba(255,178,0,100%);\ color: white; border-radius: 1...

2020-03-02 18:00:04 1953

转载 QT中的explicit关键字的意思

QT中的explicit关键字的作用c++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数),承担了两个角色。一是个构造器,二是个默认且隐含的类型转换操作符。所以,有时候在我们写下如 AAA = XXX, 这样的代...

2020-02-27 09:10:40 1533

原创 Qt 打开SQLite用数据时出现 Driver not loaded

由于Qt对SQLite数据库的支持最好(其他数据库驱动好像要收费),因此我们首先SQLite作为数据库开发。当开发完成后,我们要将生成的exe打包,然后放到其他机器上运行。打包的过程很简单,就是将exe与它所需要的动态库(dll)放在同一个文件夹下。而一切就绪后,我们尝试运行exe,结果提示“sqlite driver not load”的问题。这个问题让我头痛了好久,经过网上搜索我终于找到了解决...

2020-02-21 15:46:11 7344 4

原创 Qt 数据库编程出现 :error: undefined reference to

QT Creator编译程序出现以下错误:ytep_db_database.o: In function ZN16YTEP_DB_DataBaseC2Ev': ytep_db_database.cpp:11: undefined reference to_imp___ZN12QSqlDatabaseC1Ev’ytep_db_database.o: In function ZN16YTEP_DB...

2020-02-20 15:30:03 2400

原创 Qt SQL的使用简介

一、开始在头文件中加入#include <QtSQL>二、在Pro文件中加入QT += sql这样就可以和程序中使用QSqlDataBase连接数据库了,如果不加入 “ QT += sql " ,编译时会出现 “ rror: undefined reference to… " 的错误,切记!!!...

2020-02-15 14:50:25 448

转载 QT .pro文件 LIBS用法详解

在程序中需要使用到团队其它成员开发的静态库和动态库,起初是知道使用LIBS变量在在.pro文件中指定需要包含的库,但是实际使用的时候却遇到很大麻烦,但其实确实是因为自己看官方文档不太用心造成的。下面是官方文档对于LIBS变量的使用说明:这段话对于LIBS的使用说的很清楚了,就是-L指定库的目录,而-l指定库的名字(如果是在Linux下,则去掉lib和后缀名,windows下去掉后缀名...

2020-02-15 14:09:47 730

转载 Linux命令大全

系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info...

2020-01-19 21:49:53 91

原创 让你的软件速度飞起来

软件速度取决于算法同样的事情,方法不一样,效果也不一样。比如,汽车引擎,可以让你的速度超越马车,却无法超越音速;涡轮引擎,可以轻松超越音速;却无法飞出地球;如超越音障,却无法飞出地球;如果有火箭发动机,就可以到达火星。在软件设计过程中,有时我们只在乎有好的语法结构,有完美的注释,而往往不注重软件的优化,算法的科学,从而导致软件运行过程看似没有任何问题,可运行结果确走很多不必要的道路,往往在大的...

2020-01-18 22:33:48 308

原创 Windows精确时间获取方法

Windows精确时间获取方法很多时候,我们需要计算两个运行过程间计算机需要耗时多少,一般情况下我们采用GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是(2^32-1) ms约为49.71天,因此若系统运行时间超过49...

2020-01-17 23:36:55 1000

緩沖溢出原理.rar

缓冲区溢出(Buffer Overflow)是计算机安全领域内既经典而又古老的话题。随着计算机系统安全性的加强,传统的缓冲区溢出攻击方式可能变得不再奏效,相应的介绍缓冲区溢出原理的资料也变得“大众化”起来。其中看雪的《0day安全:软件漏洞分析技术》一书将缓冲区溢出攻击的原理阐述得简洁明了。本文参考该书对缓冲区溢出原理的讲解,并结合实际的代码实例进行验证。不过即便如此,完成一个简单的溢出代码也需要解决很多书中无法涉及的问题,尤其是面对较新的具有安全特性的编译器——比如MS的Visual Studio2010。接下来,我们结合具体代码,按照对缓冲区溢出原理的循序渐进地理解方式去挖掘缓冲区溢出背后的底层机制

2020-08-04

SQLite数据库查询器.rar

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。所以很少有工具像SQL Server一样可以时行可视化的编辑。这个小工具是对SQLite数据进行可视化操作的小程序,希望能够让你满意!

2020-02-24

BCB6(BorlandC++Builder6.0编译器)

Borland C++Builder 6为开发人员创建支持新兴Web服务的高效应用提供了一个稳固,高效率的电子商务开发环境.BizSnap Web服务开发平台能使开发人员轻松地创建业界标准SOAP/XML Web服务和连接,从而简化了企业到企业集成.开发人员可以利用基于组件的Web应用开发平台WebSnap提高开发过程的功能,速度和效率,利用DataSnap建立与许多商务进程和许多业务伙伴集成的强大数据存取中间件解决方案.

2012-11-29

VC内存池原码,用于自行分配和处理内存

自行Alloc和Free内存,而不是在程序的Heap空间.

2011-07-29

时钟控制类

用这个类可以精确的计数到ms的时钟事件

2008-01-22

空空如也

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

TA关注的人

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