音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 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

請(qǐng)教周工!UART0數(shù)據(jù)接收緩沖區(qū)的問(wèn)題,rcv_buf能設(shè)為16嗎?

作者:liushul 欄目:ARM技術(shù)
請(qǐng)教周工!UART0數(shù)據(jù)接收緩沖區(qū)的問(wèn)題,rcv_buf能設(shè)為16嗎?
我將EasyARM實(shí)驗(yàn)程序光盤(pán)中的實(shí)驗(yàn)21修改了一下,在EasyARM開(kāi)發(fā)板上進(jìn)行調(diào)試。發(fā)現(xiàn)一個(gè)小問(wèn)題:UART0數(shù)據(jù)接收緩沖區(qū)小于等于10的時(shí)候,程序運(yùn)行沒(méi)有問(wèn)題,但如果我將rcv_buf[8]改為rcv_buf[16],程序接收以后發(fā)送回上位機(jī)的數(shù)據(jù)就不對(duì)!這是怎么回事了?
下面是我程序改動(dòng)的部分:
volatile uint8  rcv_buf[16];               // UART0數(shù)據(jù)接收緩沖區(qū)
void   __irq IRQ_UART0(void)
{  int  i;
    for(i=0; i<16; i++)
        rcv_buf[i] = '\0';
    DelayNS(10);
   if( 0x04==(U0IIR&0x0F) ) rcv_new = 1;// 設(shè)置接收到新的數(shù)據(jù)標(biāo)志
//  j = (int)(U0RBR&0x0F);
   for(i=0; i<16; i++)    
           rcv_buf[i] = U0RBR;                  // 讀取FIFO的數(shù)據(jù),并清除中斷標(biāo)志
   //rcv_buf = U0RBR;   
   VICVectAddr = 0x00;                  // 中斷處理結(jié)束
}
void  ISendBuf(void)
{  uint8  i;
  
   for(i=0; i<16; i++)
           SendByte(rcv_buf[i]);//sizeof(rcv_buf)
// SendByte(rcv_buf);
   while( (U0LSR&0x20)==0 );             // 等待數(shù)據(jù)發(fā)送


2樓: >>參與討論
機(jī)靈小老鼠
看看書(shū)上,U0FCR=0x81,設(shè)置了觸發(fā)長(zhǎng)度為8!
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
我設(shè)計(jì)的首個(gè)ARM7的C程序,多指教!
使用FIFO時(shí)CTI中斷問(wèn)題
請(qǐng)教一個(gè)問(wèn)題
購(gòu)買開(kāi)發(fā)套件外殼
針對(duì)P0.27~P0.30部分用戶無(wú)法操作GPIO的問(wèn)題。
免費(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)