|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
串口自發(fā)自收問題求救 |
| 作者:ddtv 欄目:單片機 |
單片機TX腳通過10K電阻接到RX上,發(fā)送數據后可是自己卻接收不到,示波器觀察有發(fā)送數據.單片機16f690,內部RC 4MHZ 程序如下: void init_device(void) { TRISA = 0; TRISB = 0x30; //RB7:TX輸出,RB5:RX輸入 ANSEL = 0; ANSELH = 0; //配置為IO口 TXSTA = 0X64; //9位發(fā)送,使能發(fā)送,高波特率 RCSTA = 0XD8; //使能串行口,9位接收,使能接受器 BAUDCTL = 0X08; //16位波特率方式 SPBRGH = 1; SPBRG = 0X90; //波特率2500 RCIE = 1; //使能接收中斷 PEIE = 1; GIE = 1; } void putch(uchar dat) { while(!TXIF){} TXREG = dat; } //發(fā)送 接收 putch(3); delayms(10); dat = RCREG; 數據發(fā)送后無論中斷方式還是查詢方式均沒有數據.也沒有錯誤標志. 因為是自發(fā)自收,肯定和波特率沒關系了. 哪位大蝦或有中斷方式接收程序,貢獻出來參考一下. |
| 2樓: | >>參與討論 |
| 作者: computer00 于 2006/10/10 16:22:00 發(fā)布:
不要10K電阻,直接連上試試。 |
|
| 3樓: | >>參與討論 |
| 作者: ddtv 于 2006/10/10 16:49:00 發(fā)布:
computer00真是高人,呵呵,非常感謝. 能分析下原因嗎? 看到一款產品RX接了幾拾K的電阻,不是PIC的單片機. |
|
| 4樓: | >>參與討論 |
| 作者: ddtv 于 2006/10/10 17:10:00 發(fā)布:
問題解決 是沒有禁止RX端口的弱上拉,再次感謝computer00! |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2006/10/10 17:14:00 發(fā)布:
不客氣。開了上拉電阻,輸入阻抗變低所致。10K電阻驅不動了。 |
|
| 6樓: | >>參與討論 |
| 作者: hotpower 于 2006/10/16 22:30:00 發(fā)布:
23短接是慣例~~~ |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |