|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
S3C4510B如何初始化才能進中斷(附程序) |
| 作者:zcl7831 欄目:ARM技術 |
新手多有不解,請多幫忙. #include "s3c4510b.h" void InitUART(int PORT,int Baudrate); int Main() { InitUART(0,0x500); //19200bps 50MHZ 0=COM1;1=COM2 for(;;){ } return(0); } void __irq IRQ_UART0() //仿周立功的寫法 S3C4510B是否相同 { unsigned CHAR i; if ((USTAT0&0x20)==0x20) { i=URXBUF0; UTXBUF0=i; } } void InitUART(int PORT,int Baudrate) { if(PORT==0) {ULCON0=0x03; UCON0=0x05; UBRDIV0=Baudrate; } if(PORT==1) {ULCON1=0x03; UCON1=0x05; UBRDIV1=Baudrate; } INTMOD=0; INTMSK=0x001fffdf; ........ //后面還得加啥,才能進中斷程序IRQ_UART0() ........ } /////////////////////////s3c4510b.h #define IOPMOD (*(volatile unsigned *)0x03FF5000) //IO PORT mode register #define IOPCON (*(volatile unsigned *)0x03FF5004) //IO PORT CONTROL register #define IOPDATA (*(volatile unsigned *)0x03FF5008) //IO PORT data register #define ULCON0 (*(volatile unsigned *)0x03FFD000) //UART channel0 LINE CONTROL register #define UCON0 (*(volatile unsigned *)0x03FFD004) //UART channel0 CONTROL register #define USTAT0 (*(volatile unsigned *)0x03FFD008) //UART channel0 status register #define UTXBUF0 (*(volatile unsigned *)0x03FFD00c) //UART channel0 transimit holding register #define URXBUF0 (*(volatile unsigned *)0x03FFD010) //UART channel0 recieve buffer register #define UBRDIV0 (*(volatile unsigned *)0x03FFD014) //Baud rate divisor register0 #define ULCON1 (*(volatile unsigned *)0x03FFE000) //UART channel1 LINE CONTROL register #define UCON1 (*(volatile unsigned *)0x03FFE004) //UART channel1 CONTROL register #define USTAT1 (*(volatile unsigned *)0x03FFE008) //UART channel1 status register #define UTXBUF1 (*(volatile unsigned *)0x03FFE00c) //UART channel1 transimit holding register #define URXBUF1 (*(volatile unsigned *)0x03FFE010) //UART channel1 recieve buffer register #define UBRDIV1 (*(volatile unsigned *)0x03FFE014) //Baud rate divisor register1 #define INTMOD (*(volatile unsigned *)0x03FF4000) //INTERAPUT MODE register #define INTPND (*(volatile unsigned *)0x03FF4004) //INTERAPUT PAND register #define INTMSK (*(volatile unsigned *)0x03FF4008) // #define INTOFFSET (*(volatile unsigned *)0x03FF4024) // #define INTOSET_FIO (*(volatile unsigned *)0x03FF4030) // #define INTOSET_IRQ (*(volatile unsigned *)0x03FF4034) // #define INTPRI0 (*(volatile unsigned *)0x03FF400C) // #define INTPRI1 (*(volatile unsigned *)0x03FF4010) // #define INTPRI2 (*(volatile unsigned *)0x03FF4014) // #define INTPRI3 (*(volatile unsigned *)0x03FF4018) // #define INTPRI4 (*(volatile unsigned *)0x03FF401C) // #define INTPRI5 (*(volatile unsigned *)0x03FF4020) // * - 本貼最后修改時間:2006-3-24 11:28:08 修改者:zcl7831 |
| 2樓: | >>參與討論 |
| 作者: zcl7831 于 2006/3/25 22:28:00 發(fā)布:
沒人能幫一下嗎? 剛學ARM, 好象已經(jīng)問得很清楚了. 我該如何設置才能進中斷運行. |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |