TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430G2955 内部时钟问题

Other Parts Discussed in Thread:MSP430G2955, MSP-GANG

我现在使用MSP430G2955, 使用内部时钟,发现有些芯片正常, 有些芯片时钟不对, 时钟使能串口,不正常的串口接收数据错误,但是能收到数据! 暂时就是只用了定时器及串口,请问有什么因素影响这些参数

Susan Yang:

请问您是否有使用TI例程来测试一下呢?结果如何?

dev.ti.com/…/node

“ 使用内部时钟,发现有些芯片正常, 有些芯片时钟不对,”

能否请您详细说明一下呢?另外您的芯片是在何处购买的呢?

,

user4498892:

if (CALBC1_8MHZ==0xFF)// If calibration constant erased{while(1);// do not load, trap CPU!! }
不正常的,这个地方不能通过,请问是什么造成的?

,

Susan Yang:

请您不要对information memory segA 和 segB进行操作,里面留有TLV和DCO校准时钟。

在示例代码中一般会有下面的语句

if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)

{
while(1);// If calibration constants erased
// do not load, trap CPU!!
}
BCSCTL1 = CALBC1_1MHZ; // Set range
DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */

在启动时都先检查DCO1MHZ的校准值是否为0xFF,是则进入while(1)死循环。

若是DCO数据被擦除,一般的解决办法有两种

1 利用Timer捕捉外部的32.768K晶振或是时钟源,然后得到1M,8M或是12Mhz之类的DCO的数值,然后在直接写入segment flashA里面

2 可以通过类似于MSP-Gang之类的工具,它具有校正DCO的功能选项

在下面的链接也有相关的例程

dev.ti.com/…/node

此代码重新编程F2xx DCO校准常数。一种软件FLL机制用于根据外部设置DCO32kHz参考时钟。每次校准后,会读取时钟系统并将其存储在一个临时变量中。

另外请您检查CCS工程, Properties ->TI Debug Settings -> Target -> Download Options. 您可能选择了 "erase main andinformation memory".

,

user4498892:

谢谢! 确实被烧了!

,

Susan Yang:

谢谢您的反馈!

赞(0)
未经允许不得转载:TI中文支持网 » MSP430G2955 内部时钟问题
分享到: 更多 (0)