- 博客(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
原创 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
原创 快捷键自动截屏保存图片工具附源码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配置上位机
2025-03-22
MM32F0144 HALL BLDC实例源码
2024-03-27
MM32F0144的IAP实例
2024-02-25
VC6.0显示行号的插件无限制版本VC6LineNumberAddin.dll
2023-08-21
程序员计算器、进制转换、进制混合计算
2023-08-02
BIN文件和HEX文件可以互转合并
2022-10-26
BIN文件和HEX文件可以互转合并
2022-10-26
jlink v8 固件丢失、变砖、固件更新包
2023-04-09
快捷键自动截屏保存图片工具附源码0积分共享
2022-11-21
单片机上位机串口调试工具及源码0积分下载
2022-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人