自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (14)
  • 收藏
  • 关注

原创 IDA编译STM32 Hex\Bin文件成C代码

IDA是一款功能强大的fan编译软件,网上找了许久没找到它的使用教程,经过摸索可将STM32的hex文件进行fan汇编,操作步骤如下,首先下载IDA Pro软件,免安装。IDA Pro下载链接:https://pan.baidu.com/s/15mlNh73Ga9zj9y3JN4kfaw 提取码:kkxi如果文件为bin文件,可使用bin转hex工具转为hex格式,BinTo...

2020-01-06 18:00:56 36751 31

原创 FOC电流环PID参数自整定方法(TI)

最近参阅TI的用户手册中记录有关于电流环Kp,Ki参数计算的方法,在此作出小结以防忘记。上图为PID的串联拓扑结构图,Kp 项用于设定控制环路的高频增益,Ki 项用于设定低频增益,理论上DC增益无限制。界定高频与低频的频率被称为控制器“零点”,它对应于频率图的拐点。我们令:用于设定所有频率的增益,而直接定义控制器拐点(零点),单位为rad/s。通过PID表达式可推导出...

2019-05-10 18:39:02 25951 25

原创 rpmalloc解析

rpmalloc作为一个跨平台的无锁带线程缓存的内存管理模块,采用16字节对齐的方式。其拥有较高的性能,与其他一些内存管理模块的性能对比见下图,Memory分块介绍Memory blocks通过不同大小分成3类,small blocks : [16, 1024] bytes medium blocks: (1024, 31232] bytes large blocks: (31232, 2097120] bytes类似于dlmalloc的Smallbins机制,上述三种...

2021-10-13 20:11:38 765

转载 深度学习入门基础概念

目录神经网络基础1)神经元(Neuron)​2)权重(Weights)​3)偏差(Bias)4)激活函数(Activation Function)常用的激活函数a)Sigmoidb)ReLU(整流线性单位)c) Softmax​5)神经网络(Neural Network)神经网络的组成6)输入/输出/隐藏层(Input / Output / Hidden Layer)​7)MLP(多层感知器)8)正向传播(Forward Propagation)9

2021-04-10 16:37:26 684

原创 VSCode调试服务器上TVM框架

Visual Studio Code作为一款代码开发神器,有很多的插件来服务于代码的开发。本文介绍如何通过vscode调试服务器上的tvm工程,因该工程位于服务器上因此需要先安装RemoteSSH插件,该框架中包含C、C++、Python、GO等编程语言编写的代码,因此我们需要安装对应语言编译所需要的插件。在tvm框架中C与C++程序属于后端接口,会根据要求编译成库文件,封装成python可调用的形式供前端调用。如果我们只是用gdb调试就无法完成前端调用后端的在线debug。下面提供一种p.

2021-04-10 16:09:53 988

原创 实现从数组中找出最大的两个数

从已知长度的数组pwIpd[low~high]找出最大的两个数pwIpd[*x1]和pwIpd[*x2],要求尽可能减少比较次数,#define uint16_t unsigned short#define swap(x,y) {x=x+y;y=x-y;x=x-y;}void max2(uint16_t *pwIpd,uint16_t low,uint16_t hi...

2019-11-05 11:19:50 803

转载 滤波算法大全

目录1、限幅滤波法(又称程序判断滤波法)2、中位值滤波法3、算术平均滤波法4、递推平均滤波法(又称滑动平均滤波法)5、中位值平均滤波法(又称防脉冲干扰平均滤波法)6、限幅平均滤波法7、一阶滞后滤波法8、加权递推平均滤波法9、消抖滤波法10、限幅消抖滤波法11、卡尔曼滤波程序默认对int类型数据进行滤波,如需要对其他类型进行滤波,只需要把程序中所有in...

2019-07-19 14:50:42 15093 2

原创 欧拉角Pitch、Roll、Yaw介绍

欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。这样的话,很容易想到,同样的一个三维向量,代表了绕x,y,z的旋转值,先进行那个旋转是否对结果有影响呢?显然是有影响的,可以拿着你的手机试一下,不同的旋转顺序会代表不同的旋转结果。所以,一般引擎都会规定自己的旋转顺序。 下图为欧拉角在坐标系中的标识。下面三张动图...

2019-07-09 09:46:34 43601 6

转载 FOC闭环负反馈PID调节系统:电流环、速度环和位置环的关系

三个闭环负反馈PID调节系统:电流环、速度环和位置环的关系伺服电机为了达到生产的精准控制,电机一般采用三环控制,这主要是为了使伺服电机系统形成闭环控制,所谓三环就是3个闭环负反馈PID调节系统。电压映射电流变化,电流映射转矩大小,转矩大小映射转速的变化,转速同时又映射了位置的变化,三环控制是考虑电气与物理融合。以达到非常精准,可靠的控制。第1环是电流环 此环完全在伺服驱动...

2019-05-09 10:29:12 13523 2

原创 Park变换及Park逆变换

Park变换 由于PID控制器对直流参考信号的跟踪效果更好,因此在Clark变换之后需要将静止的α,β坐标系转换为旋转的d,q坐标系(Park变换也称2s/2r变换)。 SVPWM算法的实现用的是静止的坐标系α,β,因此得到id,iq进行完PID运算后需要进行Park逆变换再转换到α,β坐标系。 从数学意义上讲,park变换没有什么,只是一个坐标...

2019-05-08 10:11:25 65867 3

原创 Clark变换及比例系数2/3推导过程

Clark变换由于异步电动机三相原始动态模型相当复杂,分解和求解这组非线性方程十分困难,在实际应用中必须予以简化,简化的基本思路就是将复杂的问题分解成一个一个简单易处理的问题,将复杂的三相坐标系转换成易理解的两相坐标系。如图1中所示,当三相绕组和两相绕组产生的旋转磁动势大小和转速都相等时,我们认为两相绕组与三相绕组等效,这就是Clark变换由来。 ...

2019-05-07 18:34:15 53489 23

转载 标准C++ string处理增强函数

//标准C++ string 去除首尾空白字符 2012-8-12 static inline void stringTrim(string &str) { //去除左侧空白符 for (std::string::iterator iter = str.begin(); iter != str.end(); ++iter) { ...

2019-03-07 18:17:14 253

原创 IIS协议及波形分析

一、I2S总线规范I2S总线拥有三条数据信号线,一条时钟同步线:1、SCK: (continuous serial clock) 串行时钟对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数。2、WS: (word select) 字段(声道)选择用于切换左右声道的数据。WS的频率=采样频率。命令选...

2019-03-05 10:25:18 9656 2

原创 VC开发屏蔽系统热键F10

项目中开发的一个多文档程序中用到了快键键F10,发现当按F10快键键时,软件焦点会跳到菜单栏上面,网上查到许多的资料都讲的不太准确,下面介绍一种最简单的屏蔽方法,不需要去注册注销热键消息,1、在CMainFrm添加虚函数PreTranslateMessage。2、在虚函数中添加对系统热键VK_F10的消息进行屏蔽。代码如下:virtual BOOL PreTranslateMes...

2019-01-08 11:12:22 668

转载 PID算法通俗讲解

总所周知,PID算法是个很经典的东西。而做自平衡小车,飞行器PID是一个必须翻过的坎。因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂。并举出PID的形象例子来帮助理解PID。一、首先介绍一下PID名字的由来:P:Proportion(比例),就是输入偏差乘以一个常数。I  :Integral(积分),就是对输入偏差进行积分运算。D:Derivative(微分),对...

2018-10-24 09:18:58 5851 4

原创 电感感应电压公式v(t)=L*di/dt的推导

电流流过线圈,在线圈周围空间会激发磁场,磁力线就会穿过线圈,如果电流是变化的,那么,磁通量就会发生变化,在线圈中产生感应电动势, 如果线圈是密绕的,每一匝磁通量Φ近似相同,N匝就是NΦ,感应电动势E=dNΦ/dt,磁通量与磁感应强度B成正比,磁感应强度B又与电流i成正比,所以,磁通量就与电流成正比,即NΦ=Li, 其中L是比例系数,叫电感系数,于是, E=dNΦ/dt=dLi/dt...

2018-09-14 16:01:56 56483 1

转载 MDK5更改代码字体,颜色等

本文转自:http://www.eeworld.com.cn/mcu/article_2016122332540.html修改后的配置文件在该路径下:C:\Keil_v5\UV4\global.prop若修改后系统默认字体找不到Courier New,则可以通过修改配置文件让其重新显示出来operator,block,brackets:括号,逗号,分号等Identifier:英文代...

2018-08-30 13:57:56 18424 2

转载 win7下VS2010中MFC多文档程序最小化通过任务栏恢复时菜单栏移位的问题解决

本文转自:   http://www.linkobj.com/?id=16在win7下VS2010中编写的MFC多文档应用程序打开多个标签窗口后最小化时再通过任务栏中点击标签页恢复窗口显示时出现菜单栏移位问题,解决办法如下: 1.禁用任务栏交互:在CXXApp::InitInstance中调用 EnableTaskbarInteraction(FALSE),注意必须在主窗口中...

2018-08-14 17:03:52 421

原创 C函数中嵌入汇编之形参传递(单片机)

    单片机编程中在C语言里嵌入汇编比较常见,只需要在嵌入前后写入:#pragma asm    MOV  A,#0x00#pragma endasm两个声明即可,在它们中间就可以使用汇编代码,因为汇编是机器码,执行速度快,在对程序运行速度要求高的地方嵌入汇编可以大大提高运行速率,但是当我们在C函数中需要汇编来调用其他的C函数时,传递参数就会变得复杂,...

2018-06-13 17:00:29 2521 1

原创 MFC多文档中修改Title

多文档工程中修改标题不同于对话框中,可在CMainFrame::PreCreateWindow中进行设置,BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CMDIFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATES...

2018-04-18 15:06:33 778

原创 C++调试DLL库注意事项

正常情况下将两个工程添加到一个解决方案中,一个是生成DLL库的工程,一个负责调用如下图所示1 静态调用静态调用时需要导出DLL库中的函数#ifndef __SM7_DLL_H__#define __SM7_DLL_H__extern "C"{ int DECLSPEC_EXPORT Sm_Init(Tcl_Interp* interp);}#endif然后在调用文件中加载lib库#i...

2018-04-13 11:07:46 409

转载 在VS C++中调试DLL工程的方法

在做项目过程中,需要做一些DLL提供接口,方便调用的,但是DLL工程不能直接运行,需要其他调用才可以,懂的调试DLL是在做项目中学到,贴出来供大家学习。一般VS版本不一样,可能会有点小差异,但是大体的意思是一致,如下是步骤:1、找到要调试的DLL项目,将要调试的DLL工程设置为调试启动项目;然后选择DLL项目,点击右键,选择Properties(属性),打开属性页设置页面。2、在Propertie...

2018-04-12 16:51:31 7702

原创 MFC从指定路径下打开一个文件夹

项目中需要在在指定路径下导入一个目录,通过查找MSDN找到可以使用BROWSEINFO结构体来控制打开操作,该结构体解析如下:typedef struct _browseinfo { HWND hwndOwner; // 父窗口句柄 LPCITEMIDLIST pidlRoot; // 要显示的文件目录对话框的根(Root) LPT

2018-03-30 17:42:07 5529

原创 在C++类中声明C#全局变量

在C++类中声明C#全局变量需要用到关键字gcroot,如下例中调用了命名空间和类名均为USB7816的C#DLL程序。#using "USB7816.dll"class CUSB7816Manager{public: CUSB7816Manager(); ~CUSB7816Manager();public: gcroot<USB7816::USB7816^> pUSB...

2018-03-06 11:08:35 1506

原创 C#下System::String转换成C++下string

最近开发的C++项目中需要调用外部C#写的DLL驱动,网上有许多教程,可参考我前面转载的一篇blog。程序调用成功后需要进行数据的转换,通过查找MSDN文档找到可调用Marshal类来实现。附列,// convert_system_string.cpp // compile with: /clr #include <string> #include <iostream...

2018-02-11 14:38:54 6642 1

转载 C++调用C# DLL

本文转自:http://blog.csdn.net/jiang1986829/article/details/48541921由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,需要CLS进行再解释,说到这,我想有些朋友应该知道C#项目需要引用C++编写的DLL时,可以直接引用DLLMPORT来实现调用,而反向的话,C++项目却不能简单靠引用来使用C#编写的DLL。由于C++项目

2018-02-11 14:33:13 15649 1

转载 VC2010在CMFCToolBar工具栏中加入组合框

如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的:To add a combo box button to a toolbar, follow these steps:1. Reserve a dummy resource ID for the button in the parent toolbar resource.2. Con

2018-02-02 15:12:54 801

原创 vs2010设置CListBox字体颜色

VS2010中使用多文档模式动态创建CListBox模块输出结果,为了方便改变每一行的字体颜色,参考了CColorListBox类的封装,在添加了virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);重载函数后发现该函数并没有被调用,查其原因是因为在创建输出模块时没有添加 LBS_OWNERDRAWVARIABLE | LBS_HASST

2017-11-01 15:31:47 2980

原创 MFC问题集

1、MFC多文档程序中如何默认不打开新建的文档?在xxxApp.cpp文件中的InitInstance()函数中添加下面这个语句 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing; // 禁止自动创建空白子窗体

2017-10-11 16:49:48 266

转载 Const修饰函数的作用

const修饰函数在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数。为什么不能调用非const函数?因为非const函数可能修改数据成员,const成员函数是不能修改数据成员的,所以在const成员函数内只能调用const函数。[cpp] view plain copy#include 

2017-09-22 16:34:13 2983

原创 CRichEditDoc下保存文档出现\rtf1\ansi\ansicpg936\deff0的解决方法

使用CFile对象在CRichEdit模块中保存文件,结果每次保存的文件都会变为RTF格式,在文档中会加上一串   \rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fcharset0 Arial;的代码,找了许久都没找到在哪修改保存文档的格式,最终在Serialize(CArchive& ar)函数

2017-09-20 09:26:46 3602

转载 MFC文档打开流程

打开文件的步骤如下:弹出打开文件对话框 -> 获取选择的文件,并将文件显示在视图中。  我们程序中经常需要定制的操作如下:1. 定制弹出的文件对话框,例如需要修改打开文件的类型或扩展名2. 定制文件显示的行为3. 定制文件打开后的行为 1. CWinApp::OnFileOpen它是ID_FILE_OPEN消息的处理函数,在内部调用C

2017-09-15 15:11:16 767

转载 CString,string,char*之间的转换

这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。以下我用简单的图示指出三者之间的关系,并以标号对应转换的方法。

2017-07-20 17:35:42 306

原创 Bytes2HexStr与hexStr2Bytes

/**   * bytes字符串转换为Byte值   * @param String src Byte字符串,每个Byte之间没有分隔符   * @return byte[]   */    #include using namespace std;static BYTE* hexStr2Bytes(String src)

2017-06-20 16:06:33 15378

原创 ListBox设置AddString排序

