[APM32F0] OSCIN/OSCOUT配置为普通IO PA1 PA2使用,异常

[复制链接]
 楼主| Fanexs168 发表于 2022-10-12 14:32 | 显示全部楼层 |阅读模式
问题背景
客户期望把外部HXT晶振输入脚OSCIN/OSCOUT配置为普通IO PA1 PA2使用,但实测发现无法生效。示波器检测PA1 PA2波形,发现电平持续为2V左右的高电平,猜测是受到(HXT_EN)HSE_EN的置位影响。

    1.png

实测
  • 调用RCM_DisableHXT()或者在SystemInit()里清除RCM->ECC寄存器值都没效果。
  • 表现为——上电后HXTEN就已经置1。
  • 擦除用户APP Flash程序后,PA1 PA2还是维持2V高电平,且此时demo板的外部HXT 16MHz晶振已经拆除。

    2.png
    3.png
    4.png

解决方案:
  • 了解发现,F003芯片,受出厂配置选项字的影响,一般默认HXTEN置位开启
  • 如需要关闭HXTEN,需要单独清除选项字,然后进行复位操作——推荐在程序最开始的初始化先执行这段代码


    5.png
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();//操作完选项字后,进行系统软件复位
}

bestwell 发表于 2022-11-2 19:55 | 显示全部楼层
OSCOUT脚怎么配置成IO  
wilhelmina2 发表于 2022-11-2 20:24 | 显示全部楼层
肯定可以当IO使用,只是不要使能HSE。
rosemoore 发表于 2022-11-2 20:56 | 显示全部楼层
在IO引脚资源紧张的情况下,我们可能需要将 OSCIN 、 OSCOUT 引脚作为普通的GPIO使用。
 楼主| Fanexs168 发表于 2022-11-3 10:17 | 显示全部楼层
bestwell 发表于 2022-11-2 19:55
OSCOUT脚怎么配置成IO

当做普通GPIO一样初始化配置就行,不需要额外复用配置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

17

主题

103

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部
认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

17

主题

103

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部