|
|||||||||||
| 技術(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 |
怎么SBUF讀不出來(lái)呢? |
| 作者:dmcz 欄目:單片機(jī) |
void UART() interrupt 4 { uchar address=0x01; if(RI) { RI = 0; _24c02write(addres,SBUF); } } 經(jīng)測(cè)試24C02write()通過(guò),串口撥特率及相關(guān)設(shè)置也是正確的,并能進(jìn)入中斷 郁悶```````````````` |
| 2樓: | >>參與討論 |
| 作者: dmcz 于 2005/2/3 16:11:00 發(fā)布:
原來(lái)不是讀不出來(lái) 不是讀不出來(lái),而是參數(shù)傳不進(jìn)_24c02write(); 為什么?中斷里不能調(diào)用函數(shù)么?加給它加extern也不行,那位大俠幫幫俺啊 |
|
| 3樓: | >>參與討論 |
| 作者: xymxym 于 2005/2/3 20:43:00 發(fā)布:
這段程序能被編譯通過(guò)嗎? _24c02write(addres,SBUF); //函數(shù)前是否有下劃線?addres少了個(gè)s 你將SBUF先賦給變量,再通過(guò)變量給函數(shù)傳遞參數(shù)試一下! |
|
| 4樓: | >>參與討論 |
| 作者: dmcz 于 2005/2/3 21:02:00 發(fā)布:
能讀SBUF,但參數(shù)寫(xiě)不進(jìn)函數(shù)里 不過(guò)我把程序結(jié)構(gòu)改了,把24C02那個(gè)拿出來(lái)了,放到MAIN里了 |
|
| 5樓: | >>參與討論 |
| 作者: xymxym 于 2005/2/3 21:38:00 發(fā)布:
把RI=0放在調(diào)用函數(shù)之后! 可能是在寫(xiě)函數(shù)的執(zhí)行過(guò)程中,又來(lái)了串口中斷,或者是干擾了I2C的時(shí)序! |
|
| 6樓: | >>參與討論 |
| 作者: AVRx007 于 2005/2/4 0:48:00 發(fā)布:
SUBF只能讀一次 SBUF做函數(shù)的參數(shù)來(lái)傳遞會(huì)失敗。 data =SBUF; _24c02write(addres,data); |
|
| 7樓: | >>參與討論 |
| 作者: hotpower 于 2005/2/4 1:18:00 發(fā)布:
SUBF只能讀一次是其一,其二是函數(shù)內(nèi)第2個(gè)參數(shù)可能用了指針 SUBF不能被間接尋址,所以函數(shù)內(nèi)不能用指針變量訪問(wèn)第2個(gè)參數(shù). |
|
| 8樓: | >>參與討論 |
| 作者: dmcz 于 2005/2/4 3:38:00 發(fā)布:
謝謝樓上幾位! |
|
| 9樓: | >>參與討論 |
| 作者: hunao 于 2005/2/16 0:43:00 發(fā)布:
注意使用的寄存器組是否一樣 你的中斷用的是第幾組寄存器? 和你所調(diào)用的函數(shù)用的寄存器組是否一樣? |
|
| 10樓: | >>參與討論 |
| 作者: huolun 于 2009/8/4 15:38:46 發(fā)布:
把RI=0放在調(diào)用函數(shù)之后! 可能是在寫(xiě)函數(shù)的執(zhí)行過(guò)程中,又來(lái)了串口中斷,或者是干擾了I2C的時(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) |