Other Parts Discussed in Thread: MSPM0L1306, SYSCONFIG
MSPM0L1306在低温-40度不能启动,,担心可能是单片机运行频率的问题,用的是单片机的内部晶振,ROSC接了一个100K,25PPM的电阻,请问怎么设置单片机的运行频率?就是上电设置单片机运行频率的代码,想让单片机在低频率下运行看看,比如是设置为4MHZ的运行频率,急,谢谢了!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MSPM0L1306在低温-40度不能启动,,担心可能是单片机运行频率的问题,用的是单片机的内部晶振,ROSC接了一个100K,25PPM的电阻,请问怎么设置单片机的运行频率?就是上电设置单片机运行频率的代码,想让单片机在低频率下运行看看,比如是设置为4MHZ的运行频率,急,谢谢了!
那你们至少告诉设置运行频率的子函数名称?还有这个子函数怎么设置也行?麻烦用你们的代码告诉一下,谢谢。
Would you please tell me the code of how to set the 4MHZ, about the MSPM0L1306, we don't know how to write the code, we don't know how to set the SYSOSC and MCLKCFG, please ,thank you very much.
Would you please tell me the code of how to set the 4MHZ, about the MSPM0L1306, we don't know how to write the code, we don't know how to set the SYSOSC and MCLKCFG, please ,thank you very much.
Would you please tell me the code of how to set the 4MHZ, about the MSPM0L1306, we don't know how to write the code, we don't know how to set the SYSOSC and MCLKCFG, please ,thank you very much.
你好,我们测试过,就在程序的开头加入了这一句 DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_4M);
然后我们做了一个用延时做的LED程序,如下:
DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_5_PIN);
delay_cycles(180000000);
DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_5_PIN);
结果发现LED的闪烁时间没有变化。
===================================
然后,我又改了一下系统时钟的设置, DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE); 这个应该是改为32M的??
然后再下载程序,看LED的闪烁时间,发现还是没有变化。
所以,请问一下你,要设置这个系统时钟,除了DL_SYSCTL_setSYSOSCFreq这个函数,是否还要设置其他寄存器?还需要做什么设置?
麻烦了,谢谢。
在将时钟从32M更改为4M之前,请确保您已禁用MDIV。
DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE);
谢谢,那请问整个设置代码是这样写吗?就是先禁用,然后再使能?
DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE);
DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_4M);
DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_ENABLE);
请使用下面的两行代码进行尝试。我已经从我身边进行了测试,它奏效了。
DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE);
DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_4M);