摘要:2.2串行口的初始化单片机的SPI初始化包括:把相应的I/O口配置成具有SPI特殊功能的接口,时钟模式的选定,波特率的选择,发送接收数据长度的选择,内部相对应的时钟使能。所有设置都是通过设计相对应的SPI控制寄存器实现的[5].初始化程序如下:WDTCTL=WDTPW+WDTHOLD;//关闭看门狗BCSCTL1=RSEL0+RSEL1+RSEL2;//XT2onBCSCTL
2.2 串行口的初始化
单片机的SPI初始化包括:把相应的I/O口配置成具有SPI特殊功能的接口,时钟模式的选定,波特率的选择,发送接收数据长度的选择,内部相对应的时钟使能。所有设置都是通过设计相对应的SPI控制 寄存器实现的[5].
初始化程序如下:
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on
BCSCTL2 = SELM1 + SELS;//选择高速晶体振荡器作为时钟源
UCTL1=CHAR + SYNC + MM + SWRST;//SPIZ主模式8位数据,单片机作为主动模式
UTCTL1=STC+SSEL1+CKPL ;//数据在下降沿输出,系统主时钟,三线模式
UBR01=0x02;
UBR11=0x00;//波特率设为fclk/2
UMCTL1=0x00;
ME2=USPIE1;//模块使能2
P5SEL|=0x0F;//低4位为模块端口功能
P5OUT|=0xf0;
UCTL1&= ~SWRST;//复位结束
2407A的SPI初始化与单片机的初始化相类似,但是DSP作为从器件,所以其波特率由主器件决定不需要再进行设计。
2.3 MSP430发送数据
系统具有薄膜按键和液晶显示,可以方便地在需要的时候发送数据。比如,在设计完参数后就会出现一个选择界面,让操作者选择是进行参数保存、参数备份还是传递参数给DSP,操作者可以根据自己不 同的需要选择相应的功能。如果选择参数传递功能,则单片机会跳到相应的程序段执行参数传递的任务。发送数据程序如下:
P5OUT &= 0x1f;//片选DSP芯片
while((U1IFG & UTXIFG1) != UTXIFG1);
for(k=0;k<6;k++) {//传输的数据个数
P5OUT &= 0x1f;
while((U1IFG & UTXIFG1) != UTXIFG1);
TXBUF1=a[k];//发送数据
while((UTCTL1&0x01)==0);//发送完成
delay(10);
P5OUT &= 0x2f;
}