色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

電子工程網(wǎng)

標(biāo)題: 【教程5】瘋殼·ARM功能手機-串口實驗教程 [打印本頁]

作者: Linda-x    時間: 2022-8-9 11:01
標(biāo)題: 【教程5】瘋殼·ARM功能手機-串口實驗教程
ARM功能手機
——瘋殼·開發(fā)板系列
串口實驗教程





圖1



第一節(jié)串口硬件電路

串口通過USB口及手環(huán)下載調(diào)試線引出,連接MCU的P12與P13引腳,如下圖所示:



圖2



第二節(jié) UART寄存器

2.1 UART介紹
    這個UART符合工業(yè)標(biāo)準(zhǔn)16550,并且可以和外圍設(shè)備串行通信。主設(shè)備(CPU)通過APB總線將數(shù)據(jù)寫進UART并且被轉(zhuǎn)換成串行格式并且發(fā)送到目標(biāo)設(shè)備。串行數(shù)據(jù)也可以通過UART被接收存儲之后,主設(shè)備讀取接收的數(shù)據(jù)。
UART模塊不支持DMA,但是它有內(nèi)部FIFOs,并且支持硬件流控制信號(RTS,CTS,DTR,DSR)。
UART模塊有16字節(jié)的發(fā)送和接收FIFO;支持硬件流控制(CTS/RTS);影子寄存器來減少軟件開銷并且有可編程的軟件復(fù)位;發(fā)送寄存器為空的中斷模式;IrDA 1.0 SIR模式支持低功耗模式;可編程的字節(jié)屬性、校驗位和停止位(1,1.5,2);可以斷開通信及檢測通信線是否斷開;中斷優(yōu)先級的識別;可編程的串行通信波特率。
2.2 UART寄存器
UART相關(guān)的寄存器比較多,所以我們只介紹常用的寄存器,其它的可以參考官方數(shù)據(jù)手冊DA14580_DS_v3.1.pdf,位于目錄:..\WT開發(fā)板\硬件資料。
2.2.1 接收緩沖寄存器



圖3
15:8位:保留不使用;
7:0位:接收緩存寄存器。
2.2.2 中斷使能寄存器



圖4
15:8位:保留不使用;
7位:發(fā)送空中斷使能位;
6:4位:保留不使用;
3位:調(diào)制狀態(tài)中斷使能位;
2位:接收狀態(tài)中斷使能位;
1位:發(fā)送結(jié)束中斷使能位;
0位:數(shù)據(jù)接收完使能位。
2.2.3 中斷識別寄存器/FIFO控制寄存器


圖5
15:0位:寫則為FIFO控制寄存器,讀則為中斷識別寄存器。
2.2.4 通信線控制寄存器


圖6
15:8位:保留不使用;
7位:波特率使能位;
6位:停止控制位;
5位:保留不使用;
4位:奇偶校驗選擇位;
3位:校驗位;
2位:停止位;
1:0位:數(shù)據(jù)長度。
2.2.5 調(diào)制器控制寄存器




圖7
15:7位:保留不使用;
6位:紅外通信使能位;
5位:自動流控制使能位;
4位:回路位,用于測試;
3位:用戶指定輸出2;
2位:用戶指定輸出1;
1位:發(fā)送請求;
0位:保留不使用。
2.2.6 通信線狀態(tài)寄存器




