透過以上電路圖的分析,可以得知COM2,COM3,COM0分別從上到下對應著一下的引腳
BUF_XuTXD2 GPA1_1
BUF_XuRXD2 GPA1_0
BUF_XuTXD3 GPA1_5
BUF_XuRXD3 GPA1_4
BUF_XuTXD0 GPA0_1
BUF_XuRXD0 GPA0_5
BUF_XuTXD2 ,BUF_XuRXD2透過一個轉換電路4ALVC164245DGG XCVR的轉換,另外一端對應的引腳是XuTXD2
然後透過XuTXD2在核心板上查詢
可以看到有很多反斜槓,這裡面的功能是透過暫存器來配置的,然後這個時候看晶片手冊來看怎麼透過設定來配置引腳不同的功能的呢?配置成串列埠模式,然後找到GPA1這個暫存器,把它配置成通訊介面這種模式就OK了,然後每一個引腳用四個位來控制。GPA1_0
GPA1_1對應著GPA1CON[0] 和GPA1CON[1]
將GPA1_0和GPA1_1分別設定成0x2 = UART_2_RXD和0x2 = UART_2_TXD,即GPA1CON = 0x22;
此時已經設定成了串列埠模式,但是設定成串列埠模式後,還要設定串口裡面相應的功能。
這些設定都是要在ULCONn暫存器中設定的,比如資料位為8,奇偶校驗為0等,停止位為1,由這些資料可以得出ULCONn=0x03.
然後將UCONn設定成UCONn=0101,即UCONn=0x05.到此還有一項沒有設定好,就是速度, 即
怎麼才能設定成115200呢?即波特率設定暫存器UBRDIVn和UFRACVALn,
UART傳輸速率配置
您可以使用儲存在波特率除數(UBRDIVn)和除數分數值(UFRACVALn)中的值
確定序列Tx/Rx時鐘率(波特率)為:
例如波特率為115200bps, SCLK_UART為40mhz,則UBRDIVn和UFRACVALn分別為:53,4.
這個時候串列埠的協議已經設定完成了
實驗目的,透過串列埠COM2輸出字元顯示。