|
|||||||||||
| 技術(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 |
求助:meaga8的串口中斷怎么返回不到主程序呢? |
| 作者:leeber 欄目:單片機(jī) |
大家好,我用的meag8的串口中斷,進(jìn)入中斷后執(zhí)行程序,根據(jù)結(jié)果表明中斷內(nèi)的程序可以執(zhí)行,可是執(zhí)行完調(diào)不出中斷了,或者說執(zhí)行完程序跑非了.由于本人用meaga8時(shí)間不長(zhǎng),所以上來請(qǐng)教各位. 下面是我的串口中斷的程序: void uart0_rx_isr(void) {uchar i=0; CLI(); do{ while ( !(UCSRA & (1<<RXC)) );//接收返回信息 RX_BUFFER[i]=UDR; i++; }while((RX_BUFFER[i-1]!=0x0A)|| (i<4) ); if (strcmp(RX_BUFFER,RING)) {L1ON; //delay_ms(6000); sendtemp(); //發(fā)送短信息 L1OFF; } else {L2ON; delay_ms(2000); } SEI(); } sendtemp()函數(shù)里嵌套了幾個(gè)子函數(shù),難道和這個(gè)有關(guān)嗎? |
| 2樓: | >>參與討論 |
| 作者: ffssmm 于 2006/3/18 13:06:00 發(fā)布:
時(shí)間? 串口接收中斷程序的執(zhí)行時(shí)間應(yīng)該遠(yuǎn)遠(yuǎn)小于一個(gè)字節(jié)的傳輸時(shí)間。 |
|
| 3樓: | >>參與討論 |
| 作者: sunanqing 于 2006/3/18 17:11:00 發(fā)布:
是不是堆棧小的原故.將中斷堆棧設(shè)置大一些,試一試. |
|
| 4樓: | >>參與討論 |
| 作者: hanyafeng 于 2006/3/19 9:30:00 發(fā)布:
需要中斷嵌套嗎? 在ATMEL提供的應(yīng)用實(shí)例中我從來沒有看見過中斷嵌套的情況的出現(xiàn),不知道是不是ATMEL公司的技術(shù)支持工程師比中國(guó)工程師笨很多呢? |
|
| 5樓: | >>參與討論 |
| 作者: dudongdao 于 2006/3/20 17:05:00 發(fā)布:
程序到底死到哪沒出來 你應(yīng)該能判斷出來吧 |
|
| 6樓: | >>參與討論 |
| 作者: airbunny 于 2006/3/20 17:26:00 發(fā)布:
不能中斷嵌套的 如果用的是ICCAVR開發(fā)的話 GCC也要設(shè)置了才行 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |