现象:
MCU上电复位正常时, LDO_CAP脚 输出 约1.8V(内部供电)
MCU不正常时,LDO_CAP脚 输出 仅 650mV
环境:
MCU 5V供电正常,由7805降压过来,7805输入12V;
电源滤波电容在 VDD脚附近
RC复位电路参考手册的电路,10K 10uF
LDO_CAP外接 10uF,距离MCU近
测试:
用BSP自带的demo,仅开启IRC_22M,一个GPIO口,用于LED闪烁,其他都没启用
用旧版BSP V1.0.06 也会出现LDO_CAP只有650mV
用新版BSP V2.0 也会出现LDO_CAP只有650mV
请教高手,出现此问题有哪些可能
附测试代码:
void SYS_Init(void)
{
SYS_UnlockReg();
/* Enable IRC_22MHz */
SYSCLK->PWRCON &= ~(SYSCLK_PWRCON_XTLCLK_EN_Msk);
SYSCLK->PWRCON |= SYSCLK_PWRCON_IRC22M_EN_Msk;
/* Waiting for 12MHz clock ready */
SYS_WaitingForClockReady(SYSCLK_CLKSTATUS_IRC22M_STB_Msk);
/* Switch HCLK clock source to XTAL */
SYSCLK->CLKSEL0 &= ~SYSCLK_CLKSEL0_HCLK_S_Msk;
SYSCLK->CLKSEL0 |= SYSCLK_CLKSEL0_HCLK_IRC22M;
/* Update System Core Clock */
SystemCoreClockUpdate();
SYS_LockReg();
}
void LED_Init(void)
{
_GPIO_SET_PIN_MODE(P3,2,GPIO_PMD_OUTPUT);
P32 = 1;
}
int32_t main (void)
{
uint32_t u32i;
SYS_Init();
LED_Init();
while (1)
{
for (u32i=0;u32i<0x0001FFFF;u32i++)
{
P32 = 0;
}
for (u32i=0;u32i<0x0001FFFF;u32i++)
{
P32 = 1;
}
}
} |