|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | 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 |
【求助版主】關(guān)于lpc2136的UART1接收中斷 |
| 作者:zjuiee 欄目:ARM技術(shù) |
UART1的中斷是不是可以和uart0在一起的?? 以下這段我編的程序好像uart1不能接收到數(shù)據(jù)。 是中斷有問題嗎?? 現(xiàn)在發(fā)送已經(jīng)絕對沒有問題了。 UART1發(fā)送給GM47,然后傳回的數(shù)據(jù)有問題,總收不到。 /********************************************************** * 名稱:IRQ_UART0() * 功能:串口UART0,UART1接收中斷。 * 入口參數(shù):無 * 出口參數(shù):無 ******************************************************/ void __irq IRQ_UART0(void) { if( 0x04==(U0IIR&0x0F) ) //UART0 { rcv_buf0[r0] = U0RBR; r0++; // 讀取FIFO的數(shù)據(jù),并清除中斷標(biāo)志 } if( 0x04==(U1IIR&0x0F) ) //UART1 { rcv_new1 = 1; // 設(shè)置接收到新的數(shù)據(jù)標(biāo)志 rcv_buf1[r1] = U1RBR; r1++; // 讀取FIFO的數(shù)據(jù),并清除中斷標(biāo)志 } VICVectAddr = 0x00; // 中斷處理結(jié)束 } /* 管腳初始化 */ VICIntSelect = 0x00000000; // 設(shè)置所有通道為IRQ中斷 VICVectCntl0 = 0x26; // UART0中斷通道分配 到IRQ slot 0,即優(yōu)先級(jí)最高 VICVectAddr0 = (int)IRQ_UART0; // 設(shè)置UART0向量地址 VICVectCntl1 = 0x27; // UART1中斷通道分配到IRQ slot 0,即優(yōu)先級(jí)最高 VICIntEnable = 0x000000c0; // 使能UART1,UART0中斷 |
| 2樓: | >>參與討論 |
| 作者: zlgarm 于 2006/6/10 8:31:00 發(fā)布:
Re 兩個(gè)中斷只能夠分開處理。不能使用同一個(gè)通道。 |
|
| 3樓: | >>參與討論 |
| 作者: zjuiee 于 2006/6/10 20:38:00 發(fā)布:
re VICVectCntl0 = 0x26; // UART0中斷通道分配 VICVectCntl1 = 0x27; // UART1中斷通道分配 通道是不一樣的???? 不能共用一個(gè)_IRQ嗎?? void __irq IRQ_UART0(void) 這樣是不行的嗎?? 那請問uart1要怎么中斷?? 望指教,謝謝 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |