클록 주파수 구성 - DG32

클록 주파수 구성 - DG32

HXTAL: 고속 외부 클록, 4~32MHz 외부 발진기는 시스템에 정확한 메인 클록을 제공할 수 있습니다. 특정 주파수의 크리스털은 두 개의 HXTAL 핀 가까이에 배치해야 합니다. 크리스털에 연결된 외부 저항과 커패시터는 선택한 발진기에 따라 조정해야 합니다.

LXTAL: 저속 외부 클록, 32.768kHz 저속 외부 크리스털 또는 세라믹 공진기. 실시간 클록 회로를 위한 저전력 및 정확한 클록 소스를 제공합니다.

IRC8M: 고속 내부 클록, 고속 내부 8MHz 클록, 고정 주파수 8MHz 장치 전원을 켠 후 CPU에서 선택한 기본 클록 소스는 IRC8M 클록입니다.

IRC40K: 저속 내부 클록, 클록 주파수는 약 40kHz이며 독립적인 감시 타이머 및 실시간 클록 회로에 클록을 제공합니다.

IRC48M: USB 클록 또는 PLL 클록 소스로 사용할 수 있는 48MHz의 고정 주파수가 있습니다.

여기에 이미지 설명 삽입

내부 클럭 구성

void SystemInit (void)
{
  /* FPU settings */
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
#endif
    /* reset the RCU clock configuration to the default reset state */
    /* Set IRC8MEN bit */
    RCU_CTL |= RCU_CTL_IRC8MEN;						//打开内部8MHz RC振荡器
    while(0U == (RCU_CTL & RCU_CTL_IRC8MSTB)){  	//等待内部8MHz RC振荡器稳定
    }
    RCU_MODIFY(0x50);								//AHB时钟分频设置 先二分频再四分频
    
    RCU_CFG0 &= ~RCU_CFG0_SCS;						//00:选择 CK_IRC8M 时钟作为 CK_SYS 时钟源

#if (defined(GD32F30X_HD) || defined(GD32F30X_XD))
    /* reset HXTALEN, CKMEN and PLLEN bits */
	/*外部高速时钟使能位、HXTAL 时钟监视器使能位、PLL使能位 复位,方便后续操作*/
    RCU_CTL &= ~(RCU_CTL_PLLEN | RCU_CTL_CKMEN | RCU_CTL_HXTALEN);
    /* disable all interrupts */
    /*关闭中断位*/
    RCU_INT = 0x009f0000U;
#elif defined(GD32F30X_CL)
    /* Reset HXTALEN, CKMEN, PLLEN, PLL1EN and PLL2EN bits */
    RCU_CTL &= ~(RCU_CTL_PLLEN |RCU_CTL_PLL1EN | RCU_CTL_PLL2EN | RCU_CTL_CKMEN | RCU_CTL_HXTALEN);
    /* disable all interrupts */
    RCU_INT = 0x00ff0000U;
#endif

    /* reset HXTALBPS bit */
    RCU_CTL &= ~(RCU_CTL_HXTALBPS); //旁路模式位复位
    
    /* Reset CFG0 and CFG1 registers */
    RCU_CFG0 = 0x00000000U;
    RCU_CFG1 = 0x00000000U;
    /* configure the system clock source, PLL Multiplier, AHB/APBx prescalers and Flash settings */
    system_clock_config();
}

외부 시계

AHB 버스는 시스템 클럭의 1로 나누어지고,
APB1 버스는 시스템 클럭의 2로 나누어지며,
APB2 버스는 시스템 클럭의 1로 나누어집니다.

실시예 1
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
실시예 2
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
108=(8/2)*RCU_PLMUPLX
RCU_PLMUPLX=27

추천

출처blog.csdn.net/qq_45159887/article/details/131097934