最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

TMS320F28035使用學(xué)習(xí)系列分享(十四)SCI——基本收發(fā)配置

2023-03-11 16:16 作者:小靜靜紫陌璃  | 我要投稿

1 簡述

? ? ? ?串行通信接口(SCI)是C2000系列芯片常用到的一種通信模塊,其使用與其他MCU中UART模塊類似,為雙線異步串行端口。本篇是對TMS320F28035 SCI初始化配置及基本數(shù)據(jù)收發(fā)使用的總結(jié),針對相關(guān)文件函數(shù)進行調(diào)用與配置。

2 相關(guān)設(shè)置

? ? 相關(guān)引腳:

????F28035僅有一組SCIA,對應(yīng)引腳如下

????SCIA-RXD-->GPIO7??????????GPIO28

????SCIA-TXD-->GPIO12????????GPIO29

????相關(guān)寄存器:

????GPIO對應(yīng)寄存器

????工作方式控制寄存器:

????CCR:通信控制寄存器

????CTL1:控制寄存器1

????CTL2:控制寄存器2

????HBAUD:波特率高位寄存器

????LBAUD:波特率低位寄存器

????數(shù)據(jù)收發(fā)相關(guān)寄存器

????RXST:接收狀態(tài)寄存器

????RXEMU:接收仿真緩沖寄存器

????RXBUF:接收數(shù)據(jù)緩沖區(qū)

????TXBUF:發(fā)送數(shù)據(jù)緩沖區(qū)

? ? FIFO設(shè)置:

????FFTX:FIFO 發(fā)送寄存器

????FFRX:FIFO 接收寄存器

????FFCT:FIFO 控制寄存器

????PRI:FIFO 優(yōu)先級控制寄存器

????其中紅色標(biāo)記寄存器主要涉及初始化配置,藍色標(biāo)記寄存器主要涉及收發(fā)操作

????一些主要寄存器中功能如下

????FFTX寄存器

????15:SCIRST ?????? SCI復(fù)位

????14:SCIFFENA????? SCI使能

????13:TXFIFORESET?? FIFO發(fā)送復(fù)位

????12-8:TXFFST? ??? FIFO數(shù)據(jù)狀態(tài)(發(fā)送)

????7:TXFFINT??????? FIFO發(fā)送中斷標(biāo)志位

????6:TXFFINTCLR???? 清除FIFO發(fā)送中斷標(biāo)志位

????5:TXFFIENA?????? FIFO發(fā)送中斷使能

????4-0:TXFFIL?????? FIFO發(fā)送中斷等級設(shè)置? ??

????FFRX寄存器

????15:RXFFOVF?????? FIFO接收溢出標(biāo)志位

????14:RXFFOVRCLR??? 清除FIFO接收溢出標(biāo)志位

????13:RXFIFORESET?? FIFO接收復(fù)位

????12-8:RXFFST????? FIFO數(shù)據(jù)狀態(tài)(接收)

????7:RXFFINT??????? FIFO接收中斷標(biāo)志位

????6:RXFFINTCLR???? 清除FIFO接收中斷標(biāo)志位

????5:RXFFIENA?????? FIFO接收中斷使能

????4-0:RXFFIL?????? FIFO接收中斷等級設(shè)置

????FFCT寄存器

????15:ABD?????????? 自動波特率檢測位

????14:ABDCLR??????? 自動波特率檢測清除位

????13:CDC?????????? CDC校準(zhǔn)A檢測位

????7-0:FFTXDLY???????? FIFO傳輸延遲設(shè)置? ?

????CCR寄存器-數(shù)據(jù)長度-奇偶校驗位-奇/偶校驗-停止位長度

????7:STOPBITS? ?設(shè)置停止位

????6:PARITY???? 奇偶校驗方式

????5:PARITYENA? 奇偶校驗使能

????4:LOOPBKENA? 啟動回環(huán)測試

????3:ADDRIDLE_MODE???? 空閑位/地址位模式選擇

????2-0:SCICHAR???????? 字符長度控制位

????CTL1寄存器

????6:RXERRINTENA SCI接收錯誤中斷使能

????5:SWRESET??? SCI軟件復(fù)位

????3:TXWAKE???? 喚醒模式

????2:SLEEP????? 睡眠模式

????1:TXENA????? SCI發(fā)送使能

????0:RXENA????? SCI接收使能

?????CTL2寄存器

????7:TXRDY ???? 發(fā)送緩沖寄存器就緒標(biāo)志位

????6:TXEMPTY??? 發(fā)送空標(biāo)志位

????1:RXBKINTENA 接收緩沖區(qū)/中斷使能

????0:TXINTENA?? SCITXBUF寄存器中斷使能

????SCI波特率寄存器

????SCIHBAUD[7-0] SCILBAUD[7-0]

? ??RXBUFTXBUF兩組寄存器分別存放收發(fā)數(shù)據(jù),皆存于低八位,其中RXBUF中還包括兩個只讀錯誤狀態(tài)標(biāo)志位

????因此SCI模塊初始化關(guān)鍵步驟為:

? ? (1)打開對應(yīng)外設(shè)時鐘

????(2)IO功能配置

????(3)FIFO初始化

????(4)配置數(shù)據(jù)發(fā)送協(xié)議(奇偶校驗、停止位、數(shù)據(jù)位數(shù)、波特率、對應(yīng)功能復(fù)位、使能使能等等)

????????波特率寄存器數(shù)據(jù)折算關(guān)系如下

SCIBAUDReg%3D15MHz%5Ctimes%20(8%5Ctimes%20baud)-1

????????注意這里有高低兩個寄存器,要將結(jié)果搬至對應(yīng)高低位的寄存器中方可運行。

3.基本配置總結(jié)

????????此處按照1位停止位、無奇偶校驗、八位、異步模式、空閑線路協(xié)議設(shè)置,其他功能配置類似,最后實現(xiàn)基本收發(fā)功能。

(1)打開對應(yīng)外設(shè)時鐘

(2)IO功能配置

(3)FIFO初始化

4)配置數(shù)據(jù)發(fā)送協(xié)議

其中有關(guān)波特率設(shè)置

開啟SCI

(5)發(fā)送字符

(6)發(fā)送字符串

(7)接收字符

(8)數(shù)據(jù)傳輸

????????在主函數(shù)SCI初始化后發(fā)編寫發(fā)送代碼

????????發(fā)送字符后接收相應(yīng)字符,驗證代碼正確性


4.實驗結(jié)果驗證

圖14-1 發(fā)送測試
14-2 接收測試

????????通過該方式,我們可以使用選擇語句進行設(shè)計,將不同發(fā)送字符對應(yīng)不同所期望實現(xiàn)功能(如控制PWM開啟/停止、返回ADC采樣值等等),這樣便可通過上位機進行程序調(diào)試,也便于結(jié)果的實時儲存。

TMS320F28035使用學(xué)習(xí)系列分享(十四)SCI——基本收發(fā)配置的評論 (共 條)

分享到微博請遵守國家法律
孝义市| 洪江市| 桑植县| 绥芬河市| 江油市| 政和县| 旌德县| 望谟县| 望都县| 湘潭县| 富阳市| 定兴县| 喀什市| 察哈| 峨山| 家居| 博野县| 黄冈市| 康平县| 花莲县| 浦城县| 明水县| 清远市| 安国市| 富川| 道孚县| 深泽县| 安乡县| 太康县| 璧山县| 四子王旗| 沅陵县| 九龙城区| 南京市| 宁化县| 金川县| 新竹县| 嘉善县| 巴塘县| 呼图壁县| 临澧县|