自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 AM32电调学习-代码编译

AM32固件编译方法主要有三种:1) Keil编译 - 直接打开现有工程即可编译,但不支持DroneCAN项目;2) WSL环境编译 - 需安装WSL、配置Linux子系统后使用make命令编译;3) VS Code编译 - 主要用于调试,需配置make环境和下载bootloader代码。三种方法均需安装相应环境和工具链,其中WSL和VS Code方式需额外配置开发环境。编译完成后可生成对应MCU的.bin文件,VS Code方式还支持代码调试功能。(147字)

2025-05-29 22:31:35 774 3

原创 AM32电调学习V2.19更新整理

新版本代码在2.18版基础上进行了多项功能优化:1)刹车逻辑增加新模式;2)低电压保护新增电压判断方式;3)加速度参数可配置且计算更新;4)PWM频率范围扩大;5)进角调整精度提升;6)增加油门校准开关;7)电流限制PID控制数组扩容;8)最小duty计算方法更新。同时进行了多项硬件适配改进,包括新增宏定义、优化中断处理、调整ADC触发方式等,并更新EEPROM版本至3.1。代码结构进行了精简,移除无效中断程序,调整固件名称存储方式。

2025-05-29 14:52:38 429

原创 STM32定时器的死区时间(DTR)如何计算

本文以STM32F051为例,详细分析了TIM1死区时间(DTR)的计算方法。当系统时钟配置为48MHz且分频因子CKD=00时,基本时间单位tDTS=20.8333ns。死区时间根据DTG寄存器的不同取值范围采用分段计算:0-127对应0-127×tDTS、128-191对应(64+[0-63])×2×tDTS、192-223对应(32+[0-31])×8×tDTS、224-255对应(32+[0-31])×16×tDTS。文章还通过具体案例(DTG=0x2D和0x96)演示了实际死区时间的计算过程。

2025-05-28 22:50:35 508

原创 AM32电调学习解读九:ESC上电启动关闭全流程波形分析

本文从运行角度结合波形图,详细描述了ESC(电子调速器)的整个工作流程。首先介绍了运行配置,关闭部分配置以便于分析,使用ServoPwm信号。接着,描述了ESC上电启动和停止的全过程,包括GPIO初始化、MCU启动、油门信号检测、解锁、启动、无感驱动以及转速降低和停转等步骤。通过波形图展示了各个阶段的状态变化,特别是油门信号的检测与处理、反电动势的读取与换相、以及无感驱动中的定时器回调与换相等待时间的计算。最后,当油门信号低于启动点时,ESC停止运行。

2025-05-19 23:49:27 480

原创 AM32电调学习解读八:无感驱动相位波形解析

本文主要解读了无感驱动中的换相波形,帮助理解代码实现。首先介绍了ESC简图和比较器接线图,随后分析了未满duty和满duty情况下的波形。重点讲解了如何通过比较器输出判断过零点,包括相位切换时的检测逻辑、代码实现以及波形图的对应关系。文章通过具体示例(如AH->BL相位切换时检测C相下降沿)和代码片段,详细说明了过零点判断的步骤,包括连续读取比较器输出高电平的次数(filter_level)作为过零点的依据。整体内容旨在帮助读者理解BLDC电机方波控制中的反电动势过零检测机制。

2025-05-18 22:35:53 501

原创 AM32电调学习解读七:其他代码文件介绍

最近在学习AM32电调的2.18版本的源码,我用的硬件是AT32F421,整理了部分流程处理,内容的颗粒度是按自己的需要整理的,发出来给有需要的人参考。按自己的理解整理的,技术能力有限,可能理解有误,欢迎纠正。​注:lida2003博主是个大牛。写的无刷电调的理论和AM32相关知识点介绍的比较系统,介绍的很详细,有需要的同学可以去参考。我对电调这块是外行,只是刚入门学习。这里重点是代码理解的整理分析,他哪里写了很多原理性的知识。

2025-05-18 20:28:28 875

原创 AM32电调学习解读六:main.c文件的函数介绍

这是第六篇,前面分析的部分已经覆盖了电调控制的大部分路径,接下来是剩余代码的理解。简单介绍main.c文件函数的作用,部分函数前面的文章介绍,这里是个总结整理,为后面穿起来理解运行做准备。

2025-05-18 16:50:05 313

原创 AM32电调学习解读五:tenKhzRoutine

最近在学习AM32电调的2.18版本的源码,我用的硬件是AT32F421,整理了部分流程处理,内容的颗粒度是按自己的需要整理的,发出来给有需要的人参考。按自己的理解整理的,技术能力有限,可能理解有误,欢迎纠正。​注:lida2003博主是个大牛。写的无刷电调的理论和AM32相关知识点介绍的比较系统,介绍的很详细,有需要的同学可以去参考。我对电调这块是外行,只是刚入门学习。这里重点是代码理解的整理分析,他哪里写了很多原理性的知识。

2025-05-18 16:02:16 512

原创 AM32电调学习解读四:输入信号处理

/AUTO_IN = 0,//自动模式DSHOT_IN = 1,//dshot信号SERVO_IN = 2,//伺服信号,也就是PWM信号SERIAL_IN = 3,//串口信号,EDTARM_IN = 4,//dshot自检,arm这个单词不知道用啥中文好(英文不好),电调低油门确认后arm=1,会发低油门确认音,就像自检通过。所以我这里就称为自检。DRONECAN_IN = 5,//DroneCan输入。

2025-05-13 22:00:01 956

原创 AM32电调学习解读三:过零点判断

最近在学习AM32的2.18版本的源码,我用的硬件是AT32F421,整理了部分流程处理,内容的颗粒度是按自己的需要整理的,发出来给有需要的人参考。按自己的理解整理的,技术能力有限,可能理解有误,欢迎纠正。这是第三篇,介绍AM32过零点判断处理。

2025-05-06 13:57:06 850 2

原创 AM32电调学习解读二:Main函数主循环流程

这是第二篇,这里Main函数中的while(1)主循环,本人重点分析的是正弦驱动的切换过程,目前只是分析了现有流程,在实际调试中发现目前的版本切换不够平滑,有部分处理的还不好,需要修改才能更平滑的切换。切换的相位需要根据正弦停止时的位置计算下一步相位,而且油门变小切换到正弦的过程也需要修改处理。最近在学习AM32电调的2.18版本的源码,我用的硬件是AT32F421,整理了部分流程处理,内容的颗粒度是按自己的需要整理的,发出来给有需要的人参考。按自己的理解整理的,技术能力有限,可能理解有误,欢迎纠正。

2025-04-30 16:00:41 172

原创 AM32电调学习解读一:Main函数初始化流程图

最近在学习AM32电调的2.18版本的源码,我用的硬件是AT32F421,整理了部分流程处理,内容的颗粒度是按自己的需要整理的,发出来给有需要的人参考。按自己的理解整理的,技术能力有限,可能理解有误,欢迎纠正。这是第一篇,后续会陆续发布,等整理完,会把我理解的带注释的代码也共享出来。

2025-04-30 10:18:24 239

原创 AM32电调配置上位机DIY

玩AM32一段时间,适配了个Esc_Config_Tool_1_82_WIN配置工具的替代版,仿BLHeli风格,分享给需要的人,功能集中在一个界面了。目前最新的2.17版本,相对于2.16增加了can的参数,这部分我自己还没用上,但界面上也体现了参数。工具是自己开发使用的,增加了对AM32的适配,应该是有些bug的,有问题可以先发在评论区,有空再修改。参数的含义就不一个个解释了,名称和Esc_Config_Tool_1_82_WIN版本的基本一致。2、支持配置导出保存和配置导入和原始参数解析。

2025-03-22 20:49:53 645 1

原创 利用TTL串口DIY制作BLHeli/AM32电调调参器

市面上BLHeli/AM32电调是目前比较流行的电调,一般可以使用Arduino 小板制作,如下图。这里介绍使用普通TTL串口改造的方法。就是在TX和RX直接焊接一个4.7k电阻,如下图。普通TTL偏移又通用,我用2.54的针做了个转接TTL功能还能保留。官网上有制作说明,这里不再描述。连接BLHeli需要选这个。完全可以替代某宝的调参器。AM32需要勾选这个。

2025-03-21 11:43:27 776

原创 MM32F0144霍尔驱动无刷电机实例

