项目场景:
提示:这里简述项目相关背景:
野火的STM32F407核心板与我自制的驱动板连接,分别输出方向信号(DIR)、使能信号(EN)、时钟信号(CLK)、细分数(M1,M2,M3)共6个GPIO口。
驱动板的光耦隔离是上拉电阻接+5V,输入要求高电平不低于4.5V。这里所有的IO口都设置为开漏输出。
问题描述
提示:这里描述项目中遇到的问题:
由于其中一个端口电平只能输出到3.3V,导致电机无法被驱动,但其余端口都能够输出符合要求的高电平,且在下载烧录程序时显示“SWD/JTAG communication failure”。
原因分析:
提示:这里填写问题的分析:
SWD/JATG端口问题。
解决方案:
提示:这里填写该问题的具体解决方案:
- 参考网上搜到的办法,在魔术棒里将DAP设置为ANY,connect设置为under Reset,即可正常烧录;
- 其实这里的主要原因是,输出端口中有一个端口占用了SWD的一个引脚,导致无法烧录,且按方法1烧录后电平只能输出到3.3V,解决方法是换一个未被使用的IO口,SWD的引脚在reset之后即可恢复,接下来只要程序没有问题,输出即可正常。