430的spi问题!!!!!
下面是我编的msp430同步spi通信的接收程序(中断程序我没写上来),运行以后收不到数据,用示波器测uclk,发现是未知信号,改为另一模块,也是同样的毛病。经测试,我的时钟信号都是好的,郁闷死了~~~有没有高手做过类似的程序,帮我看一下,不胜感激!
#include <msp430x14x.h>
void Init(void);
void CLK_INIT(void);
//******时钟初始化*******//
void CLK_INIT(void)
{
WDTCTL=WDTPW+WDTHOLD;
BCSCTL1&=~(XT2OFF+XTS); //启动XT2晶振,ACLK为XT1
BCSCTL2|=SELM1; //MCLK为XT2,不分频
BCSCTL2&=~SELS; //SMCLK为DCO
do
{
IFG1&=~OFIFG;
for(i=0xFF;i> 0;i--);
}
while((IFG1&OFIFG)==OFIFG);
}
//******spi模块初始化******//
void Init(void)
{
UCTL0&=~SWRST; //USART允许
UCTL0=0x16; //SPI主模式,8位数据
UTCTL0=0x92; //选择辅助时钟aclk,3线模式
U0BR0=0x02; //2分频
U0BR1=0x00;
UMCTL0=0x00;
ME1|=USPIE0; //SPI0模块允许
P3SEL|=0x0f; //P3.0-P3.3为模块占用
P3DIR|=0x0a; //P3.3(UCLK)输出
IE1|=URXIE0; //接受中断允许
}
void main(void)
{
CLK_INIT(); //时钟初始化
Init(); //ads8325初始化
_EINT(); //开总中断
while(1); //等待接收数据
}
发表时间:2006年6月27日20:34:13