自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

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

2020-01-06 18:00:56

阅读数 9288

评论数 11

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

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

2019-05-10 18:39:02

阅读数 3746

评论数 10

转载 在线接收手机短信验证码的免费网络服务整理

Receive SMS Online for FREE ( python 测试使用的这个注册的):https://www.receive-sms-online.info Receive a SMS Online:https://receive-a-sms.com Free SMS Numbers...

2020-02-14 14:39:30

阅读数 105

评论数 0

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

从已知长度的数组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 ...

2019-11-05 11:19:50

阅读数 28

评论数 0

转载 滤波算法大全

目录 1、限幅滤波法(又称程序判断滤波法) 2、中位值滤波法 3、算术平均滤波法 4、递推平均滤波法(又称滑动平均滤波法) 5、中位值平均滤波法(又称防脉冲干扰平均滤波法) 6、限幅平均滤波法 7、一阶滞后滤波法 8、加权递推平均滤波法 9、消抖滤波法 10、限幅消抖滤波法 ...

2019-07-19 14:50:42

阅读数 4557

评论数 2

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

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

2019-07-09 09:46:34

阅读数 1650

评论数 0

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

三个闭环负反馈PID调节系统:电流环、速度环和位置环的关系 伺服电机为了达到生产的精准控制,电机一般采用三环控制,这主要是为了使伺服电机系统形成闭环控制,所谓三环就是3个闭环负反馈PID调节系统。电压映射电流变化,电流映射转矩大小,转矩大小映射转速的变化,转速同时又映射了位置的变化,三环控制是考...

2019-05-09 10:29:12

阅读数 1673

评论数 0

原创 Park变换及Park逆变换

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

2019-05-08 10:11:25

阅读数 6029

评论数 0

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

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

2019-05-07 18:34:15

阅读数 7615

评论数 0

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

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

2019-03-07 18:17:14

阅读数 67

评论数 0

原创 IIS协议及波形分析

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

2019-03-05 10:25:18

阅读数 1422

评论数 0

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

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

2019-01-08 11:12:22

阅读数 216

评论数 0

转载 PID算法通俗讲解

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

2018-10-24 09:18:58

阅读数 2653

评论数 4

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

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

2018-09-14 16:01:56

阅读数 10005

评论数 1

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

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

2018-08-30 13:57:56

阅读数 5590

评论数 0

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

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

2018-08-14 17:03:52

阅读数 148

评论数 0

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

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

2018-06-13 17:00:29

阅读数 1139

评论数 0

原创 tcl/tk sample.dll cannot be unloaded under a trusted interpreter

    最近项目中使用TCL内核开发,使用命令load加载了dll库后,想用unload来卸载掉dll库报错:sample.dll cannot be unloaded under a trusted interpreter,从墙外论坛获知,在编写dll库时需要添加对unload的函数接口,具体操...

2018-06-13 16:05:32

阅读数 88

评论数 0

原创 MFC多文档中修改Title

多文档工程中修改标题不同于对话框中,可在CMainFrame::PreCreateWindow中进行设置,BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWndEx::PreCreateWind...

2018-04-18 15:06:33

阅读数 404

评论数 0

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

正常情况下将两个工程添加到一个解决方案中,一个是生成DLL库的工程,一个负责调用如下图所示1 静态调用静态调用时需要导出DLL库中的函数#ifndef __SM7_DLL_H__ #define __SM7_DLL_H__ extern "C" { int DECLSPEC...

2018-04-13 11:07:46

阅读数 162

评论数 0

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

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

2018-04-12 16:51:31

阅读数 2566

评论数 0

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

项目中需要在在指定路径下导入一个目录,通过查找MSDN找到可以使用BROWSEINFO结构体来控制打开操作,该结构体解析如下: typedef struct _browseinfo { HWND hwndOwner; // 父窗口句柄 LPCITEM...

2018-03-30 17:42:07

阅读数 2218

评论数 0

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

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

2018-03-06 11:08:35

阅读数 772

评论数 0

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

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

2018-02-11 14:38:54

阅读数 3331

评论数 0

转载 C++调用C# DLL

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

2018-02-11 14:33:13

阅读数 4230

评论数 0

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

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

2018-02-02 15:12:54

阅读数 491

评论数 0

原创 vs2010设置CListBox字体颜色

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

2017-11-01 15:31:47

阅读数 1336

评论数 0

原创 MFC问题集

1、MFC多文档程序中如何默认不打开新建的文档? 在xxxApp.cpp文件中的InitInstance()函数中添加下面这个语句 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); cmdInfo.m_nShellCommand = C...

2017-10-11 16:49:48

阅读数 141

评论数 0

转载 Const修饰函数的作用

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

2017-09-22 16:34:13

阅读数 983

评论数 0

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

使用CFile对象在CRichEdit模块中保存文件,结果每次保存的文件都会变为RTF格式,在文档中会加上一串   \rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fcharset0 Arial;的...

2017-09-20 09:26:46

阅读数 981

评论数 0

转载 MFC文档打开流程

打开文件的步骤如下: 弹出打开文件对话框 -> 获取选择的文件,并将文件显示在视图中。   我们程序中经常需要定制的操作如下: 1. 定制弹出的文件对话框,例如需要修改打开文件的类型或扩展名 2. 定制文件显示的行为 3. 定制文件打开后的行为   ...

2017-09-15 15:11:16

阅读数 215

评论数 0

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

这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的...

2017-07-20 17:35:42

阅读数 222

评论数 0

原创 Bytes2HexStr与hexStr2Bytes

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

2017-06-20 16:06:33

阅读数 7304

评论数 0

原创 ListBox设置AddString排序

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

2017-06-05 17:14:49

阅读数 1278

评论数 0

转载 形参与实参的区别

形参和实参的区别 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。 实参出现在主调函数中,进入被调函数后,实参变量也不能使用。  形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 ...

2017-05-24 15:55:40

阅读数 1712

评论数 1

原创 C8051F340芯片64位驱动移植

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

2017-02-07 14:11:02

阅读数 1085

评论数 0

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

CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CPU工作频率为外部输入晶振频率,非常低(S5PV210中晶振在CPU旁边,两颗24MHz,一颗27MHz);CPU的工作模式、中断设置等不确定;存储空间的各个BANK(包括内存)都没有驱动,内存...

2017-01-13 10:59:30

阅读数 173

评论数 0

原创 linux启动minicom设置问题

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

2017-01-13 10:11:48

阅读数 444

评论数 0

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

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

2017-01-12 16:16:58

阅读数 1383

评论数 0

原创 openwrt移植到tiny210编译出现的问题

编译时报错: patching file drivers/Kconfig patching file drivers/Makefile patching file include/linux/switch.h Hunk #1 FAILED at 166. Hunk #2 succeeded at ...

2017-01-10 16:30:32

阅读数 346

评论数 0

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