音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

SCI通訊中斷

作者:dong1021 欄目:DSP技術(shù)
SCI通訊中斷
SCI通訊中斷是不是每次接收中斷只能接收到一個(gè)字節(jié)呀!?發(fā)送可以連續(xù)的.

2樓: >>參與討論
tjsheep
不是可以有緩沖區(qū)的
 
3樓: >>參與討論
dong1021
好象還是一次接收一個(gè)呀。
void SCIRXINT()
{
        
        PBDATDIR|=0x0fe02;//測(cè)試中斷時(shí)間        
        IFR=IFR|0x0010;//clear the int5 flag        
        scir[bagpointer]=SCIRXBUF;        
        bagpointer++;//接受數(shù)據(jù)指針
        if(bagpointer>=9)
            bagpointer=0;
        //測(cè)試入中斷次數(shù)        
        ss++;
    if(ss>=10000)
        ss=0;
    //測(cè)試入中斷次數(shù)        
        PBDATDIR=PBDATDIR&0x0fefd;//測(cè)試中斷時(shí)間
        enable();
        return;
}

4樓: >>參與討論
dong1021
這條指令能在中斷接收N個(gè)字節(jié)嗎?
scir[bagpointer++]=SCIRXBUF;

5樓: >>參與討論
lanmanck
有個(gè)fifo,要設(shè)置,你看看手冊(cè)
 
6樓: >>參與討論
dong1021
謝謝!我看看
 
7樓: >>參與討論
dong1021
下面是我的程序,好象有錯(cuò)誤!請(qǐng)指點(diǎn),能進(jìn)中斷,但不能出!
unsigned SHORT SCICOMMBAUDRATE;
unsigned CHAR tx_record;
unsigned CHAR var[7]=
{0xeb,0x90,0xeb,0x90,0x02,0x06,0x03};
unsigned CHAR var1[7]=
{0xeb,0x90,0xeb,0x90,0x02,0x06,0x03};
#define RXRDY      (SCIRXST&0x40)
void tx_rec(void);
void InitSCI(void)
{
    SCICCR = 0x0007;
    SCICTL1 = 0x0003;
    SCICTL2 = 0x0002;//接收中斷使能
    SWITCH(SCICOMMBAUDRATE)
    {
     case BAUDRATE_1200: SCIHBAUD =0x0010 ;SCILBAUD = 0x0046;break;
     case BAUDRATE_2400: SCIHBAUD =0x0008 ;SCILBAUD = 0x0022;break;
     case BAUDRATE_4800: SCIHBAUD =0x0004 ;SCILBAUD = 0x0011;break;
     case BAUDRATE_9600: SCIHBAUD =0x0002 ;SCILBAUD = 0x0008;break;
     case BAUDRATE_14400: SCIHBAUD =0x0001 ;SCILBAUD = 0x005a;break;
     case BAUDRATE_19200: SCIHBAUD =0x0001;SCILBAUD = 0x0003;break;
     case BAUDRATE_38400: SCIHBAUD =0x0000 ;SCILBAUD = 0x0081;break;
     default: SCIHBAUD =0x0002 ;SCILBAUD = 0x0008;break;
    }
    SCIPRI = 0x0038;//SCI接收低優(yōu)先級(jí)中斷
    SCICTL1 = 0x0023;
}

void SCI_receive(void)//通訊信息接收和發(fā)送
{
unsigned CHAR sci_receive_compare;
if(PIVR!=0x06)         //低優(yōu)先級(jí)的SCI接收中斷
   {  
      asm(" CLRC INTM ");
      return;
   }   
PBDATDIR|=0x2020;
sci_receive_compare=SCIRXBUF;
if(sci_receive_compare==0xeb)
   {
      while(RXRDY);
      sci_receive_compare=SCIRXBUF;
      if(sci_receive_compare==0x90)
       {
         while(RXRDY);
         sci_receive_compare=SCIRXBUF;
         if(sci_receive_compare==0xeb)
           {
            while(RXRDY);
            sci_receive_compare=SCIRXBUF;
            if(sci_receive_compare==0x90)
             {
              while(RXRDY);
              sci_receive_compare=SCIRXBUF;
              if(sci_receive_compare==0x02)
               {
                while(RXRDY);
                sci_receive_compare=SCIRXBUF;
                if(sci_receive_compare==tx_address)
                 {
                  while(RXRDY);
                  sci_receive_compare=SCIRXBUF;
                  if(sci_receive_compare==0x03)
                   {
                     tx_rec();
                   }
                 }
               }
             }
           }
       }
       PBDATDIR&=0xffcf;//發(fā)送和接收燈滅
       PCDATDIR&=0xfffe;
       asm(" CLRC INTM ");
   }  
}

void tx_rec(void)//發(fā)送
{
  unsigned SHORT i;
  PBDATDIR&=0xffdf;
  PCDATDIR|=0x0101;
  if(tx_record==1)
   {
    tx_record=0;
    for(i=0;i<=7;i++)
    {
      SCICTL2=(SCICTL2)&0x00C0;
      while((SCICTL2)!=0x00C0);
      SCITXBUF=var[i];
    }
   }
   else
    {
      for(i=0;i<=7;i++)
       {
         SCICTL2=(SCICTL2)&0x00C0;
         while((SCICTL2)!=0x00C0);
         SCITXBUF=var1[i];
       }
     }
}

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)教代碼移植到5402的問(wèn)題
用DSP/BIOS操作系統(tǒng)不能顯示message log等信息
請(qǐng)推薦一款體積最小、價(jià)格最低帶AD轉(zhuǎn)換的單片機(jī)A
做6713板的問(wèn)題
請(qǐng)教一個(gè)小問(wèn)題,結(jié)構(gòu)體定義時(shí)這樣子,不知是怎么用的?
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)