CIU32F003全部引脚复用后,芯片无法识别
本帖最后由 骑着乌龟跑 于 2025-7-10 11:24 编辑问题1:CIU32F003全部引脚复用后,芯片无法识别,该如何解决?
问题2:CIU32F003 RST、SWDIO引脚复用为普通IO口后,接到相应复用引脚后,芯片无法识别,该如何解决?
这个问题可能是由于复用配置不当导致的,建议检查复用配置是否正确,特别是RST和SWDIO这两个关键引脚。
RST和SWDIO引脚复用为普通IO口后,仿真器没办法与目标MCU通信了吧?所以无法识别MCU了。GPIO资源这么紧张?这些特殊引脚都用上了。
复古留声机 发表于 2025-7-11 09:17
这个问题可能是由于复用配置不当导致的,建议检查复用配置是否正确,特别是RST和SWDIO这两个关键引脚。
...
方案为了准确评估芯片功耗,按照官方手册给的方法,实测功耗;将所有引脚配置为模拟输入模式,烧录程序后,芯片无法被二次识别。
void ALL_Peripheral_OFF(void)
{
std_gpio_init_t gpio_cfg = {0};
std_rcc_gpio_clk_enable( RCC_PERIPH_CLK_GPIOA|RCC_PERIPH_CLK_GPIOB|RCC_PERIPH_CLK_GPIOC);
gpio_cfg.pin = GPIO_PIN_All;
gpio_cfg.mode = GPIO_MODE_ANALOG;
gpio_cfg.pull = GPIO_NOPULL;
std_gpio_init(GPIOA, &gpio_cfg);
std_gpio_init(GPIOA, &gpio_cfg);
std_gpio_init(GPIOB, &gpio_cfg);
std_gpio_init(GPIOC, &gpio_cfg);
RCC->AHBEN = 0;
RCC->APBEN1 = 0;
RCC->APBEN2 = 0;
} dffzh 发表于 2025-7-11 10:11
RST和SWDIO引脚复用为普通IO口后,仿真器没办法与目标MCU通信了吧?所以无法识别MCU了。GPIO资源这么紧张? ...
如图,按照官方参考手册,可将特殊引脚复用到其他引脚;比如:给该寄存器NRST_SWD_MODE值为00,PC0为NRST,PB6为SWDIO;值为10时,PC0为GPIO,PB6为SWDIO;11时,PC0为SWDIO,PB6为GPIO。主要是利于硬件设计。 dffzh 发表于 2025-7-11 10:11
RST和SWDIO引脚复用为普通IO口后,仿真器没办法与目标MCU通信了吧?所以无法识别MCU了。GPIO资源这么紧张? ...
另外,该型号最大封装就是ttsop20的,何谈引脚之多?只是什么场合用什么片子,最大化利用其资源。 您好,尝试检查一下是否所有必要的引脚都正确配置了,特别是电源和时钟引脚。如果这些基本引脚没有正确配置,芯片可能无法正常工作。
上电后,不要立即将RST/SWDIO配置产普通IO,可以等500ms甚至1S后才配置。这样烧录器可以在配置前与MCU有机会连接上;或者自己设置某个IO的特殊功能,比如长按这个IO,可以将RST/SWDIO引脚从普通IO模式返原为默认模式 onemoren 发表于 2025-7-11 15:19
上电后,不要立即将RST/SWDIO配置产普通IO,可以等500ms甚至1S后才配置。这样烧录器可以在配置前与MCU有机 ...
谢谢答复,目前也是用这种方式解决的;但是我好奇普通配置就可以将特殊管脚正常配置,为什么还增加通过寄存器NRST_SWD_MODE?(值为00,PC0为NRST,PB6为SWDIO;值为10时,PC0为GPIO,PB6为SWDIO;11时,PC0为SWDIO,PB6为GPIO。) 你要问下厂家支不支持全部复用,你复用了不是原来功能了肯定识别不了 您好,芯片无法识别可能是因为复用配置不正确或者复用后没有正确配置引脚模式。请检查您的复用设置是否符合CIU32F003的数据手册要求。
页:
[1]