个人感觉TI做的这块430就是一坨屎,内部时钟根本不稳,而且连datesheet都没有,但作为比赛指定的东西我们还是学了,这个连51都不如的16位单片机费了我四天时间把内部的模块给调了一遍,但是我调IIC时一直调不出来连时钟都没有,估计是做这块垃圾是连这个模块都没有吧,而且还写的那么复杂,连份像样的技术文档都没有,看的是别的技术文档,真是蛋疼无比,好了牢骚就发这么多,下面开始讲讲这块片子。
首先介绍下MSP430G2553的时钟,这块芯片的时钟源是四个,时钟线是4个;时钟源我们就不说了,一般都是默认的选择内部的DCO作为时钟源,然后通过一系列的嫁接到MCLK SMCLK上,至于为什么这块芯片上不用锁相环的问题我深表不解,这个解释看来只有TI知道,是要低功耗呢,还是因为成本呢?建议大家以后学就学M3内核的STM32吧,低功耗而成本低还很稳。
至于MSP430的时钟寄存器的配置呢,看看内部的时钟图后我们就理解,其实只要配置两个寄存器DCOCTL BCSCTL1
这两个配置的值我还是在一份不知道什么时候的文档里面找到的,DCOCTL中的7-5位是频率选择,后面5位是调节器;BCSCTL1的低4位是频率范围的选择。下面贴出来时钟的配置贴图,如图1

图1 时钟选择图
这块芯片上的时钟你只能配置4M左右,大了都不稳,时钟的信号就是正弦了,你可以通过P1.4脚配置成时钟观察。
时钟介绍结束。
下面说说这块芯片的IO功能,这块芯片管脚只有20个,但是为了实现复杂的功能,所以这块芯片有芯片引脚功能选择寄存器(以P1口为例,P2是一样的,只是里面的P1改为P2),P1SEL P1SEL2;和其他芯片一样这块也有芯片的方向寄存器P1DIR,输入寄存器P1IN,输出寄存器P1OUT,上拉下拉使能寄存器P1REN,寄存器就这些,但是要注意的是输出寄存器P1OUT,这个寄存器在管脚配置成输入时是用于选择上拉下拉电阻的极性的。下面介绍功能:
P1DIR :每位对应一个管脚
0 输入
1 输出
P1OUT : 每位对应一个管脚