BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
我查看了BCSCTL1是个8位的寄存器啊,但是查看CALBC1_1MHZ是 (0x10FFu),这是怎么给他赋值的呢?还有这两句话分别的意思是什么?
灰小子:
这两句是对dco 1MHz频率进行校准
430 hao:
回复 灰小子:
我也百度了一些,我理解就是通过这两句来操作DCO和RSEL位,使DCO的频率校准为1Mhz,是这个意思吗
430 hao:
回复 灰小子:
你好,我查了一下寄存器串口中CALBC1_1MHZ=0x86 CALDCO_1MHZ=0xE0
然后查了下寄存器的操作说明,就是DCO=6 RSEL=6 带入DCO的频率曲线图像,得出校正后的1MhzDCO输出
user1866843:
回复 灰小子:
Are you sure?!
Lina Lian:
430 hao ,
在MSP430G2553 Spec中有memory map,其中有Information Memory SegmentA区,其中放着芯片相关的校准数据,是出厂的时候就放在其中的。具体包括如下。
DCO是内部高频时钟,均是使用外部32768hz精准晶振校准过的,故需要设置为1, 8, 12,16Mhz时,可以直接将其校准值取出使用即可。此部分切记不要擦除,尤其使用Flash工具操作时,将Information区保留,不擦除。一旦擦除了,可以使用MSP-GANG重新写入校准数据,或者自己参考例程中的校准程序,将校准值写入,方便后续使用。
user1866843:
回复 Lina Lian:
Hi Lina
有一个问题,BSL读取操作在输入错误的Password后,会生成一次Mass Erase(使用BSL写入新程序前,常常会使用这种方法来批量清除原来的code),这个Mass Erase会不会对Information Memory Segment A进行擦除?
我在对G2553的BSL进行实验操作的时候,Information Memory Segment A无缘无故的清除了,不知道是不是这个步骤造成的。
(FR系列BSL 造成的Mass Erase并不会清除Segment A,这个我倒是已经确认了)
Lina Lian:
回复 user1866843:
Felix Jiang,
MSP430G2xx系列的BSL 属于Bootloader Protocol – 1xx, 2xx, and 4xx Families, 其对应的Mass Erase是擦除整个Memory的, main memory plus information memory,具体可以查看文档“MSP430™ Programming With the Bootloader (BSL) User's Guide”对应“2.4.4.4 Mass Erase ”。link如下。
http://www.ti.com/lit/ug/slau319l/slau319l.pdf
user1866843:
回复 Lina Lian:
这里面解释的很清楚,谢谢啦!
Lina Lian
Felix Jiang,
MSP430G2xx系列的BSL 属于Bootloader Protocol – 1xx, 2xx, and 4xx Families, 其对应的Mass Erase是擦除整个Memory的, main memory plus information memory,具体可以查看文档“MSP430™ Programming With the Bootloader (BSL) User's Guide”对应“2.4.4.4 Mass Erase ”。link如下。
http://www.ti.com/lit/ug/slau319l/slau319l.pdf