霍尔驱动无刷电机原理和参考网上已经有很多案例了,理工男文笔烂,这里不再重复描述了。网上也有很多源码下载,但是源码下载一堆的积分,一堆的注册,烦死。自己参考芯片厂商的案例库,简单写了个参考,留个机缘给有缘人,望道友笑纳。为了代码方便查看和上传,直接扔一个main文件里面了。代码很简单直接上代码了。

2024-03-27 00:22:56 427

原创 使用Python简单实现数据备份和更新,视频和照片可以快速备份了

昨天突然发现台式机起不来了,读硬盘嘎嘎响,快见马克思了。赶紧准备备份数据,发现上次备份是半年前的了,很多文件都更新过了,还有不少新增的文件,直接拷贝文件夹合并,效率太低。网上的备份工具很多,功能太强大,使用复杂,收费,……今天有空就调试了一个Python拷贝新增和更新过文件的脚本,自用也当笔记,放上来给有需要的人参考,直接上代码。网盘虽然可以存视频照片等数据,但是这个云上数据的私密性~~~,呵呵,懂的人都明白。硬盘的寿命有限,但是上面的数据是无价的,硬盘有殒命的风险,所以需要定期备份数据,

2024-03-18 23:55:42 687 2

原创 在STM32F103上的TM1650和AIP650驱动实现源码

第一次使用这个器件,没详细看芯片资料,掉进了一个坑,以为是使用I2C驱动,结果使用F103的库函数去驱动,结果消息是发出去了,但是数码管没显示。还用逻辑分析仪抓了数据,发现I2C上把消息都发出去了,就是没响应。对比时序图发现和I2C的定义有区别。网上找了个参考,自己稍微修改了下调通了,发出来共享给需要的人。类似于I2C,不等于是I2C.代码很简单直接上源码。

2024-03-04 22:34:58 3415 4

原创 MM32F0144的IAP实例

IAP的原理网络上有很多文章,我参考的是这一篇,写的比较好这里不再介绍原理了。本人看了原理,尝试了写了个简单的验证程序,结果跳转成功后中断不灵了,又查了很多网文,发现是uboot中是在中断中触发了跳转导致的异常,后来修改成直接在main函数中执行跳转,就成功了。这里记录一下关键点,并把工程源码也附上,供人参考。

2024-02-25 20:58:50 543 1

原创 STM32F051使用TIM1_CC4触发ADC读取

STM32F051使用TIM1_CC4触发ADC读取,代码已调通,实测有效

2024-01-26 09:01:11 2110 1

原创 python使用Selenium WebDriver爬取网络小说

小说的下一个章节,我是取巧了,直接点击网页的下一页或者下一章,因为网站的小说一章是分成几个网页输出的,每章的网页链接不好计算。我只是下载小说,不想搞的很麻烦,所以直接分割网页源码,如用spli分割成数组,取数组成员值。解析网页源码html格式可以用很多解析引擎,如下。我把网页源码和小说的内容都保存了,效果如下。

2023-09-08 09:10:52 368 1

原创 程序员进制计算器

方便实现二进制、八进制、十六进制、十进制之间的转换和简单计算,免去手工转换后再计算的麻烦。程序员计算器、数值禁止转换、不同进制数值直接运算

2023-08-02 19:33:38 201 1

原创 Keil5的c8051F330汇编代码断点进阶用法

Breakpoints Window的用法Keil自带的帮助文档里面就有,只不过是C语言的,汇编的也差不多一样,我这里只是参考着用起来了做个记录。BS \\C8051F330\TEST\872, 1 这条就是直接生成行断点的实际命令,可以通过Command直接执行这条命令可以是生成断点。前面几个BS命令都是不带“cmd”参数,则默认表示中断,也可以是其他命令,或者自定义函数,具体参考Keil的帮助文档,这里介绍常用的printf。当配置的条件满足设置的中断条件时,可以配置断点的行为。

2023-07-31 17:24:49 1315 1

原创 F103固件库Keil工程自动拷贝

STM32 使用固件库编程,需要手工拷贝一些固件库文件,写了个python自动拷贝,把《STM32F10x固件库下载与安装说明》文档自动化,就当做个笔记。工程模板只需要建立一次,以后都可以直接使用。配置这几个参数执行即可。

2023-01-12 10:21:39 349

原创 VC60串口枚举实例:设备管理器扫描方法、读取注册表方法、CreateFile方法

