自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
利用ST16C554D實現(xiàn)DSP多路串行通訊
利用ST16C554D實現(xiàn)DSP多路串行通訊
 更新時間:2008-8-3 16:28:41  點擊數(shù):12
【字體: 字體顏色

#define C_rx_buf_size 100        //接收緩沖區(qū)大小
#define C_tx_buf_size 100        //發(fā)送緩沖區(qū)大小
unsigned char C_rx_buf[C_rx_buf_size];     //接收緩沖區(qū)
unsigned char C_tx_buf[C_tx_buf_size];     //發(fā)送緩沖區(qū)
unsigned int p_C_rx_w=0;         //接收緩沖區(qū)寫指針
unsigned int p_C_tx_w=0, p_C_tx_r=0;    //發(fā)送緩沖區(qū)讀寫指針
volatile int *Add_C_RHR = (volatile int *)0xC00010;     //C口基地址
volatile int *Add_C_THR = (volatile int *)0xC00010;
volatile int *Add_C_DLL = (volatile int *)0xC00010;
volatile int *Add_C_IER = (volatile int *)0xC00011;
volatile int *Add_C_DLM = (volatile int *)0xC00011;
volatile int *Add_C_ISR = (volatile int *)0xC00012;
volatile int *Add_C_FCR = (volatile int *)0xC00012;
volatile int *Add_C_LCR = (volatile int *)0xC00013;
volatile int *Add_C_MCR = (volatile int *)0xC00014;
volatile int *Add_C_LSR = (volatile int *)0xC00015;
volatile int *Add_C_MSR = (volatile int *)0xC00016;
void init_ST16C554D_C( )     //串口C口的初始化函數(shù)
{    *Add_C_LCR = 0x80;    //使能波特率因子寄存器
    *Add_C_DLM = 0x00;        
     *Add_C_DLL = 0x01;    //設(shè)置波特率為460800
                   (主頻7.3728M)
    *Add_C_LCR = 0x1b;    //選擇字長為8位,停止位為
                    1位,偶校驗
    *Add_C_FCR = 0x07;    //選擇FIFO MODE
    *Add_C_IER = 0x00;    //禁止中斷
    *Add_C_MCR = 0x08;    //選擇NORMAL MODE
}
void Read_ST16C554D_C( )//串口C口的接收函數(shù),置于INT0中斷函數(shù)中
{    while( (*Add_C_LSR) & 0x01 )      //判C口線狀態(tài)寄存器
     {      *( C_rx_buf + p_C_rx_w) = (*Add_C_RHR) & 0x0ff;                        //接收數(shù)據(jù)送接收緩沖區(qū)
           p_C_rx_w ++;        //接收緩沖區(qū)指針加1
           if(p_C_rx_w == C_rx_buf_size)    p_C_rx_w = 0;                        //接收緩沖區(qū)指針回零
      }
}
void C_tx_handle()        //串口C口的發(fā)送函數(shù)
{    while(p_C_tx_r != p_C_tx_w)
    {    if( *Add_C_LSR & 0x20 )    //判C口線狀態(tài)寄存器
        {   *Add_C_THR = *(C_tx_buf + p_C_tx_r);                    //發(fā)送
        p_C_tx_r ++;                                 //發(fā)送緩沖區(qū)指針加1
        if( p_C_tx_r == C_tx_buf_size )    p_C_tx_r = 0;                    //發(fā)送緩沖區(qū)指針回零
        }
    }
}

結(jié)語
在筆者開發(fā)的光纖陀螺捷聯(lián)式慣性導(dǎo)航系統(tǒng)中,通過使用ST16C554D擴(kuò)展了4路串口,電路簡單,傳輸速率高,延時小,并且極大地減輕了主控計算機(jī)TMS320VC33的負(fù)擔(dān)。本設(shè)計,在通訊中各通道長期工作正常,完全達(dá)到了預(yù)期目的。

參考文獻(xiàn):
1.  ST16C554D data manual. EXAR Corporation
2.    TMS320VC33 Digital Signal Processor. Texas Instruments.2002

圖1 多路通訊原理框圖



  • 上一篇: 基于小波變換與DSP的實時音頻視頻處理系統(tǒng)
  • 下一篇: 利用MSP430實現(xiàn)Blackfin DSP的程序引導(dǎo)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1