圖8
15:8位:保留不使用;
7位:接收FIFO錯誤位;
6位:發(fā)送器空位;
5位:發(fā)送保持寄存器空位;
4位:異常停止中斷位;
3位:幀錯誤位;
2位:校驗錯誤位;
1位:溢出錯誤位;
0位:數(shù)據(jù)準(zhǔn)備好位。
2.3 寄存器配置講解
#define CLK_PER_REG                 (* ( volatile uint16*)0x50000004)
#define UART_RBR_THR_DLL_REG        (* ( volatile uint16*)0x50001000)
#define UART_IER_DLH_REG            (* ( volatile uint16*)0x50001004)
#define UART_IIR_FCR_REG             (* ( volatile uint16*)0x50001008)
#define UART_LCR_REG                (* ( volatile uint16*)0x5000100C)
#define UART_MCR_REG               (* ( volatile uint16*)0x50001010)
#define UART_LSR_REG                (* ( volatile uint16*)0x50001014)
#define UART_MSR_REG               (* ( volatile uint16*)0x50001018)
#define UART_SCR_REG                (* ( volatile uint16*)0x5000101C)
啟動UART1模塊的時鐘CLK_PER_REG |= 0x0080;
串口初始化寄存器配置:
首先使能波特率配置UART_LCR_REG = 0X08;
配置波特率UART_IER_DLH_REG = 0; UART_RBR_THR_DLL_REG = 9;
8位數(shù)據(jù),無校驗,1位停止位UART_LCR_REG = 0X03;
關(guān)閉紅外通信功能UART_MCR_REG = 0X00;
使能FIFO, UART_IIR_FCR_REG = 0X01;
關(guān)閉中斷UART_IER_DLH_REG = 0X00;
接收一個字節(jié),等待接收完成while((UART_LSR_REG&0x01)==0);讀取接收數(shù)據(jù)rx_data = UART_RBR_THR_DLL_REG;
發(fā)送一個字節(jié)0x55,等待發(fā)送為空while((UART_LSR_REG&0x20)==0);填充發(fā)送數(shù)據(jù)UART_RBR_THR_DLL_REG = 0xaa;



第三節(jié) UART實驗
實驗需要使用的模塊有:手機開發(fā)板底板,Jlink調(diào)試工具,USB轉(zhuǎn)串模塊、杜邦線、3.7V鋰電池或Mocro USB線。
使用USB轉(zhuǎn)串模塊連接手機藍牙串口,連接方式如下:
    (1)USB轉(zhuǎn)串模塊一端只需要使用杜邦線連接RXD、TXD、GND三個引腳,如下圖所示:


圖9
(2)手機主控底板一端需要使用杜邦線連接左側(cè)J7三個引腳,與USB轉(zhuǎn)串模塊的引腳一一對應(yīng)(串口引腳交叉),分別為RXD-->TXD、TXD-->RXD、GND-->GND,如下圖所示:


圖10
使用JLINK通過杜邦線連接手機藍牙,連接方式如下:
(1)JLINK一端只需要使用杜邦線連接JLINK的SWC、SWD、GND三個引腳,如下圖所示:


圖11
(2)手機藍牙一端需要使用杜邦線連接上方右側(cè)的J3三個引腳,與JLINK的連接引腳一一對應(yīng),分別為SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下圖所示:


圖12
將JLINK插上電腦的USB接口,連接好之后給手機主控底板供電,詳細的介紹可以參考《如何上電》教程,路徑為:..\WT_Mobile\0.從這里開始\0.開機測試。
打開串口實驗的Keil工程uart.uvproj,位于目錄:..\WT_Mobile\1.初級教程\DA14580\2_初級_串口\projects\target_apps\peripheral_examples\uart\Keil_5,如下圖所示:


圖13
打開串口調(diào)試助手連接串口,波特率為115200。在KEIL中,編譯代碼,點擊DEBUG,然后點擊全速運行,就可以看到串口調(diào)試助手打印出的信息,發(fā)送什么就返回什么,例如發(fā)送“WT Mobile Test!”就會返回“WT Mobile Test!”,如下圖所示:




圖14


圖15




如需定制開發(fā),請通過官網(wǎng)“瘋殼”網(wǎng)頁底部的“聯(lián)系我們”進行聯(lián)系

文件下載請點擊: 串口教程.pdf (1.43 MB)        






歡迎光臨 電子工程網(wǎng) (http://m.54549.cn/) Powered by Discuz! X3.4