问答

汇集网友智慧,解决技术难题

21ic问答首页 - GD32F105RCT6 64脚 时钟旁路模式, PD1引脚重映射

GD32 单片机 MCU

GD32F105RCT6 64脚 时钟旁路模式, PD1引脚重映射

如题,我将GD32F105RCT6的外部时钟设置为旁路模式后,开启OSCOUT的重映射功能,想要将PD1映射到这个引脚上。程序下载进去后无法没跑起来,并且下次再下载程序时,需要按2次复位按键。同样的程序在STM32F105RCT6中是可以实现的。初始化代码如下望哪位朋友解答下。
void GpioInit(void)
{
    __HAL_AFIO_REMAP_PD01_ENABLE();
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = GPIO_PIN_1;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET);  //OUT12_PIN=H_Level   控制EN12脚  2# 反馈信号
}
回答 +关注 15
6840人浏览 11人回答问题 分享 举报
11 个回答
  • 同问,调试时必应要开启  RCU_CTL |= RCU_CTL_HXTALEN;//RCU_CTL_HXTALBPS  RCU_CTL_HXTALEN  外部高速时钟使能,RCU_CTL |= RCU_CTL_HXTALBPS 只开旁路时钟使能,无法达到时钟稳定导致程序卡住在等待时钟。同时出现调试工具无法连接的情况。猜测原因是没有时钟导致,请官方给一个标准旁路时钟配置
  • 首先确保您是否有正确配置外部时钟源,并且外部晶振的频率和电压符合要求。
    其次,您需要检查一下相关的设置,例如是否开启了输出重映射,是否正确配置了I/O口,是否有足够的上拉/下拉电阻等。
    如果这些问题都已经解决,您可以尝试更换芯片试试,以确定是否是芯片本身的问题。
    最后,您可以将代码放到debug模式下跑,看看是否可以找到问题的根源。
  • 有源晶振一般是四脚封装,电源、地线、振荡输出和一个控制端【或者悬空端】。相比无源晶体,有源晶振本身就是个完整的振荡器件,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。其时钟输出不依赖于外部器件振荡电路,相对更不容易受外部线路不稳定性的影响。自然其价格往往要高于无源晶体,不过其输出电平幅度往往不能像无源晶体那样随着应用电路的变化而变化。
  • 如果使用有源晶振作为外部时钟源的话,我们应该配置为HSE旁路模式,而不是HSE晶体模式。将有源晶振的输出脚接到MCU的OSC_IN脚。
  • 在什么情况下,我们需要用到旁路模式呢
  • 所谓HSE旁路模式,是指无需上面提到的使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号
  • 时钟旁路模式下必须提供外部时钟
  • 我知道时钟旁路 但是这个模式是什么意思呢
  • 不太明白楼主说的,帮你顶下吧
12下一页

您需要登录后才可以回复 登录 | 注册