完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近想学习BLDC,于是买了ti的开发板。
开发套件:P-NUCLEO-IHM001,包括NUCLEO-F302R8 和 X-NUCLEO-IHM07M1,另外还有一个PMSM电机。 驱动包:en.X-CUBE-SPN7.zip,版本1.0.0 用keil MDK5 编译之后,烧录到开发板,电机无法启动,且抖动剧烈。但是没有找到原因。 网上说,IAR编译的代码能够正常使用,于是下载安装IAR,果然,电机正常转动。 对比两个工程,发现驱动代码除了启动文件(startup_STM32f302x8.s)之外,完全一样!分析两个启动文件,也没有发现问题。 之后,查看keil MDK工程配置,发现问题:代码优化级别太高了,造成代码无法正常运行! |
|
相关推荐
1个回答
|
|
在您描述的情况下,电机抖动的原因可能与编译器设置和启动文件有关。您提到使用 Keil MDK5 编译时出现抖动问题,而使用 IAR 编译时电机可以正常转动。这表明问题可能与编译器的优化设置或启动文件的配置有关。以下是一些建议和可能的原因:
1. **编译器优化设置**:不同的编译器可能有不同的优化设置,这可能会影响代码的执行。在 Keil MDK5 中,您可以尝试调整优化设置,例如关闭某些优化选项,看看是否能够解决问题。 2. **启动文件配置**:虽然您提到两个启动文件看起来相同,但可能存在一些细微的差别,例如堆栈大小、初始化代码等。您可以尝试仔细比较两个启动文件,看看是否有任何差异。 3. **时钟配置**:错误的时钟配置可能导致电机抖动。请检查您的 Keil MDK5 工程中的时钟设置,确保它们与 IAR 工程中的设置相同。 4. **中断配置**:中断优先级和中断服务例程(ISR)的实现可能会影响电机的运行。请检查 Keil MDK5 工程中的中断配置,确保它们与 IAR 工程中的设置一致。 5. **硬件初始化**:错误的硬件初始化可能导致电机抖动。请检查 Keil MDK5 工程中的硬件初始化代码,确保它们与 IAR 工程中的代码相同。 6. **固件版本**:确保您使用的 X-CUBE-SPN7 固件包版本与 IAR 工程中使用的版本相同。不同版本的固件可能有不同的实现和配置。 7. **编译器兼容性**:虽然 Keil MDK5 和 IAR 都是流行的 ARM Cortex-M 编译器,但它们之间可能存在一些兼容性问题。您可以尝试更新 Keil MDK5 到最新版本,看看是否能够解决问题。 8. **调试和日志记录**:在 Keil MDK5 工程中添加一些调试和日志记录代码,以帮助您确定问题所在。例如,您可以在关键的初始化步骤和中断服务例程中添加一些打印语句,以查看程序的执行流程。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
2000 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1782 浏览 1 评论
1248 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
825 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1800 浏览 2 评论
2032浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
942浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
340浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
684浏览 3评论
668浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 03:17 , Processed in 1.837001 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191