⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.c

📁 这是一个基于ARM44B0X的串口实验程序.
💻 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 + -