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

為什么我的串口只能接收一個(gè)字符

作者:wolei12345 欄目:單片機(jī)
為什么我的串口只能接收一個(gè)字符
我的串口為什么只能接收一個(gè)字符。看蠹?guī)臀铱纯?br>uchar d;
void putc(uchar c)
{DDRE |= (1 << PE2);//將方向設(shè)為輸出
PORTE |= (1 << PE2);//輸出1
_delay_ms(10);
while( !(UCSR0A & (1<<UDRE0)) );
UDR0=c;
}
//uchar getc(void)
//{ DDRE|=(1<<PE2);
  //PORTE &= 0xfb;//輸出0
  //_delay_ms(50);
  //while( !(UCSR0A & (1<<RXC0)) );
  //return UDR0;
//}
SIGNAL(SIG_UART0_RECV) //UART0接收中斷服務(wù)程序
{
d=UDR0;
putc(d);
}
int main(void)
{
  //uart 初始化
  UCSR0B=0X00;       //設(shè)置波特率前先關(guān)閉串口  
  UBRR0H=0x00;
  UBRR0L=0x47;//9600 baud 11.0592MHZ
  //UBRR0L=0X3F;
  UCSR0B|=(1<<RXEN0)|(1<<TXEN0);
  UCSR0C=0b00000110;
  
  while(1)
  {
  DDRE|=(1<<PE2);
  PORTE &= 0xfb;//輸出0
  _delay_ms(10);
  UCSR0B|=(1<<RXCIE0);//使能接收完成中斷
  sei();
  }  
}  
用的MEGA128

2樓: >>參與討論
NE5532
端口方向不用你設(shè)來(lái)設(shè)去,延時(shí)都是多余的。
你按照下面順序調(diào):
1.循環(huán)發(fā)送00-FF的數(shù)據(jù),用PC接受,保證波特率對(duì)
2.打開接收中斷,用PC機(jī)1個(gè)字節(jié)1個(gè)字節(jié)的發(fā),保證能進(jìn)中斷

3樓: >>參與討論
wolei12345
re NE5532
接收沒有問題的,問題應(yīng)該在延時(shí)上,我是接收一個(gè)發(fā)送一個(gè),因?yàn)橹虚g有延時(shí)所以有的數(shù)據(jù)就接收不到,我改了之后還有問題,我自己再調(diào)試試!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
自己做 mp3
為什么WINGCC說我的數(shù)組大了
MAG64 使用CVAVR訪問外部RAM的問題!雙龍的大鳥請(qǐng)指教
剛讓我們采購(gòu)去買5片90can32
請(qǐng)問:北京AT89C5131賣多少錢一片?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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