作业帮 > 综合 > 作业

MSP430 5438时钟问题

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/15 13:27:25
MSP430 5438时钟问题
UCSCTL1 = DCORSEL_2;
UCSCTL3 |= SELREF_2;
UCSCTL4 = SELM_3 + SELA_2 + SELS_4; 怎么就设置频率了?
MSP430 5438时钟问题
如果自己想弄明白还是需要看MSP430F5438的datasheet和msp430x54x.h
第一条语句是选择DCO的频率范围.
第二条语句是选择默认时钟源REFOCLK.
第三条语句:SELM_3 代表MCLK选择DCOCLK作为时钟,SELA_2代表ACLK选择REFOCLK,SELS_4代表SMCLK的时钟选择DCOCLKDIV.
在datasheet的67页到76页有详细的系统时钟寄存器的各个比特位的意义,可以看看.
再问: 我有英文版的用户指导,读不大懂。我能通过寄存器找到对应的选择,但是各个频率怎么弄得?下面是实验要求,DCOCLK=1M吗? [ 实验要求 ]  1、编程要求:利用C 语言完成SMCLK,MCLK,ACLK 按指定频率进行输出, FLL+源自 RERO。  2、实现功能:ACLK = REFO,MCLK = ~2MHz,SMCLK = ~1MHZ。
再答: 系统默认的时钟选择是SMCLK,MCLK选择DCOCLKDIV为默认时钟。默认情况下DCOCLKDIV=DCOCLK/2。所以你上面的语句基本实现了要求,那么剩下的就是调整一下DCOCLK的频率为2MHz就好了。 默认的DCOCLK大约在2MHz,如果向精确的调整,那么就设置UCSCTL1和UCSCTL2. 你说你读不太懂,我感觉只是你的心有点浮躁,不想读,要不然,一遍不懂可以两边,真正懂了做的实验才有意义。