- 博客(165)
- 资源 (13)
- 收藏
- 关注
原创 步进电机生成S曲线上位机
参考的 步进电机S(SigMoid)曲线加减速【查表法】_Renjiankun的博客-优快云博客_步进电机s曲线自己用C#花了大半天搞了一个,直接copy生成的数组使用;
2022-02-12 22:23:11
784
原创 自适应滤波器
1、LMS Filter模块仿真时,输出会发散,主要是mu值选取不合适,选取比较小的值就可以了2、可以把网上的m文件通过 matlab coder工具直接转为C文件(不能直接使用,可以对比参考)3、修改了网上的C代码可供参考#include "LMS.h"/* xn--------输入的信号序列(列向量) * itr-------迭代次数,标量,默认为xn的长度,M<itr<sizeof(xn) * en--------误差序列(itr*1)列向量 * dn-------
2021-06-26 23:56:13
921
原创 matlab timeserise
1)产生timeserise数据方法一:通过timeseries,例如ts = timeseries(rand(5,1));%rand是产生5*1的矩阵随机数方法二:simulink中产生的数据输出到To Workspace控件2)获取timeserise属性在命令行窗口,通过get函数直接获取,例如tsinfo = get(ts) 具体的数据获取方法:ts.Timets.Data3)对timeserise数据绘图在命令行窗口,直接对数据plot,例如plot(ts
2021-06-26 17:46:18
4029
原创 关于从Ealfa和Ebeta中提取角度的一些思考
1、从反电势中提取角度可以直接atan2计算得到,也可以通过PLL得到2、我用仿真PLL提取频率和角度,其中有两点调试心得记录下1)锁相环此处是:
2021-06-19 15:57:17
915
1
原创 VoFa+软件使用记录
1)软件版本1.3.102)协议说明RawData: 最基本的通信协议,接收到什么,便打印什么,不做数据的解析处理,仅用于查看字节流数据。JustFloat: 本协议是小端浮点数组形式的字节流协议,纯十六进制浮点传输,节省带宽。此协议非常适合用在通道数量多、发送频率高的时候。FireWater: 本协议是CSV风格的字符串流,直观简洁,编程像printf简单。但由于字符串解析消耗更多的运算资源(无论在上位机还是下位机),建议仅在通道数量不多、发送频率不高的时候使用。————————————
2021-06-19 11:54:34
3409
原创 Matlab2018b在安装Embedded Coder Support Packege for STMicroelectronic问题解决
Matlab2018b在安装Embedded Coder Support Packege for STMicroelectronic时出现There was a problem downloading the support package. To resolve this issue, see this MATLAB Answer",点击“MATLAB Answer”在评论中发现有人说是因为在下载时链接的是国外的服务器,所以为了解决此问题需要链接外网(可以访问Youtube)。通过一系列操
2021-01-16 22:07:56
1390
4
原创 气隙的介绍等
参考链接https://mp.weixin.qq.com/s/gEBdThoI4OS2otzSiKHv_w气隙定义磁芯的气隙是指一部分磁炉是由空气构成,称为空气间隙,简称气隙作用2.1)减小磁导率2.2)增大饱和电流Isat2.3)增大储存能量的能力2.4)减小剩磁Br2.5)气隙大小的设计:需要满足电流大小;体积不能太大;变压器的磁芯是为了传递磁能;电感是储存磁能磁场能量密度:E=0.5*B*H;磁芯磁导率高;气隙磁导率低,磁场能量大磁场能量主要是存
2021-01-04 21:56:36
5201
1
原创 硬件3--电压跟随器的作用
两个作用:1)前级和后级的隔离作用2)后级的输出阻抗小,所以带负载能力强实际中遇到的电压跟随器可能是以下这种;蓝色圈起来的电阻大小一般几十K大小,起到保护反向输入端的作用...
2020-12-02 22:53:54
701
转载 安装JLINK驱动出现the firmware of the connected J-Link does not support the following memory access
今天在安装J-LINK驱动的时候出现了点小问题。问题: 电脑能够识别到J-LINK这个驱动了,但是keil无法进行Debug。点了Debug后,出现了下图的错误后面也提示说dll internal ,原来是dll出现了错误。解决方法:https://blog.youkuaiyun.com/razor_et/article/details/81096518虽然这篇博文不是讲解这个错误,不过和他的解决方法是一样的。2、问题解决:解决方法,解压“Segger.zip”直接替换整个目录x..
2020-11-09 21:42:26
1624
原创 安装新版本KEIL5 或者升级Jlink固件后,总是提示固件更新的问题
1、问题产生现象安装新版本KEIL5 或者升级Jlink固件后,总是提示固件更新的问题2、解决方法1)先关闭KEIL2)在:\Keil_v5\ARM路径下,删除原来Segger文件夹,3)下载解决升级固件问题的SEGGER压缩文件;4)将该资源解压直接解压为Segger文件夹;5)然后复制步骤“4”到\Keil_v5\ARM路径下6)重新打开KEIL软件,download,发现可以解决“提示升级固件的问题”...
2020-07-31 09:58:04
6442
3
转载 PIC单片机的BootLoader实现
转载自:http://blog.sina.com.cn/s/blog_77b8b43b0102v9ut.html引 言 PIC单片机的BootLoader属于需要自己写程序的那种,可以根据自己的需要写出各种功能的BootLoader程序来。目前,比较常见的BootLoader程序有Microchip公司的C18版本和著名的PICC编译器厂商 HI-TECH公司(以下简称HI-TECH)的PICC18版本。它们的相似之处在于都占用了系统的0x00~0x1FF的程序空间。 Microchip的版本是用.
2020-07-28 15:20:52
3293
2
转载 C语言之volatile
C语言之volatileemOsprey 鱼鹰谈单片机2月21日预计阅读时间: 4 分钟和 const 不同(关于 const 可以看 const 小节),当一个变量声明为 volatile,说明这个变量会被意想不到的改变。最为典型的就是 I/O 的输入寄存器了,因为这个变量的值和外部电平有关系,一旦外部电平发生了变化,那么这个变量也就跟着变。当然还有其它寄存器也是如此,比如各种状态寄存器、定时计数器等,他们的改变是靠硬件来改变的,你的程序只能读取数据,所以一定要申明为 volati...
2020-07-28 10:41:01
211
转载 c语言之#和##
原创:eOsprey 嵌入式单片机软件开发2018-12-17很久就知道了#和##,但是都没怎么使用,直到最近的项目涉及到需要编写大量相似的代码之后才决定尝试使用##去简化代码的书写。比如说我的项目需要控制四个通道的电机,四个通道的逻辑控制代码都是类似的,只是对应的硬件和数据信息不同而已。而我是一个讨厌做重复工作的人,所以就想利用##去简化我的代码书写。就比如说代码初始化这一块,总共有四份相似的代码,如果每一个都要去源码的位置进行修改,麻烦不说,还有可能忘记修改某部分代码,...
2020-07-27 23:18:59
201
原创 总结下-ST2.0库的霍尔角度估计
1、首先明确一个关系等式,看软件就很容易理解F1代表FOC执行频率(PWM周期频率),单位是HZ;△A代表一个PWM周期内霍尔角度变化量;AC代表一个电角度周期的角度变化范围;F2代表电机运行频率,单位HZ;公式:F1*△A=AC*F2基本公式:f电机运行频率,P极对数2、库中计算先计算的是△A代表一个PWM周期内霍尔角度变化量;在计算的电机转速RPM...
2020-06-12 15:14:13
4392
3
原创 VESC 本杰明测试电机参数
1、硬件是V4.2由于把VESC的源程序擦除了,所以通过卖家直接给的bin(含有boot和APP)文件直接通过jlink直接烧录,偏移地址0X8000000;
2020-05-26 18:49:24
3439
原创 OLED 0.96寸测试
1)采用的是0.96寸OLED,采用的是4线SPI方式。驱动器是SSD1306;2)MCU是STM32F103C8T6,3)字模软件PCtoLCD2002.exe;3.1)字符模式下注意,注意设置中"每行显示数据的点阵:;取模方式;点阵格式;取模走向",需要特别注意的是"修改点阵大小"和请选择字体右边的“字宽和字高”3.2)图形模式下(仅支持bmp格式),注意如果想要在整个屏幕上显示整个图片,那么需要更改图片的宽和高的像素点数,和屏幕大小一致;需要在"修改点阵大小"中同时设置4)如果需要对PCto
2020-05-18 11:35:24
1854
原创 PMSM-死区补偿
死区补偿测试--代码《1.1代硬件-STM32-单电阻采样测试--移相方式-死区补偿1》1、未加入补偿1.1)18RPM;4HZ下的电流波形;死区时间3us;载波周期16KHZ1.2)336RPM;84HZ下的电流波形;死区时间3us;载波周期16KHZ1.3)16HZ,66RPM;死区时间2us;载波周期16KHZ2、加入补偿后2.1)18RPM;4HZ下的电流波形;死区时间3us;载波周期16KHZ2.2)336RPM...
2020-05-10 15:29:37
5215
2
转载 GPS定位频率最高是多少HZ?
转载:https://www.zhihu.com/question/41257990/answer/90574977现在普遍常见的芯片10Hz,ublox好像可以配置到100Hz,具体是10还是100记不清楚了,导弹上应该主导航系统肯定是惯导或者组合导航,输出频率应该不会低于200Hz民用一般定位是10Hz,但伪随机码的测量频率貌似可以到100Hz。美国及其北约盟友的导弹应该用...
2020-05-07 19:57:19
6199
原创 直流无刷驱动器--淘宝
1、https://item.taobao.com/item.htm?spm=a230r.1.14.41.7ca55372t1ZdzB&id=527343077948&ns=1&abbucket=1#detail艾思控2、https://item.taobao.com/item.htm?spm=2013.1.0.0.1e8463d3XbAZFg&ft=t...
2020-05-07 19:48:35
1401
原创 FLYMCU 烧写STM32注意
注意:使用串口下载前,需要设置一下BOOT0和BOOT1,BOOT0接高,BOOT1接地就好,下载完后,可以设置回原来那样。都接地。1、在选择“不使用RTS和DTR”时,需要在BOOT置1的条件下,点击“开始编程”之后开始手动按下复位键;2、根据实际硬件选择“不使用RTS和DTR”或者“DTR的低电平复位,RTS高电平进BootLoader”等配置,根据实际硬件选择即可3、此外,如...
2020-04-26 08:54:36
10089
2
原创 STM32 串口DMA发送未发送完数据
在485通信中,利用DMA发送完成中断置位/RE接收,发现中断执行结束之后,还有两个字节未发送完,所以存在数据不能发送的问题发送完成中断产生后,还有一个字节没发呢。dma发送完成是指传输完成,dma将最后一个字节写入了发送寄存器。这时中断产生,最后一个字节还没发送。发送完成中断,并不代表数据都发出了,要用串口发送完成中断...
2020-03-06 16:49:09
1873
3
原创 C#示波器
1、先上界面参考JScope编写的上位机曲线界面,可增加最多6条数据线,可改变曲线颜色;接收总点数有限制Int32.MaxValue / 4;在显示刷新时,建议显示总点数尽量不要太大,否则会刷新过慢2、注意事项自定义控件直接放在一个Form中刷新显示,会比直接在一个界面上刷新显示慢点;默认是3条数据线,如果想要修改可修改“”public static int Defin...
2020-03-02 11:48:26
6084
4
原创 C#Dll和自定义控件
1、Dll类库一般是包含函数(方法),很少包含控件,因为如果你包含控件的话,在使用时,还不如使用自定义控件使用的方便1.概述动态链接库(Dynamic Linked Library):将写好的函数存在库中,以供其他程序开发调用,调用方式为“动态的”。Windows为应用程序提供了丰富的函数调用,这些函数调用都包含在动态链接库中。其中有3个最重要的DLL,Kernel32.dll,它包...
2020-03-01 12:11:47
614
转载 C# Control.BeginInvoke()和delegate的BeginInvoke()的区别
转载https://blog.youkuaiyun.com/aa70m1_xl/article/details/80735414这两者的区别在于委托的BeginInvoke方法是新起一个线程(辅助后台线程)来执行委托,而原线程继续往下执行;Control.BeginInvoke则是将委托强制传递至UI线程执行,所以可能会造成UI线程假死。所以想要执行异步,应该用delegate的Begin...
2020-01-09 10:57:39
517
转载 C语言数据交换
转载自:https://www.zhihu.com/collection/466585009作者:程序员榆西链接:https://zhuanlan.zhihu.com/p/96044085来源:知乎著作权归作者所有,转载请联系作者获得授权。各位,今天我们来看一个C语言的经典例题,因为最近有不少人后台问的问题都跟这个或多或少有点关系,所以今天咱们拿出来对这类问题进行一个总结,话不多...
2019-12-22 23:20:25
3593
原创 C#正则表达式基础
正则表达式可以利用数学算法解决计算机中的文本检索和匹配问题;是一种专门用于字符串处理的语言检索:从字符串中获取我们想要的部分匹配:判断给定的字符串是否符合正则表达式的过滤逻辑*///定位字符 ^ $//string ss = "I am blue cat";//string newstr = Regex.Replace(ss, "^", "开始-");//搜索字符串//Cons...
2019-12-08 23:11:28
131
原创 C#字符串常StringBuilder用方法
//当我们对一个字符串需要频繁的删除和添加的时候,使用StringBuilder的效率较高 //第一种创建方式 StringBuilder sb1 = new StringBuilder("www.baidu.com"); //第二种创建方式 StringBuilder sb2 ...
2019-12-08 21:38:30
332
原创 C# 字符串常用方法1
string s = "www.taike.com";//我们使用string类型存储字符串类型 int length = s.Length; //Console.WriteLine(length); //Console.Write(length); ////1--字符串拼接...
2019-12-08 21:38:20
119
原创 SVN右键不显示
安装重启试了很多中方法,SVN右键始终不显示方法1(测试没有出现)(一)开始--运行--输入“regedit”进入注册表;(二)进入目录:HKEY_CLASSES_ROOT/*/shellex/ContextMenuHandlers/TortoiseSVN(三)右键TortoiseSVN--权限--高级--所有者--将所有者更改为administrator--应用--确定--确定....
2019-11-19 22:35:06
10696
4
转载 C 标准库 string.h
库变量库宏库函数序号 函数 & 描述1 void *memchr(const void *str, int c, size_t n)在参数str所指向的字符串的前 n 个字节中搜索第一次出现字符 c(一个无符号字符)的位置。2 int memcmp(const void *str1, const void *str2, size_t ...
2019-11-17 15:54:47
100
原创 STM32 PB3 PB4 PB5作为普通IO,用作SPI使用
#define W25X_SPI_XXX SPI1#define W25X_SPI_GPIO GPIOB#define W25X_SPI_SCK_CLK RCC_APB2Periph_SPI1#define W25X_SPI_CS_Pin GPIO_Pin_15//GPIOA#define W25X_SPI_CLK_Pin...
2019-11-17 15:02:23
7436
1
原创 AES加密
AES加密算法采用分组密码体制,每个分组数据的长度为128位16个字节,密钥长度可以是128位16个字节、192位或256位,一共有四种加密模式(ECB、CBC、CFB、OFB),我们通常采用需要初始向量IV的CBC模式,初始向量的长度规定是128位16个字节。先说一下Padding的三种模式PKCS5、PKCS7和NOPADDING。PKCS5是指分组数据缺少几个字节,就在数据的末尾...
2019-11-05 23:10:51
5046
原创 MD5介绍
参考https://www.cnblogs.com/foxclever/p/7668369.html参考https://blog.youkuaiyun.com/zhanglifu3601881/article/details/91463596参考https://www.cnblogs.com/fireway/p/5860622.htmlHMACMD5 是从 MD5 哈希函数构造的一种键控哈希算法,...
2019-11-05 19:10:38
821
原创 stm studio和jscope使用感受
stm studio使用可以参考http://www.stmcu.org.cn/module/forum/thread-617512-1-1.htmlhttp://bbs.elecfans.com/jishu_712278_1_3.html1、刷新频率stm studio测试大概40HZ左右,jscope可以高达1000HZ2、变量显示stm studio添加显示变...
2019-10-16 20:49:02
947
2
原创 STM32 利用FreeMaster调试1
1、首先下载两个软件FMASTERSW25.exe(安装文件)FMASTERSCIDRV.exe(通信驱动文件)下载完点击安装即可2、采用Jlink调试首先可以参考下http://bbs.21ic.com/icview-2550628-1-1.html?_dsign=6f941d69https://blog.youkuaiyun.com/special00/article/deta...
2019-10-15 22:24:33
3887
2
原创 STM32 Jlink烧录文件出现:Program (0x8000000 - 0x800B223) does not fit into selected flash sectors
问题:烧录时出现Program (0x8000000 - 0x800B223) does not fit into selected flash sectors ;程序是APP文件,和IAP合成之后,烧录出现的,之前合成是没有问题的;从Flash大小和RAM大小计算,都在合理的范围内问题原因:经查找发小APP的的配置里面的“0X8006000”写成了“0X80006000”导致错误的...
2019-09-18 09:05:02
14351
原创 SQLite Expert Pro 5.3.4.459(X64)基本使用操作
可参考的网址:https://www.runoob.com/sqlite/sqlite-insert.html在SQL下,输入SQLite操作语句,实现插入、删除、修改、查询(单条和多条)等1、插入一条记录格式:INSERTINTOTABLE_NAME(column1,column2,column3,...columnN)]VALUES(value1,value...
2019-09-10 18:22:28
2129
Segger--解决升级问题.zip
2020-07-31
W79E825-824-823A-822A-821A 简体中文版资料
2017-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人