📄 uart.c
字号:
#include <stdlib.h>
#include <string.h>
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#define DOWNLOAD_ADDRESS _RAM_STARTADDRESS
void (*restart)(void)=(void (*)(void))0x0;
void (*run)(void)=(void (*)(void))DOWNLOAD_ADDRESS;
unsigned int (*frameBuffer)[10];
volatile unsigned char *downPt;
void Isr_Init(void);
void __irq Uart0_RxInt(void);
void __irq Uerror(void);
volatile unsigned int err=0;
void Main(void)
{
rSYSCFG=CACHECFG;
Port_Init();
Led_Display(0x0);
Isr_Init();
Uart_Init(0,115200);
Uart_Select(0); //Select UART0
/*******************************/
/* Banner */
/*******************************/
Uart_Printf("\n\nCore44b Ver 1.00 for S3C44B0X DEC,2002\n");
Uart_Printf("MCLK=%dMHz,COM:115.2kbps,8Bit,NP,UART0 <n+6>(4)+(n)+CS(2)\n",MCLK/1000000);
Uart_Printf("DOWNADDR:%x ISR_ADDR:%x SYSCFG:%x \n",DOWNLOAD_ADDRESS,_ISR_STARTADDRESS,rSYSCFG );
Uart_Printf("E-mail: \n\n");
while(1);
}
void Isr_Init(void)
{
rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; //All=IRQ mode
rINTMSK=~( BIT_URXD0 | BIT_GLOBAL); //Default value=0x7ffffff
pISR_URXD0=(unsigned)Uart0_RxInt;
}
void __irq Uart0_RxInt(void)
{
rI_ISPC=BIT_URXD0 ; //clear pending bits,Default value=0x0000000
*downPt++=RdURXH0();
}
void __irq Uerror(void)
{
rI_ISPC=BIT_UERR01 ; //clear pending bits,Default value=0x0000000
err++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -