OSCIN/OSCOUT配置为普通IO PA1 PA2使用,异常
问题背景客户期望把外部HXT晶振输入脚OSCIN/OSCOUT配置为普通IO PA1 PA2使用,但实测发现无法生效。示波器检测PA1 PA2波形,发现电平持续为2V左右的高电平,猜测是受到(HXT_EN)HSE_EN的置位影响。
实测
[*]调用RCM_DisableHXT()或者在SystemInit()里清除RCM->ECC寄存器值都没效果。
[*]表现为——上电后HXTEN就已经置1。
[*]擦除用户APP Flash程序后,PA1 PA2还是维持2V高电平,且此时demo板的外部HXT 16MHz晶振已经拆除。
解决方案:
[*]了解发现,F003芯片,受出厂配置选项字的影响,一般默认HXTEN置位开启
[*]如需要关闭HXTEN,需要单独清除选项字,然后进行复位操作——推荐在程序最开始的初始化先执行这段代码
if(RCM->ECC_B.HXTEN == BIT_SET){//先判断HXEEN的置位与否,再选择执行擦除选项字的操作
FMC_Unlock();
if(((*(uint32_t*) 0x20400 >> 19) & 0x01 )==1){
FMC_EraseOptionByte();
FMC_ProgramOptionByte(0x20402, 0xF7);
}
FMC_Lock();
NVIC_SystemReset();//操作完选项字后,进行系统软件复位
}
OSCOUT脚怎么配置成IO 肯定可以当IO使用,只是不要使能HSE。 在IO引脚资源紧张的情况下,我们可能需要将 OSCIN 、 OSCOUT 引脚作为普通的GPIO使用。 bestwell 发表于 2022-11-2 19:55
OSCOUT脚怎么配置成IO
当做普通GPIO一样初始化配置就行,不需要额外复用配置
页:
[1]