如题,块板子上面的是有源晶振。用示波器也看了,频率是32.768Hz. 使用CS_LFXTCLK_SELECT作为ACLK的时钟源然后在程序里面读取ACLK,发现并不是32768,而是39062.不知道大家有没有遇到过这个问题。
这个是我程序的时钟设置
- void SysClockInit(void)
- {
- GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_PJ,GPIO_PIN4+ GPIO_PIN5,GPIO_PRIMARY_MODULE_FUNCTION);
- GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_PJ,GPIO_PIN6 + GPIO_PIN7,GPIO_PRIMARY_MODULE_FUNCTION);
-
- // Set DCO frequency to 1 MHz
- CS_setDCOFreq(CS_DCORSEL_0, CS_DCOFSEL_0);
- CS_setExternalClockSource(32768, 16000000);
-
- CS_initClockSignal(CS_ACLK, CS_LFXTCLK_SELECT, CS_CLOCK_DIVIDER_1); //Set ACLK=LFXT
- CS_initClockSignal(CS_SMCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_2);//SMCLK=16M/2=8M
- CS_initClockSignal(CS_MCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);
- CS_turnOffLFXT();
- CS_bypassLFXT(); //工程版上的
- }
复制代码
此帖出自
小平头技术问答
一周热门 更多>