STM32开发问题总结

STM32开发问题总结

   嵌入式开发难免遇到各种坑,总结一下之前遇到的各种坑~,持续更新中

STM32发热严重

   在使用STM32时,芯片发热严重,很烫手,而且集中在芯片的某一块区域。但奇怪的是,程序可以正常运行。
   分析与解决: 很有可能是某个引脚被击穿了导致的,建议换一块芯片。

舵机抖动问题?

   在使用STM32控制12V舵机(通过3S电池直接供电)运动,舵机出现抖动?可能原因是供电电压不足,低于12V就容易出现抖动。博主还遇到过,一旦舵机出现抖动,再利用文件系统打开文件时,SD卡会出错,直接导致STM32卡住。
   分析与解决: 提高供电电压。

STM32使用无线模块时,时好时坏

   STM32使用无线模块,例如蓝牙,RF200等,与上位机进行通讯,有时候数据可以顺利发送和接收,有时候无法传输数据,时好时坏。可能原因是供电不足。博主在3S锂电池上接了一个稳压模块7.4V给舵机供电,然后另一个稳压模块5V给STM板子供电(板子内置5-3V转压),然后使用无线模块就出现以上情况,将7.4V稳压模块撤了,通讯就正常了。 其次,对于RF200这种需要天线的模块,最好装上天线!
   分析与解决: 检查供电是否正常,电池是否有电。

STM32写入代码后会卡住,需要重新断电,上电才可以运行

   检点芯片的Boot0和Boot1是否连接正确。其次可能的是,如果通过USB给板子供电,同时该USB又是串口的通讯线,如果在打开串口【特指上位机串口:此情况是串口通讯用的有线连接】的情况下,进行代码下载,则会出现该情况。
   分析与解决: 检点芯片的Boot0和Boot1;下载代码的时候关闭串口。

STM32代码中某个变量值自动改变

   在STM32开发中时,代码中的某个变量 突然自动变化,博主遇到过是一个结构体的一个变量数值自动改变(PS:这个可以通过debug分析出来)。
   分析与解决: 可能是内存溢出的问题,即内部的代码复杂,定义的变量(尤其是静态变量过多),导致内存溢出;建议在使用该变量前重新赋值,或者减少静态变量的定义(推荐后一种)。

舵机摆动幅度不对

   舵机没有按照期望的运动进行摆动(PS:尽管舵机是一种位置伺服电机,但还是能用来做类似速度模式的运动),例如,设定舵机按照某个特定的幅值做正弦摆动,但是频率一高,舵机振幅很小,甚至不动。
   分析与解决: 很有可能舵机的电流不足(可能使用了某个电流值较小的稳压模块给舵机供电),建议直接电池供电(与舵机电压匹配),或者使用电流值更大的稳压模块。

电路板突然不工作,LED不亮

   STM32电路板突然不工作,LED不亮。
   分析与解决: 首先单独检查一下电源,是不是供电正常(一没注意,电池过放了);如果电池供电正常,就得排查电路板是不是烧了。

ADC采样值不对

   STM32ADC采样值不对,而且基本稳定不变。
   分析与解决: 首先,查看ADC的驱动代码有没有问题。其次,如果确认代码没有问题的话,检查芯片的参考地和参考电压VREF ( 注:有些STM32芯片内部已经设置好了,不支持外部设置参考地和参考电压VREF,主要是封装引脚少的芯片;有些只支持设置参考电压VREF,例如STM32F407ZGT6;有些均支持设置)。然后,看看待采样的电压和芯片的通道对应的引脚是否连接好了,是否硬件连接的引脚和代码中的使用的通道是对应的。最后,可能是芯片虚焊导致的(这个博主遇到过~),可以重新焊接一下,如果还是不行,建议直接更换板子。

Error: Flash Download failed - Target DLL has been cancelled

   使用SWD下载,同时连接了STlink,报错,原因是端口占用。
   分析与解决: 将STlink拆了,尽管STlink没有连接到PC,同样会造成端口占用,也得拆了。

通讯有时候不成功,有时候成功

   因为读取欧拉角的时间略微有点长,因此开始想着让这个放到临界区(freertos),能够保证IMU读取的是同一时刻的值,但是…但是,一旦这样做,那么在这段时间内就不会进行任务切换。恰好在这段时间内如果主动的发送上位机的信号,就有可能信号无法处理,导致信号接收不到,这就导致了通讯有时候不成功,有时候成功。

