|
我有两块学习板2274和169,分别外扩flashat 45db041,在2274上使用正常,但在169的学习板上就始终不行,我刚刚接触msp430和spi很多问题不懂,boss又催得急,我特别着急,做梦都想着,请各位大虾拔刀相助,感激不尽。我觉得应该是单片机的spi我初始化的不对,但是我又实在看不出是哪不对,折磨了好几天..因为at45db那面都是一样的。
2274的初始化:
void Init_spi(void)
{
P3SEL |=BIT0+BIT4+BIT5; //p3.4为TX,P3.5为RX,P3.0为UCA0CLK
P3DIR |=BIT4+BIT3; //P3.4为输出方向,p3.3为cs
UCA0CTL1 |=UCSSEL0; //时钟源选择32768晶振
UCA0CTL0 |=UCMST+UCSYNC+UCCKPL+UCMSB; //spi主机模式,spi通讯,时钟极性选为高电平无效,选择最高有效位先发
UCA0BR1=0; //32768/1200=27.3
UCA0BR0=27;
UCA0MCTL=0;
UCTL0&=~SWRST;//SWRST复位,USART允许
}
169的初始化:
void SPI_Init()
{
UCTL0&=~SWRST;//SWRST复位,USART允许
UCTL0=CHAR+MM+SYNC;//spi主模式,8位数据
UTCTL0=STC+SSEL0+CKPH;//32KHZ晶振为时钟源,3线SPI
UBR00=0x0;//波特率分频因子为2
UBR10=0x27;
UMCTL0=0x0;//位调整
ME1=USPIE0;//SPI0模块允许
P3SEL|=0x0e;//P3.0~P3.3被模块占用
P3DIR=0x1A;//P3.1(SIM0),P3.3(UCLK)p3.4为cs设为输出模式
}
|
|