首页 » 科学 » 【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用

【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用

南宫静远 2025-01-10 01:53:08 0

扫一扫用手机浏览

文章目录 [+]

在代码里面实行下面这一句,调试器将不能正常的连接,IDE工具会显示无法进入调试模式的缺点

Chip_SWM_EnableFixedPin(SWM_FIXED_ACMP2_I4);

【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用 【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用 科学

这个时候要想连续调试,就要全部擦除Flash,让其规复会默认值,重新烧录才可以连续调试

【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用 【避坑指南】LPC1549JBD64使能ISP引脚为其他功能调试异常_引脚_复用 科学
(图片来自网络侵删)

这是为什么呢?

从开始的图中可以知道,在LQFP64的封装里,PIO1_9是ISP_0和ACMP的复用引脚,要设法主意式复位后精确进入flash,就必须担保ISP_0和ISP_1都是高电平,在变成ACMP后,PIO1_9就处于低电平的状态,这时候就不是进入的flash启动。

我以为奇怪,我以往用过的MCU,引脚复用都会MCU复位后规复成默认值,然后程序运行时再修正成其他功能,难道SWM(Switch Matrix开关矩阵,处理引脚复用)的设置不会自己规复成默认值吗?

抱着这个想法,我找了关于SWM的先容,然后就创造了一个细节

只有在POR或BOD复位之后才复位SWM。
这意味着,一旦在SWM设置后,除非发生POR或BOD复位,否则仿照引脚“ACMP2_I4”将保持(不复位为GPIO引脚)

我们平时在debug时,一样平常都是MCU先上电,以是它的复位实在既不是POR也不是BOD复位,以是引脚的状态就会在第一次上电的时候改成了ACMP,这时候调试器就不能进入flash了

以是建议对这个引脚的复用功能还是慎用,如果非要用这个管脚的复用功能,上电前保持 ISP 拉低后,再将电源重新上电(有断电的过程,一定要有POR才行)可以成功启动调试会话。
按照下图的启动流程,在上电前保持这个ISP引脚的状态,它会进入ISP模式(内部的boot模式),由于没有ISP命令会超时,boot超时往后会自动跳转到Flash。

参考文档:

1.https://www.nxp.com.cn/docs/en/data-sheet/LPC15XX.pdf

标签:

相关文章