之前在keil上烧录程序时,出现了一些错误,比如:ST-LINK Connection error,USB communication error,No target connected。
经过长久的探索,结合几个blog,总结出以下方法,有一定概率成功。
方法一、常规检查
首先检查对应接线是否接正确(SWDIO和SWCLK,3.3V接线一定要接对),杜邦线是否有松动,stlink是否接触不良,电脑CH340驱动有无安装…
如果移植程序的时候没有更改该程序使用的芯片,导致芯片类型不匹配,也会出现“No target connected”。
方法二、调试检查
还有可能就是,配置工程的debug选择的调试接口不正确。打开魔术棒,点击debug->点击debugger的setting,调整“Port”为“SW”。
还有一点需要注意,在该页的“Flash Download”里应将“Reset and Run”勾选上!
方法三、按reset下载
硬件和接线都没问题情况下,这时可能是SWD的引脚被占用(被禁用),ST-LINK自然无法通过SWD跟板子通信,所以才会提示"No Target connected"。
所以,按住reset,再点击"download",再松开reset。
方法四、BOOT0调整
图示单片机为野火指南者。图自野火技术客服。
方法五、CubeMX调整
这个方法对于使用HAL库的人来说很重要,也是最容易遗漏的。十分重要!!!
CubeMX的“Debug”一栏默认是"No Debug"的!烧录完第一次之后就会变得无法烧录(本人在不知道此事前一度多次无法烧录,以为是芯片烧坏了。还有就是每烧录一次都要退出程序,拔掉stlink和usb接口,再插回去和打开程序重新烧录,确实是不小的教训)。但是根据一些博主的探索,据说:如果已经生成工程了,可以通过修改特定部分代码即可。stm32f1xx_hal_msp.c文件中的HAL_Msplnit()函数中的__HAL_AFIO_REMAP_SWJ_DISABLE宏,根据需要修改即可。
本人还没有对此种方法进行试验,真假自辨。文章来源:https://www.toymoban.com/news/detail-680017.html
方法六、开摆
既然那么多方法都不行,那就串口下载好了。直接上指引图。
文章来源地址https://www.toymoban.com/news/detail-680017.html
到了这里,关于学习笔记3-No target connected解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!