在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > DSP與PC機串行通訊的設計

            DSP與PC機串行通訊的設計

            作者: 時間:2016-12-20 來源:網(wǎng)絡 收藏

              5 DSP軟件設計

              5.1 串口初始化

              首先對寄存器地址、波特率、數(shù)據(jù)位、停止位、奇偶校驗位進行設置。

              void Set()

              {

              *SCICCR=0x7; //8 位字符,1 停止位,無校驗

              *SCICTL1=0X13; //使能發(fā)送和接受

              *SCICTL2=0x03; //使能接受和發(fā)送中斷

              *SCIHBAUD=0x02; //波特率=208h,40MHZ

              *SCILBAUD=0x08; //208h=40*106/(9600*8)-1

              *SCICTL1=0x33; //使能發(fā)送和接受,復位

              *SCIPRI=0X60; //SCI 中斷(接受和發(fā)送中斷)為低優(yōu)先級中斷

              }

              5.2 中斷初始化

              a)禁止總中斷子程序

              void inline disable()

              {

              asm("setc INTM");

              asm("setc SXM");

              }

              b)使能總中斷子程序

              void inline enable()

              {

              asm("clrc INTM") ;

              }

              c)中斷服務程序

              void interrupt uarttr(){

              switch (*PVIR){

              //根據(jù)中斷向量寄存器PVIR 的值區(qū)別是接收還是發(fā)送中斷

              case 6:UartRec();

              //如果PVIR=6,則發(fā)生了接受中斷,執(zhí)行接受中斷服務程序

              }

              }

              d)當由于干擾而引起其它中斷時,中斷進入此程序直接返回主程序

              void interrupt nothing(){

              return; }

              5.3中斷處理

              void UartRec(){

              unsigned int uwork;

              int I, k;

              k=0;

              while(1) {

              do{

              uwork=(*SCIRXST);

              }while((uwork&0x40= =0));

              cReceive=(*SCIRXBUF);

              cBuffer[k]= cReceive;

              if(cReceive= =’?!?{

              cBuffer[k+1]=’’;

              nlen=k+1;

              Set();

              Break;

              }

              k++; k%=16;

              }

              }

              5.4程序初始化

              # include "2407c.h"

              //初始化子程序

              Initial(){

              *IFR=0xFFFF; //清除中斷標志

              *WDCR=0Xe8; //不使能看門狗

              *SCSR1=0x81FE; //CLKIN=6M, CLKOUT=24M

              *MCRA=0x3; //use SCITXD, SCIRXD

              *PADATDIR=0x100; //設置ADIR 為輸出口

              }

              5.5主程序

              Main(){

              Set();

              Disable(); //屏蔽所有中斷

              Initial(); //系統(tǒng)初始化

              Enable(); //使能總中斷

              While(1) {

              unsigned int uwork;

              For (intI=0;I《10;I++){

              Do{

              Uwork=(*SCICTL2);

              }while (uwork&0x0c0!=0x0c0);

             ?。?SCITXBUF)=cAnswer[i];

              *IFR=0x0010;

              Enable();

              }

              Do{

              Uwork=(*SCICTL2);

              }while (uwork&0x0c0!=0x0c0);

             ?。?SCITXBUF)=‘“’;

              }

              For(;;){

             ?。?P>  }

              }

              6結(jié)束語

              本文作者創(chuàng)新點:利用DSP 的串行通信接口(SCI)和功能強大的開發(fā)環(huán)境CCS,可以方便地實現(xiàn)DSP 與PC 機間的單機或多機串行通信。通過實際運行表明,利用TMS320 的SCI 模塊實現(xiàn)DSP 之間或與PC 機的通信,與傳統(tǒng)的C51 單片機相比,其電路簡單、設置靈活、運行速度快,性能可靠穩(wěn)定。


            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