日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tms320lf240x 的串行通信接口

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tms320lf240x 的串行通信接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先需要注意,串行通信模塊的寄存器是8位的。 一、串行通信接口的物理結構 1、兩個IO引腳 SCIRXD??? SCI接收數據引腳 SCITXD??? SCI發送數據引腳 2、一個16位的可編程的波特率選擇寄存器。 3、1-8位的可編程數據字長度。 4、可編程的停止位。 5、內部產生的串行時鐘。 6、全雙工或者半雙工。 7、雙緩沖的接收和發送功能。 二、SCI模塊的結構 1、一個發送器 SCITXBUF??? 發送數據緩沖寄存器,存放待發送的數據。 TXSHF?????? 發送移位寄存器。從SCITXBUS載入數據,并每次一位地將數據移位到SCITXD引腳。 2、一個接收器 RXSHF?????? 接收移位寄存器。每次一位地將SCIRXD上的數據移入。 SCIRXBUF??? 接收數據緩沖寄存器。接收由RXSHF移入的數據。 3、一個可編程的波特率發生器。 4、數據存儲器映射的控制和狀態寄存器。 三、SCI模塊的寄存器 SCICCR??? SCI通信控制寄存器????? 定義SCI使用的字符格式、協議和通信模式 SCICTL1???SCI控制器1??????????? 控制TX/RX和接收器錯誤終端使能、內部時鐘和SCI軟件復位 SCIHBAUD? SCI波特率選擇寄存器的高8位 SCILBAUD? SCI波特率選擇寄存器的低8位 SCICTL2?? SCI控制器2??????????? 包括發送器緩沖使能等 SCIRXST???SCI接收狀態寄存器 SCIRXEMU? SCI仿真數據緩沖寄存器 SCIRXBUF? SCI接收數據緩沖寄存器 SCITXBUF? SCI發送數據緩沖寄存器 SCIPRI??? SCI優先級控制寄存器 下面是一個簡單的串口通信實例,已經調試通過:

void cpu_init(void)
{
????SCSR1 = 0x83fe;
????WDCR = 0x0e8;
????asm(" SETC????INTM");
????asm(" CLRC????OVM");
????asm(" CLRC????CNF");
????asm(" CLRC????SXM");
????IMR = 0x0000;
????IFR = 0x0ffff;
}

void sci_init(void)
{
????MCRA |= 0x03;
????SCICCR = 0x07;
????SCICTL1 = 0x13;
????SCICTL2 = 0x03;
????SCIHBAUD = 0x02;
????SCILBAUD = 0x07;
????SCICTL1 = 0x33;
????SCIPRI = 0x60;
????IMR |= 0x10;
????asm(" CLRC????INTM");
}

void send(char *var)
{
????int i;
????
????for(i=0; i<strlen(var); i++)
????{
????????SCICTL2 &= 0x0c0;
????????while(SCICTL2 != 0x0c0);
????????SCITXBUF = var[i];
????}
}

void main(void)
{
????cpu_init();
????sci_init();
?????????send("ni hao!");

????while(1)
}

總結

以上是生活随笔為你收集整理的tms320lf240x 的串行通信接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。