ListBox中调用AddString函数添加数据时,默认情况下是按字母进行排序,显示出来看起来很奇怪,可通过修改器件属性来修改这一问题,如下图,把分类的勾去掉就可以了。另外ListBox中默认情况显示的都是最上面的数据,当打印出的数据很多时不能显示最新数据,可添加以下代码来显示最新添加的数据。int iReturn= m_Display.AddString(str);m_Dis

2017-06-05 17:14:49 2344

转载 形参与实参的区别

形参和实参的区别形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只

2017-05-24 15:55:40 2083 1

原创 C8051F340芯片64位驱动移植

Win7 64位机上需要使用以上芯片进行usb的数据通信,因此需要移植C8051F340的驱动固件以及对应的通信上位机程序。    1、在Silicon Labs官网上下载IDE 5.18级以上版本;    2、以管理员身份运行cmd.exe,输入命令bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS关闭数字签名认证;    3

2017-02-07 14:11:02 1937

转载 Tiny210(S5PV210) U-BOOT(一)----启动过程

CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CPU工作频率为外部输入晶振频率,非常低(S5PV210中晶振在CPU旁边,两颗24MHz,一颗27MHz);CPU的工作模式、中断设置等不确定;存储空间的各个BANK(包括内存)都没有驱动,内存不能使用。在这种情况下必须在第一条指令处做一些初始化工作,这段初始化程序与操作系统独立分开,称之为Bo

2017-01-13 10:59:30 318

原创 linux启动minicom设置问题

Tiny210烧写完系统启动之后minicom显示Please press Enter to activate this console。按了回车之后却没有了任何反应,经查资料是minicom设置了硬件流控制,设置关闭minicom:1、sudo minicom -s2、选择Serial port setup3、F - Hardware Flow Control 设置为No4、

2017-01-13 10:11:48 1086

转载 谈谈Linux打补丁的原理以及如何判别打补丁的错误 --- 从补丁学内核

对于长期使用Linux的童鞋来说,不说有没有打过补丁,至少这个词大家并不陌生,下面我们通过一个实例来说说:前几天接触了TQ3358这块天嵌的ARM板子,想给它装个实时Linux并做测试,在自带的光盘中我找到了“Kernel_3.2_TQ3358_for_Linux_v1.2” 这样一个内核版本(从Makefile中我们可以看到这是个 3.2.0 版本的内核),我下载了实时补丁“ patch-3

2017-01-12 16:16:58 3225

SVPWM的原理讲解.pdf

SVPWM的原理讲解

2021-08-19

InstaSPIN_FOC_KpKi_TI.pdf

TI FOC

2021-08-19

hash值计算工具.zip

hash值计算工具.

2020-05-25

山外调试工具(串口、菜单、DAP、VT下载、KEA编程助手)【含教程】.rar

虚拟示波器

2020-05-25

ico编辑器.rar

ICO图标编辑器

2020-05-25

BusHound+v6.0.1.rar

windows端口抓包工具,串口通信,usb通信监测等.

2020-05-25

BinToHex.zip

IDA 辅助工具 https://blog.csdn.net/daidi1989/article/details/86304843#comments_12203591

2020-05-14

IDA-pro-plus-6.5-x86-arm1.7.rar

使用教程见 https://blog.csdn.net/daidi1989/article/details/86304843#comments_12203591

2020-05-14

802-switch-support

BUG修复补丁

2017-01-10

Trial_V4.0_Xi 下载

注册表清理工具

2016-12-23

FileTool.exe

工具使用参见http://blog.csdn.net/daidi1989/article/details/53321279

2016-11-24

LINUX设备驱动程序(第3版)

LINUX设备驱动程序(第3版) 高清版pdf

2015-11-26

UNIX环境高级编程(第3版)

UNIX环境高级编程(第3版)高清版

2015-11-26

基于Wince的串口网络封装类

基于Wince的串口、网络封装类,底层采用各种消息机制,这是一个完全独立的封装库,可以直接供人调用。

2014-06-23

空空如也

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

TA关注的人

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