DSP F28335的SCI模块
28335之SCI模塊
1.介紹
? ? TMS320F28335內(nèi)部有三個(gè)SCI模塊,SCIA、SCIB、SCIC。
? ? 每一個(gè)SCI模塊都有一個(gè)接收器和發(fā)送器,SCI的接收器和發(fā)送器各有一個(gè)16級(jí)的FIFO(First In First Out先入先出)隊(duì)列,它們都還有自己獨(dú)立的使能位和中斷位;可以工作在半雙工或全雙工模式;
? ? 串行通信的三種方式:
? ? ?
2.SCI深入
? ??A.?GPIO的管腳對(duì)應(yīng)如下:
??SCIA對(duì)應(yīng)GPIO28/29和GPIO35/36兩組可選;
? SCIB有四組管腳可以選擇,分別是 O9/11,GPIO14/15,GPIO18/19,GPIO22/23;
? SCIC對(duì)應(yīng)的是GPIO62/63。
? ??? ? 在編程初始化時(shí),需要先將對(duì)應(yīng)的GPIO管腳配置為SCI模式,才能使得這些管腳具有SCI功能;
? ??
? ?
? ? B. SCI通信中帶有格式信息的數(shù)據(jù)字符叫幀,下面是典型的數(shù)據(jù)幀格式
? ?
? ? C. 下面單獨(dú)介紹一下SCI波特率設(shè)置寄存器SCIHBAUD和SCILBAUD,0-15是高字節(jié)與低字節(jié)連在一起,構(gòu)成16位波特率設(shè)置寄存器BRR。
? ? BRR = SCIHBAUD + SCILBAUD
? ? 如果1<= BRR <=65535,那么SCI波特率=LSPCLK / ( (BRR+1) * 8 ),由此,可以帶入你需要的波特率,既可以得到BRR的值;
? ? 如果BRR = 0,那么SCI波特率=LSPCLK/ 16
? ?D. SCI模塊發(fā)送和接受數(shù)據(jù)的原理:
3.SCI串口編程
? ?A.先初始化IO管腳?(以SCI-A為例,SCI-B、SCI-C的初始化方法一樣,就是照著改對(duì)應(yīng)的管腳就行)
? ?B.SCI初始化配置
???C.接著進(jìn)行中斷的配置
? ? 這樣串口基本就OK了。
上面的配置是配置典型的串口中斷程序;
下面是一個(gè)SCI例程:
總結(jié)
以上是生活随笔為你收集整理的DSP F28335的SCI模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。