瘋殼MSP430實驗教程4.串口實驗教程

目錄
第一節 串口介紹 3
第二節 串口基礎寄存器介紹 4
第三節 實驗 9
第四節 實驗現象 11
官網地址:http://www.fengke.club
購買鏈接:http://shop115904315.taobao.com/
官方QQ羣:457586268(有任何問題請加羣@退化程序猿 或者獲取免費資料)

第一節串口介紹
MSP430F5438A單片機帶有通用串行通信接口(USCI),在同一個硬件模塊下支持多種串行通信模式。不同的USCI模塊支持不同的模式,每個不同的USCI模塊以不同的字母命名,例如,USCI_A,USCI_B等等。如果在一個設備上實現了多個相同的USCI模塊,那這些模塊將以遞增的數字命名。例如當一個設備上有兩個USCI_A模塊時,這兩個模塊應該被命名爲USCI_A0和USCI_A1。可以通過查閱設備數據表來了解設備包含有哪些USCI模塊。
USCI_Ax模塊支持的功能:
1、UART模式;
2、脈衝整形的IrDA;
3、自動波特率檢測的LIN通信;
4、SPI模式。
USCI_Bx模塊支持的功能:
1、I2C模式;
2、SPI模式。
本教程中主要介紹通用異步收發器(UART)。USCI_Ax模塊通過兩個外部引腳:發送引腳UCAxRXD和接收引腳UCAxTXD把MSP430和一個外部系統連接起來。當UCSYNC位被清零時就選擇了UART模式。
UART模式的特徵包括:
1、傳輸7或8位數據,可採用奇校驗、偶校驗或者無校驗;
2、獨立的發送和接收以爲寄存器;
3、獨立的發送和接收數據緩存器;
4、支持最低位優先或最高位優先的數據發送和接收方式;
5、針對多機通信的內置空閒檢測和地址位的通信協議;
6、接收器開始邊緣檢測來自動從低功耗模式中喚醒;
7、支持帶小數的可編程的調製波特率;
8、錯誤檢測和修正的狀態標誌位;
9、地址檢測的狀態標誌位;
10、獨立的發送和接收中斷。

第二節 串口基礎寄存器介紹
串口寄存器列表如下圖所示:

在這裏插入圖片描述
1.控制寄存器0UCAxCTL0

在這裏插入圖片描述
UCPEN:奇偶校驗使能位
0,禁止校驗;
1,允許校驗。
UCPAR:校驗選擇位,該位在校驗禁止時無效
0,奇校驗;
1,偶校驗。
UCMSB:高位在前選擇,控制接收和發送移位寄存器的方向
0,低位在前;
1,高位在前。
UC7BIT:字符長度。選擇7位或者8位字符長度
0,8位數據;
1,7位數據。
UCSPB:停止位選擇,停止位的位數
0,1位停止位;
1,2位停止位。
UCMODEx:USCI模式。當UCSYNC=0時,UCMODEx位選擇異步模式。
00,串口模式;
01,空閒多機通信模式;
10,地址位多機通信模式;
11,波特率自動檢測的UART模式。
UCSYNC:同步模式使能
0,異步模式;
1,同步模式。
2.控制寄存器1(UCAxCTL1)

在這裏插入圖片描述
UCSSELx:USCI時鐘源選擇。
00,UCAxCLK
01,ACLK
10,SMCLK
11,SMCLK
UCRXEIE:接收出錯中斷允許位
0,禁止中斷;
1,允許中斷。
UCBRKIE:字符接收打斷中斷允許位
0,禁止中斷;
1,允許中斷。
UCDORM:睡眠狀態
0,不睡眠,所有接收字符都會設置UCRXIFG標誌;
1,睡眠,只有在空閒線路之前的字符或在地址位置位的字符能置位UCRXIFG標誌。在自動波特率檢測的UART模式中,只有打斷和同步域的聯合能置位UCRXIFG標誌位。
UCTXADDR:發送地址位。
0,發送的下一幀爲數據;
1,發送的下一幀爲地址。
UCTXBRK:發送被打斷。在自動波特率檢測的UART模式下,0x55H必須被寫入
發送緩衝UCAxTXBUF中以產生要求的中斷/同步域。否則在發送緩衝中必須
寫入0;
0,發送的下一幀不是打斷;
1,發送端下一幀是打斷或中斷/同步域。
UCSWRST:軟件復位允許位
0,禁止。USCI復位釋放操作;
1,允許。在復位狀態下USCI保持邏輯電平。
3.波特率控制寄存器(UCAxBR0和UCAxBR1)在這裏插入圖片描述在這裏插入圖片描述

UCBRx:波特率發生器的時鐘分頻設置。分頻因子爲16位(UCAxBR0+UCAxBR1*256)。
4.調製控制寄存器(UCAxMCTL)

在這裏插入圖片描述
UCBRFx:第一個調製階段選擇。當UCOS16=1時,這些位決定了BITCLK16的調
制模式。當UCOS16=0時,忽略這些位的作用。
UCBRSx:第二個調製階段選擇。這些位決定了BITCLK的調製模式。
UCOS16:過採樣模式使能
0,禁止;
1,使能。
6.狀態寄存器(UCAxSTAT)

在這裏插入圖片描述
UCLISTEN:監聽使能位
0,禁止;
1,允許。UCAxTXD在內部反饋給接收器。
UCFE:幀錯誤標誌
0,沒有錯誤;
1,出錯。
UCOE:溢出標誌位。當UCAxRXBUF被讀取之前又有一個字符傳入,則該位會被
置位。當讀取UCAxRXBUF時會自動清除,並且不能軟件清零,不然不能正
常工作。
0,無錯誤;
1,溢出錯誤。
UCPE:校驗錯誤標誌。當UCPEN=0時,UCPE的讀取值爲0。
0,沒有錯誤;
1,接收的字符校驗錯誤。
UCBRK:檢測打斷錯誤
0,沒有錯誤;
1,打斷錯誤。
UCRXERR:接收錯誤標誌位。當UCRXERR=1時,UCFE,UCPE或者UCOE也被置
位。讀取UCAxRXBUF時清零UCRXERR。
0,無錯誤;
1,接收錯誤。
UCADDR:在地址位多機通信模式中,地址被接收。讀取UCAxRXBUF來清零。
0,接收的是數據;
1,接收的是地址。
UCIDLE:在空閒線多機通信模式中,空閒線被檢測。讀取UCAxRXBUF來清零。
0,沒有檢測到空閒線;
1,檢測到空閒線。
UCBUSY:USCI忙。該位顯示是否正在接收或發送數據。
0,USCI空閒;
1,USCI正在發送或接收。
7.接收緩存寄存器(UCAxRXBUF)

在這裏插入圖片描述
UCRXBUFx:只讀寄存器。
8.發送緩存寄存器(UCAxTXBUF)

在這裏插入圖片描述
UCTXBUFx:存放發送的數據,可讀可寫。
9.IrDA發送控制寄存器(UCAxIRTCTL)

在這裏插入圖片描述
UCIRTXPLx:發送脈寬長度

在這裏插入圖片描述
UCIRTXCLK:IrDA發送脈衝時鐘選擇
0,BRCLK;
1,當UCOS16=1時,爲BITCLK16,否則爲BRCLK。
UCIREN:IrDA編解碼使能
0,禁止編解碼;
1,使能編解碼。
10.IrDA接收控制寄存器

在這裏插入圖片描述
UCIRRXFLx:接收濾波長度

在這裏插入圖片描述
UCIRRXPL:接收輸入極性
0,當檢測到光脈衝時發送高電平;
1,當檢測到光脈衝時發送低電平。
UCIRRXFE:接收過濾器使能
0,禁止接收過濾器;
1,使能接收過濾器。
11.自動波特率控制寄存器(UCAxABCTL)

在這裏插入圖片描述
UCDELIMx:打斷/同步分隔符長度
00,1位時長
01,2位時長
10,3位時長
11,4位時長
UCSTOE:同步域超時錯誤
0,沒有錯誤;
1,長度超出可測時長。
UCBTOE:打斷超時錯誤
0,沒有錯誤;
1,打斷域長度超出22位時長。
UCABDEN:自動波特率檢測允許
0,禁止波特率檢測;
1,允許波特率檢測。
12.中斷允許寄存器(UCAxIE)

在這裏插入圖片描述
UCTXIE:發送中斷允許
0,禁止中斷;
1,允許中斷。
UCRXIE:接收中斷允許
0,禁止中斷;
1,允許中斷。
13.中斷標誌寄存器(UCAxIFG)

在這裏插入圖片描述
UCTXIFG:發送中斷標誌位。當UCAxTXBUF爲空時,UCTXIFG置位。
0,沒有中斷;
1,有中斷。
UCRXIFG:接收中斷標誌位。當UCAxRXBUF接收到一個完整的字符時,UCRXIFG
置位。
0,沒有中斷;
1,有中斷。
14.中斷向量寄存器(UCAxIV)

在這裏插入圖片描述在這裏插入圖片描述

詳細的寄存器介紹可以參考官方數據手冊中的相關章節。

第三節 實驗
開發板上集成裏USB轉串芯片CH340G,所以直接使用USB數據線連接電腦,使用串口調試助手來進行通信。硬件連接如下圖所示:

在這裏插入圖片描述

開發接口連接可以參考《開發接口連接教程》,路徑爲:…\MSP430\0.從這裏開始\2.快速上手。
開發板供電可以參考《如何上電》教程,路徑爲:…\MSP430\0.從這裏開始\0.開機測試。
下面打開串口實驗工程文件UART.eww,路徑爲:…\MSP430\03 教程\04 UART,如下圖所示:

在這裏插入圖片描述
打開之後,點擊編譯按鈕,下方出現編譯完成並且沒有錯誤之後,點擊DEBUG按鈕進行仿真調試,同時程序也下載進單片機中,如下圖所示:

在這裏插入圖片描述在這裏插入圖片描述

進入仿真之後就可以看到仿真界面,如下圖所示:

在這裏插入圖片描述
點擊全速雲心按鈕,運行程序,可以進行暫停或者停止操作,如下圖所示:

在這裏插入圖片描述
第四節 實驗現象
完成第三節的操作之後,就會看到串口調試助手打印出的相關信息,發送一個字符就會將該字符加1之後返回,如下圖所示:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章