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

📄 serial.h

📁 S3C44B0x上面的N皇后问题程序
💻 H
字号:
#ifndef __SERIAL_H_#define __SERIAL_H_//define the address of the registers used in the uart communication#define rULCON0   (*(volatile unsigned *)0x1d00000)#define rULCON1   (*(volatile unsigned *)0x1d04000)#define rUCON0    (*(volatile unsigned *)0x1d00004)#define rUCON1    (*(volatile unsigned *)0x1d04004)#define rUFCON0   (*(volatile unsigned *)0x1d00008)#define rUFCON1   (*(volatile unsigned *)0x1d04008)#define rUMCON0                (*(volatile unsigned *)0x1d0000c)#define rUMCON1                (*(volatile unsigned *)0x1d0400c)#define rUTRSTAT0 (*(volatile unsigned *)0x1d00010)#define rUTRSTAT1 (*(volatile unsigned *)0x1d04010)#define rUERSTAT0 (*(volatile unsigned *)0x1d00014)#define rUERSTAT1 (*(volatile unsigned *)0x1d04014)#define rUFSTAT0  (*(volatile unsigned *)0x1d00018)#define rUFSTAT1  (*(volatile unsigned *)0x1d04018)#define rUMSTAT0  (*(volatile unsigned *)0x1d0001c)#define rUMSTAT1  (*(volatile unsigned *)0x1d0401c)#define rUBRDIV0  (*(volatile unsigned *)0x1d00028)#define rUBRDIV1  (*(volatile unsigned *)0x1d04028)#ifdef __BIG_ENDIAN#define rUTXH0                       (*(volatile unsigned char *)0x1d00023)#define rUTXH1                       (*(volatile unsigned char *)0x1d04023)#define rURXH0                       (*(volatile unsigned char *)0x1d00027)#define rURXH1                       (*(volatile unsigned char *)0x1d04027)#define WrUTXH0(ch)   (*(volatile unsigned char *)(0x1d00023))=(unsigned char)(ch)#define WrUTXH1(ch)   (*(volatile unsigned char *)(0x1d04023))=(unsigned char)(ch)#define RdURXH0()     (*(volatile unsigned char *)(0x1d00027))#define RdURXH1()     (*(volatile unsigned char *)(0x1d04027))#define UTXH0                        (0x1d00020+3) //byte_access address by BDMA#define UTXH1                        (0x1d04020+3)#define URXH0                        (0x1d00024+3)#define URXH1                        (0x1d04024+3)#else //Little Endian#define rUTXH0                       (*(volatile unsigned char *)0x1d00020)#define rUTXH1                       (*(volatile unsigned char *)0x1d04020)#define rURXH0                       (*(volatile unsigned char *)0x1d00024)#define rURXH1                       (*(volatile unsigned char *)0x1d04024)#define WrUTXH0(ch)   (*(volatile unsigned char *)0x1d00020)=(unsigned char)(ch)#define WrUTXH1(ch)   (*(volatile unsigned char *)0x1d04020)=(unsigned char)(ch)#define RdURXH0()     (*(volatile unsigned char *)0x1d00024)#define RdURXH1()     (*(volatile unsigned char *)0x1d04024)#define UTXH0                        (0x1d00020) //byte_access address by BDMA#define UTXH1                        (0x1d04020)#define URXH0                        (0x1d00024)#define URXH1                        (0x1d04024)#endif//uart init macros/*The default transfer mode is BDMA*/#define MCLK 60000000#define init_uart0(baud)\	rULCON0=0x3;/*数据位为8位,无校验位,1位停止位i*/\	rUCON0=0x24a;/*默认使用DMA*/\	rUFCON0=0x0;\	rUMCON0=0;\	rUBRDIV0=((int)(MCLK/16.0/baud+0.5)-1)#define init_uart1(baud)\	rULCON1=0x3;/*数据位为8位,无校验位,1位停止位i*/\        rUCON1=0x24f;/*默认使用DMA*/\        rUFCON1=0x0;\        rUMCON1=0;\        rUBRDIV1=((int)(MCLK/16.0/baud+0.5)-1)unsigned int uart_read(int fd,void *buf,unsigned int size);unsigned int uart_write(int fd,const void *buf, unsigned int size);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -