[经验] MSP430FR5969 配置16MHz DCO跑不起来的解决办法

littleshrimp   2015-6-18 13:26 楼主
之前遇到过MSP430FR5969如果配置成16MHz的DCO程序跑飞的情况,今天再次遇到,找到原来的解决办法拿出来给有需要的朋友。
MSP430FR5969的最高主频可达到16MHz,铁电存储器在MCLK主频在高于8MHz时需要对FRCTL0寄存器的NWAITS(Wait state control. Specifies number of wait states (0to 7) required for an FRAM
access (cache miss). 0 implies no wait states.)处进地配置
在官方例程msp430fr59xx_cs_02.c里有这样一段代码
  1. // Configure one FRAM waitstate as required by the device datasheet for MCLK
  2. // operation beyond 8MHz _before_ configuring the clock system.
  3. FRCTL0 = FRCTLPW | NWAITS_1;
把这段代码放在配置DCO之前就可以正常使用16MHz DCO了。
  1. void dco_init(void)
  2. {
  3. // Configure one FRAM waitstate as required by the device datasheet for MCLK
  4. // operation beyond 8MHz _before_ configuring the clock system.
  5. FRCTL0 = FRCTLPW | NWAITS_1;
  6. // Clock System Setup
  7. CSCTL0_H = CSKEY >> 8; // Unlock CS registers
  8. CSCTL1 = DCORSEL | DCOFSEL_4; // Set DCO to 16MHz
  9. CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; // Set SMCLK = MCLK = DCO,
  10. // ACLK = VLOCLK
  11. CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers
  12. CSCTL0_H = 0; // Lock CS registers
  13. }
本帖最后由 littleshrimp 于 2015-6-18 13:29 编辑
虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复评论 (6)

谢谢分享!
点赞  2015-6-18 13:29
引用: maylove 发表于 2015-6-18 13:29
谢谢分享!

应该做的,只是论坛发贴微微有点不方便!
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2015-6-18 13:30
最近想入手一块MSP430FR5969的launchpad,想请问一下这个能直接用USB下载程序,调试吗??还是需要像J-LINK那样的调试器???谢谢
点赞  2015-6-21 16:29
引用: SKETCH 发表于 2015-6-21 16:29
最近想入手一块MSP430FR5969的launchpad,想请问一下这个能直接用USB下载程序,调试吗??还是需要像J-LINK ...

msp430使用msp430uif仿真,FR5969的launchpad已经集成了msp430uif仿真器。插上电脑装好驱动就可以在IDE里调试。
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2015-6-23 08:45

顶顶顶

点赞  2020-7-27 09:38

谢谢,分享,很有用。

点赞  2020-7-27 22:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复