国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2209|回復: 0
打印 上一主題 下一主題

【開發教程7】ARM功能手機-串口實驗教程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-6-18 19:10:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
串口實驗教程
——瘋殼·開發板系列



圖1



第一節串口硬件電路

串口通過USB口及手環下載調試線引出,連接MCU的P12與P13引腳,如下圖所示:



圖2



第二節 UART寄存器

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



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



圖4
15:8位:保留不使用;
7位:發送空中斷使能位;
6:4位:保留不使用;
3位:調制狀態中斷使能位;
2位:接收狀態中斷使能位;
1位:發送結束中斷使能位;
0位:數據接收完使能位。
2.2.3 中斷識別寄存器/FIFO控制寄存器


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


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




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




圖8
15:8位:保留不使用;
7位:接收FIFO錯誤位;
6位:發送器空位;
5位:發送保持寄存器空位;
4位:異常停止中斷位;
3位:幀錯誤位;
2位:校驗錯誤位;
1位:溢出錯誤位;
0位:數據準備好位。
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位數據,無校驗,1位停止位UART_LCR_REG = 0X03;
關閉紅外通信功能UART_MCR_REG = 0X00;
使能FIFO, UART_IIR_FCR_REG = 0X01;
關閉中斷UART_IER_DLH_REG = 0X00;
接收一個字節,等待接收完成while((UART_LSR_REG&0x01)==0);讀取接收數據rx_data = UART_RBR_THR_DLL_REG;
發送一個字節0x55,等待發送為空while((UART_LSR_REG&0x20)==0);填充發送數據UART_RBR_THR_DLL_REG = 0xaa;



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


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


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


圖11
(2)手機藍牙一端需要使用杜邦線連接上方右側的J3三個引腳,與JLINK的連接引腳一一對應,分別為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
打開串口調試助手連接串口,波特率為115200。在KEIL中,編譯代碼,點擊DEBUG,然后點擊全速運行,就可以看到串口調試助手打印出的信息,發送什么就返回什么,例如發送“WT Mobile Test!”就會返回“WT Mobile Test!”,如下圖所示:




圖14




配套資料:http://www.fengke.club
套件地址:http://shop115904315.taobao.com/
文件下載請點擊: 串口教程.pdf (1.43 MB)        

15.png (14.49 KB)

15.png
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级二级三级视频| 欧美成人高清免费大片观看| 视色4se成人午夜精品| 涩涩免费网站| 亚洲人和日本人jizz| 日本人成在线视频免费播放| 亚洲国产精品67194成人| 亚洲激情a| 日日澡| 亚洲自偷自拍另类12p| 亚洲成人黄色网| 亚洲另类色图| 亚洲精品6久久久久中文字幕| 深夜特黄a级毛片免费播放| 亚洲最大福利视频网| 日韩经典在线| 奇米影视久久777中文字幕| 亚洲成人自拍| 四虎影视永久在线| 欧美一区二区三区精品| 亚洲youjizz| 欧美一级片在线观看| 深夜a级毛片| 日韩日韩日韩手机看片自拍| 日b在线观看| 一级片免费观看视频| 四级毛片| 夜夜精品视频| 日本欧美国产| 人成午夜性刺激免费| 一级毛毛片毛片毛片毛片在线看| 青青草国产免费久久久91| 亚洲精品乱无伦码| 亚洲天堂自拍| 欧美精品四虎在线观看| 亚洲美女高清一区二区三区| 欧美日韩一区二区三区久久| 一级片免费视频| 亚洲人一区| 亚洲日本久久久午夜精品| 午夜网站视频|