taskENTER_CRITICAL();           //进入临界区	
mpu_dmp_get_data(&pitch,&roll,&yaw);                       //读取欧拉角
taskEXIT_CRITICAL();            //退出临界区

   分析: 直接去掉临界区!!!

//taskENTER_CRITICAL();           //进入临界区	
mpu_dmp_get_data(&pitch,&roll,&yaw);                       //读取欧拉角
//taskEXIT_CRITICAL();            //退出临界区

STM32程序下载成功后,板子卡死

   STM32程序下载成功后,板子卡死,尽管在keil里面设置了Reset and Run
   分析与解决: 可能由于板子是通过USB用电脑供电,同时USB还是串口收发线,且上位机串口的端口已经打开。这时候只要在上位机中关闭串口即可。

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STM32开发手册英文是一本非常有用的书,其中包含了STM32处理器的许多重要信息以及开发方面的相关内容。这本书主要分为三个部分:芯片介绍、软件开发以及应用案例。 芯片介绍部分主要介绍了STM32处理器的架构、特点、性能参数、引脚定义、寄存器功能等方面的内容。这部分内容对于了解STM32处理器的特点和使用方法非常重要,开发者可以根据这些信息选取合适的处理器型号并设计合适的硬件电路。 软件开发部分包含了Keil和STMCubeMX等几种常用的软件开发工具的详细介绍,并给出了基于这些工具开发STM32应用程序的详细步骤。此外,还涉及到了中断、定时器、USART、CAN、ADC、DMA等常用的外设驱动程序开发方法,以及相应的应用实例。这部分内容对于STM32系统软件开发人员非常有帮助。 应用案例部分包括了STM32在工业、通信、汽车、医疗等多个领域的应用实例。这部分内容展示了STM32处理器在实际应用中的灵活性和优越性能,对于开发者了解STM32的广泛应用领域也非常有帮助。 总之,STM32开发手册英文是一本非常重要的书,无论是初学者还是有经验的开发人员都应该掌握它。 ### 回答2: STM32开发手册英文是一份关于STM32芯片的详细介绍和应用指导手册。该手册主要分为三部分:开发环境的搭建、STM32系列的介绍和示例程序的讲解。 在开发环境的搭建章节中,手册详细介绍了Keil、IAR和Eclipse等三种开发工具的安装和配置方法,帮助开发者快速入门STM32开发。 在STM32系列的介绍章节中,手册详细介绍了STM32的主要特点、硬件架构和外设资源,同时详细介绍了STM32各个系列的特性和区别,让开发者能够根据自己的需求选择适合自己的芯片。 在示例程序的讲解章节中,手册给出了一系列经典的STM32示例程序,例如GPIO、定时器、中断、USART等,这些实例程序的编写为开发者提供了一个很好的学习参考和模板。 总之,通过阅读STM32开发手册英文,开发者不仅可以了解到STM32系列芯片的特点和应用,还能够学习到STM32开发的基本原理和方法,是一本不可多得的STM32开发指南。 ### 回答3: STM32开发手册是呈现STM32系列微控制器详细技术规格和软硬件开发的指南,提供的英文材料包含全面的技术文档和实例工程代码。手册介绍如何使用STM32系列芯片构建简单的电路板或完整的设备,以及如何使用开发工具和主流框架及开源库进行开发。手册为开发人员提供了一种清晰而深入的了解STM32系列芯片特性,并提供必要的支持和知识,以便他们设计和开发应用程序,实现高性能、低功耗的产品。 在手册中,包含了硬件范本电路和标准接口说明,支持第三方IC和传感器,以帮助开发人员快速实现他们的开发目标。此外,该手册也详细介绍了芯片的专业开发器件和工具包,并提供主流开源库示例程序,使开发人员可以使用C语言、ARM处理器编程技术来实现代码编写。 总结来说,STM32开发手册英文提供了全面且深入的技术文档和示例程序,帮助开发人员使用STM32系列芯片进行开发设计,并达到高安全性、可靠性、可扩展性和性价比要求。无论是新手还是专家,都可以在该手册中获得所需的应用支持和技术帮助,以更有效地开发出高质量的产品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cuntou0906

玛莎拉蒂是我的目标!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值