?? main.c
字號:
#include "myapp.h"
#define REV_SND /*define : rcv undefine : snd*/
void INTR_init( void );
void EMIF_init(void);
#define UART_BASE_ADDR 0x400400
#define RBR *((int *)(UART_BASE_ADDR+0))
#define THR *((int *)(UART_BASE_ADDR+0))
#define IER *((int *)(UART_BASE_ADDR+1))
#define IIR *((int *)(UART_BASE_ADDR+2))
#define FCR *((int *)(UART_BASE_ADDR+2))
#define LCR *((int *)(UART_BASE_ADDR+3))
#define MCR *((int *)(UART_BASE_ADDR+4))
#define LSR *((int *)(UART_BASE_ADDR+5))
#define MSR *((int *)(UART_BASE_ADDR+6))
#define SCR *((int *)(UART_BASE_ADDR+7))
#define DLL *((int *)(UART_BASE_ADDR+0))
#define DLM *((int *)(UART_BASE_ADDR+1))
#define BUFSIZE 8 //接收緩存大小 單位為byte
char cString[17]={ "Hello PC!,Over|" },cReceive,cBuffer[BUFSIZE]={"\0x0"},cAnswer[16]={"Oh,you say"};
int test;
main()
{
EMIF_init();
INTR_init();
test=0;
//-----------------------------------------
LCR = 0x80;
DLL = 0x18;
DLM = 0x00;
LCR = 0x03;
FCR = 0x00;
MCR = 0x20;
#ifdef REV_SND
IER = 0x01;
#else
IER = 0x02;
#endif
for(;;);
}
void interrupt uart_int( void ) //串口中斷服務程序
{
#ifdef REV_SND
test=RBR&0xff;
#else
THR=test;
#endif
}
void INTR_init( void )
{
IVPD=0xd0;
IVPH=0xd0;
IER0=0x04; // set according to UART
DBIER0=0x04;
IFR0=0xffff;
asm(" BCLR INTM");
}
void EMIF_init(void)
{
ioport unsigned int *ce21 =(unsigned int *)0x809; //ce2空間寄存器1
*ce21 = 0x1fff;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -