摘要:2.2串行口的初始化單片機(jī)的SPI初始化包括:把相應(yīng)的I/O口配置成具有SPI特殊功能的接口,時(shí)鐘模式的選定,波特率的選擇,發(fā)送接收數(shù)據(jù)長(zhǎng)度的選擇,內(nèi)部相對(duì)應(yīng)的時(shí)鐘使能。所有設(shè)置都是通過(guò)設(shè)計(jì)相對(duì)應(yīng)的SPI控制寄存器實(shí)現(xiàn)的[5].初始化程序如下:WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門(mén)狗BCSCTL1=RSEL0+RSEL1+RSEL2;//XT2onBCSCTL
2.2 串行口的初始化
單片機(jī)的SPI初始化包括:把相應(yīng)的I/O口配置成具有SPI特殊功能的接口,時(shí)鐘模式的選定,波特率的選擇,發(fā)送接收數(shù)據(jù)長(zhǎng)度的選擇,內(nèi)部相對(duì)應(yīng)的時(shí)鐘使能。所有設(shè)置都是通過(guò)設(shè)計(jì)相對(duì)應(yīng)的SPI控制 寄存器實(shí)現(xiàn)的[5].
初始化程序如下:
WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門(mén)狗
BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on
BCSCTL2 = SELM1 + SELS;//選擇高速晶體振蕩器作為時(shí)鐘源
UCTL1=CHAR + SYNC + MM + SWRST;//SPIZ主模式8位數(shù)據(jù),單片機(jī)作為主動(dòng)模式
UTCTL1=STC+SSEL1+CKPL ;//數(shù)據(jù)在下降沿輸出,系統(tǒng)主時(shí)鐘,三線(xiàn)模式
UBR01=0x02;
UBR11=0x00;//波特率設(shè)為fclk/2
UMCTL1=0x00;
ME2=USPIE1;//模塊使能2
P5SEL|=0x0F;//低4位為模塊端口功能
P5OUT|=0xf0;
UCTL1&= ~SWRST;//復(fù)位結(jié)束
2407A的SPI初始化與單片機(jī)的初始化相類(lèi)似,但是DSP作為從器件,所以其波特率由主器件決定不需要再進(jìn)行設(shè)計(jì)。
2.3 MSP430發(fā)送數(shù)據(jù)
系統(tǒng)具有薄膜按鍵和液晶顯示,可以方便地在需要的時(shí)候發(fā)送數(shù)據(jù)。比如,在設(shè)計(jì)完參數(shù)后就會(huì)出現(xiàn)一個(gè)選擇界面,讓操作者選擇是進(jìn)行參數(shù)保存、參數(shù)備份還是傳遞參數(shù)給DSP,操作者可以根據(jù)自己不 同的需要選擇相應(yīng)的功能。如果選擇參數(shù)傳遞功能,則單片機(jī)會(huì)跳到相應(yīng)的程序段執(zhí)行參數(shù)傳遞的任務(wù)。發(fā)送數(shù)據(jù)程序如下:
P5OUT &= 0x1f;//片選DSP芯片
while((U1IFG & UTXIFG1) != UTXIFG1);
for(k=0;k<6;k++) {//傳輸?shù)臄?shù)據(jù)個(gè)數(shù)
P5OUT &= 0x1f;
while((U1IFG & UTXIFG1) != UTXIFG1);
TXBUF1=a[k];//發(fā)送數(shù)據(jù)
while((UTCTL1&0x01)==0);//發(fā)送完成
delay(10);
P5OUT &= 0x2f;
}