介绍三种方法获取串口列表,直接上代码,可以通过链接下载到调通的程序,0积分下载。这里只是举个例子,可以结合以上1和2方法,提升效率,又能获取完整。第一种方法可以获取到完整的串口名称,方便用户识别选择。第二种方法只能识别到COMx。

2022-11-23 14:48:45 623

原创 Ini文件操作函数库

设置ini文件值。对INI文件的函数进行了封装,如果默认值不存在则创建默认值项目。

2022-11-22 19:14:49 212

原创 快捷键自动截屏保存图片工具附源码0积分共享

快捷键自动截图保存在工具所在目录,目前快捷键复用的原来的截屏软件,不影响原来截屏键功能。源码公开可免费下载需要者自取,可以根据需要自行修改。用对话框实现的,但是做成了系统托盘图标,没有界面显示,方便后台截图。

2022-11-21 22:25:05 256

原创 单片机上位机串口调试工具及源码0积分下载

学习单片机开发需要配合串口调试工具,通用的串口调试工具对于数据解析部分支持的不好,但是目前网络上的大部分串口工具源代码都需要积分能下载,自己花精力搞了一个串口工具的收发框架,0积分共享出来,有需要的人自取。写的比较冲忙,目前能用,使用者可以根据自己需要修改。

2022-11-11 08:36:40 271

原创 BIN文件和HEX文件互转合并

因需要使用阿莫脱机下载器制作STM32脱机下载文件,而配置文件部分只有bin格式的,整合不了,所以需要把bin文件转化为hex文件。源代码很简单,不介绍了,直接上对话框图和代码,需要者自取。的代码,写了个对话框的程序。共享出来,给有需要的人。

2022-10-26 12:44:39 6744 4

原创 通过Python脚本自动配置STM32从SDRAM上运行

之前写过一篇文章《STM32(在F051上调试通过)配置从SDRAM上启动》,参考该文章可以手工配置从SDRAM上运行程序,但是学习过程中配置起来有些麻烦,每次需要一项项修改一些数据,而且还需要手工计算SDRAM的大小分配,挺麻烦的。开发板的配套光盘都是从Flash上运行,每次学习调试都需要重新配置。主要工作量是在找到配置文件修改点,代码很简单自己查看,总体思路:解析编译结果,计算SDRAM分配,解析XML,修改XML,保存文件,计算SDRAM的时候先优先按整K字节分配,满足不了才使用精确字节数分配。

2022-10-05 10:46:33 750

原创 STM32(在F051上调试通过)配置从SRAM上启动

STM32的Flash有烧写次数限制。F051 Flash芯片的默认是1000次,超过擦写次数后可能无法使用。解决该问题可以通过从SDRAM上启动。参考网络上的一些文章,终于搞定了,踩过一些坑,简单整理了一些资料,共享出来,供参考。我用的是 青风stm32f051 的开发板调试的,配置从SDRAM上启动不需要更改硬件跳线boot0。

2022-10-05 10:13:03 1319 2

AM32ESC配置上位机

玩AM32一段时间,适配了个Esc_Config_Tool_1_82_WIN配置工具的替代版,仿BLHeli风格,分享给需要的人,功能集中在一个界面了.串口连接显示失败问题修正了。

2025-03-22

MM32F0144 HALL BLDC实例源码

霍尔驱动无刷电机原理和参考网上已经有很多案例了,理工男文笔烂,这里不再重复描述了。网上也有很多源码下载,但是源码下载一堆的积分,一堆的注册,烦死。自己参考芯片厂商的案例库,简单写了个参考,留个机缘给有缘人,望道友笑纳。

2024-03-27

MM32F0144的IAP实例

​ IAP的原理网络上有很多文章,我参考的是这一篇,写的比较好 这是最后一篇了,五精华无悬念:STM32的IAP方案 - stm32/stm8 - 电子工程世界-论坛 (eeworld.com.cn) 这里不再介绍原理了。本人看了原理,尝试了写了个简单的验证程序,结果跳转成功后中断不灵了,又查了很多网文,发现是uboot中是在中断中触发了跳转导致的异常,后来修改成直接在main函数中执行跳转,就成功了。这里记录一下关键点,并把工程源码也附上,供人参考。 ​

2024-02-25

VC6.0显示行号的插件无限制版本VC6LineNumberAddin.dll

