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

📄 cosine_crt.h

📁 基于S3C2410和SM501的彩屏控制器程序
💻 H
字号:
#include "comdef.h"/*错误性系统状态位*/#define		FLASH_TYPE_ERR				(0x00000001)	//FLASH类型有误#define		SYSTEM_DATA_CRC_ERR			(0x00000002)	//系统数据CRC有误#define		FONT_CRC_ERR				(0x00000004)	//字库CRC有误#define     SYSTEM_PROG_ERR        		(0x00000008)	//系统程序CRC#define		PROG_HEAD_INFO_CRC_ERR		(0x00000010)	//程序头信息CRC有误#define		PROG_DATA_CRC_ERR			(0x00000020)	//程序数据CRC有误#define		PROJECT_INFO_CRC_ERR		(0x00000040)	//工程信息CRC有误#define		MAP_INDEX_CRC_ERR			(0x00000080)	//画面索引CRC有误#define		MAP_DATA_CRC_ERR			(0x00000100)	//画面数据CRC有误#define		READ_SN_ERR					(0x00000200)	//读取DS2401SN码错误			#define		CHECK_SN_ERR				(0x00000400)	//校验SN码错误#define		MEMORY_ERROR				(0x00000800)	//内存错误#define     PROJECT_LEN_ERR             (0x00001000)	//工程属性长度有误#define     READSTATUSLIST_ERR          (0x00002000)    //读状态列表有误#define     READERRLIST_ERR             (0x00004000)    //读故障列表有误#define     LOADBMP_ERR                 (0x00008000)    //加载bmp图有误#define     SYSTEM_HEAD_ERR        		(0x00010000)	//系统程序头信息CRC错误//按钮定义#define NUMBER_INPUT 		20		//数值输入按钮#define NUMBER_DISPLAY		21		//数值显示按钮#define TEXT_STATUS 		22		//文字状态显示#define SWITCH_MAP_BUTTON 	23		//换画面按钮#define MULTI_BUTTON 		24		//多态按钮#define SET_VALUE			25		//设值按钮#define DATE_TIME_DISPLAY 	26		//日期、时间显示#define DATE_TIME_SET	  	27		//日期、时间设置 #define SET_PASSWORD 		28		//设置密码#define SYS_FUNCTION		29		//系统功能#define ERR_LIST			30		//故障(警报)控件#define TURN_BUTTON	    	31#define STATUS_LAMP     	32       //状态指示灯#define SWITCH_BUTTON		33		//开关量切换按钮#define USER_BUTTON     	120		//用户定义按钮#define MAX_MAPS			240				//允许的最多画面数#define MAX_COMMANDLENS		16			//允许最长的命令串长度#define ELEMENT_ATTRI_OFF 	4			//元件属性对元件地址的偏移#define TRUE 			1#define FALSE 			0#define UART_SEND		0		//通讯方式:串口#define NET_SEND		1		//通讯方式:网卡#define UART0			0		//串口选择0#define UART1			1		//串口选择1#define UART2			2		//串口选择2#define FONT_NAND_ADDR		0x0		    //字库存放到NandFlash中地址#define STATUS_NAND_ADDR	0x50000	//状态列表存放到NandFlash中地址#define ERRLIST_NAND_ADDR	0x60000	//故障列表存放到NandFlash中地址#define BMP_NAND_INDEX		0x74000		//工程属性、画面地址、长度索引存放到NandFlash中地址#define BMP_NAND_ADDR		0x78000		//画面存放到NandFlash中地址#define BmpStartBlock	    (BMP_NAND_ADDR/BLOCK_BYTES)//bmp存放在nandflash的起始块#define ALLBMP_BYTES		0x1E00000				//定义给保存bmp数据的nandflash空间#define BMP_BLOCKS			(ALLBMP_BYTES/BLOCK_BYTES)//保存bmp数据的块数#define BMP_SIZE			0xea600		//一个800*600的16色位图的大小#define NO_TOUCH			0xffff		//触摸屏无触摸#define INVALID_DATA		5000		//触摸屏触摸采集无效时返回的非法数据extern unsigned long dwSystemStatus;			//系统状态extern unsigned long dwErrSystemStatus;			//错误性系统状态/*************************** int_handler.c ***************************/extern unsigned long get_millisecond (void);	//返回毫秒数void HandleTimer4(void);				//定时中断4服务程序void HandleUart0(void);					//串口0中断服务程序void UartSend(unsigned char port);		//串口发送中断服务void UartReceve(unsigned char port);	//串口接收中断服务void HandleErr0(void);					//串口错误中断服务void HandleNet(void);					//网络中断服务	/*	串口中断设置,UartBit为串口屏蔽位,如串口0为BIT_UART0,UartSubBit为子	屏蔽位,如串口0发中断为如BIT_SUB_TXD0*/void UartInt_Set (unsigned long UartBit, unsigned short UartSubBit);/*************************** cmd_flash.c ************************//*	norflash 扇区擦除函数,	addr_first为扇区起始址,addr_last为结束地址*/int flash_sect_erase (unsigned long addr_first, unsigned long addr_last);/* norflash 扇区保护函数,返回:为1则错误的保护地址,0保护成功。 p为norflash保护与否,0:不保护,1:保护*/int flash_sect_protect (int p, unsigned long addr_first, unsigned long addr_last);/*************************** flash.c *****************************//*	写norflash函数,src为数据指针,addr为flash写始地址,cnt为写入长度 = 扇区*n	返回: * ERR_OK          0 - OK * ERR_TIMOUT      1 - write timeout * ERR_NOT_ERASED  2 - Flash not erased * ERR_PROTECTED   4 - target range includes protected sectors * ERR_INVAL       8 - target address not in Flash memory * ERR_ALIGN       16 - target address not aligned on boundary*/int flash_write (unsigned char *src, unsigned long addr, unsigned long cnt);/************************** mmcard.c *******************************///sd卡初始化,在卡复位前void MmCardInit(void);//sd卡复位,在读写前,返回:为1读成功,0不成功unsigned char MmCardReset(void);/*	sd卡读函数,address为第几个扇区,每个扇区为512字节。DataBuf 为数据缓冲区	返回:为1读成功,0不成功*/unsigned char MmCardReadData(unsigned short address,unsigned char *DataBuf);//sd卡写扇区addressunsigned char MmCardWriteData(unsigned short address,unsigned char *WriteBuf,unsigned short wLen);/************************** sm5.c *******************************//*软件配置显存大小,  size:=2,4,8,16,32,64.单位MB*/void dram_config(unsigned char size);//改变显存的起始地址,addressoffset+0x20000000=显存新起始地址void dram_addrss(unsigned long addressoffset);/************************** usb.c ******************************///usb发现函数,发现u盘时间大约要829ms,当无u盘时,函数空转要100ms.int Usb_Find(void);//初始化usb设备,开始对usb进行工作,返回:0,成功,-1不成功int Usb_Reset(void);//停止usb设备工作,返回:0,成功,-1不成功int usb_stop(void);/************************** usb_storage.c ******************************//*	从u盘读数据 blk起始块,blkcnt读块数,每个blkcnt=512B,buffer为内存。	返回:0,成功,1不成功*/int UsbReadData(unsigned long blknr, unsigned long blkcnt, unsigned long *buffer);/*	写数据到u盘, blk起始块,len写字节数,每个blkcnt=512B,buffer为数据缓存。	返回:0,成功,1不成功.另外,最后写到u盘字节为4个0x55AA作为标志。*/int UsbWriteData(unsigned long blknr, unsigned long len, unsigned long *buffer); 

⌨️ 快捷键说明

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