VC6.0显示行号的插件,很好很强大的显行号插件,使用VC6.0编程的朋友再也不用烦恼没有行号的编程环境了。 VC显示行号插件使用说明: 1. 如果你的VC安装在C盘,请拷贝文件VC6LineNumberAddin.dll到如下目录: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 2. 注册 双击VC6LineNumberAddin.reg进行注册。 3. 启用 打开vc6,菜单栏:Tools -> customize -> Add-ins and Macro Files 选中VC6LineNumber Developer Studio Add-in

2023-08-21

程序员计算器、进制转换、进制混合计算

方便实现二进制、八进制、十六进制、十进制之间的转换和简单计算,免去手工转换后再计算的麻烦 详细参考:https://mp.csdn.net/mp_blog/creation/editor/132069595 输入二进制、八进制、十六进制、十进制之间中的一种数据就可以自动实现进制转换,所以可以快速实现不同进制的混合运算,如0xAB+1034=?,常规的计算机要你先做一轮转换后再计算,很麻烦。 支持的常规的一些运算:加、减、乘、除、与、非、或、异或、补码、左移、右移

2023-08-02

BIN文件和HEX文件可以互转合并

​ 参考了:BIN 文件转换为 HEX 文件 - 何亚斌的博客 (go2aaron.com)的代码,写了个对话框的程序。共享出来,给有需要的人。 源代码很简单,不介绍了,直接上对话框图和代码,需要者自取 增加了HEX 文件转换为 BIN 文件 增加和hex文件合并 20230205:转HEX文件输入A~F字符修改为大写,避免Keil使用出错 20230215:bin文件超过64k数据错乱问题 ​20230709:更新C8051使用的keil编译的hex文件转换到bin错误问题

2022-10-26

BIN文件和HEX文件可以互转合并

​ 参考了:BIN 文件转换为 HEX 文件 - 何亚斌的博客 (go2aaron.com)的代码,写了个对话框的程序。共享出来,给有需要的人。 源代码很简单,不介绍了,直接上对话框图和代码,需要者自取 增加了HEX 文件转换为 BIN 文件 增加和hex文件合并 20230205:转HEX文件输入A~F字符修改为大写,避免Keil使用出错 20230215:bin文件超过64k数据错乱问题 ​20230709:更新C8051使用的keil编译的hex文件转换到bin错误问题

2022-10-26

jlink v8 固件丢失、变砖、固件更新包

使用SAM-BA 更新jlink 固件Vl.2 AT91SAM7S 系列芯片 出厂后并没有将SAM-BA Boot 固件复制到FLASH 存储器的头两个区所以当第一次通过USB 连接目标板和 PC 机的时候 需要按照`以下的步骤来复制SAM-BA Boot 固件到 FLASH 并运行。 ……………… J-LINK V8-1631096674.bin sam-ba_2.12.exe 使用SAM-BA更新jlink固件V1.2.pdf Install_AT91-ISP_v1.13.exe 升级完成后,使用J-Flash V4.90工具连接会提示升级固件,这个时候点确定就可以了,如果升级失败,可能是升级手册中最后一步 是否加锁点击了yes导致

2023-04-09

VC60串口枚举实例:设备管理器扫描方法、读取注册表方法、CreateFile方法

VC60串口枚举实例:设备管理器扫描方法、读取注册表方法、CreateFile方法

2022-11-23

快捷键自动截屏保存图片工具附源码0积分共享

快捷键自动截图保存在工具所在目录,目前快捷键复用的原来的截屏软件,不影响原来截屏键功能。源码公开可免费下载需要者自取,可以根据需要自行修改。用对话框实现的,但是做成了系统托盘图标,没有界面显示,方便后台截图。增加了配置快捷键和JPG保存

2022-11-21

单片机上位机串口调试工具及源码0积分下载

学习单片机开发需要配合串口调试工具,通用的串口调试工具对于数据解析部分支持的不好,但是目前网络上的大部分串口工具源代码都需要积分能下载,自己花精力搞了一个串口工具的收发框架,0积分共享出来,有需要的人自取。写的比较冲忙,目前能用,使用者可以根据自己需要修改。

2022-11-11

软件研发流程介绍,主要测试视角,开发部分写的比较少,部分省略

测试视角软件研发流程介绍,开发部分写的比较少

2022-10-05

空空如也

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

TA关注的人

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