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

📄 bspface.h

📁 详细介绍了arm7-at91r40008,的开发全过程
💻 H
字号:
/*------------------------------------------------------------------------
 Module:        bspface.h
 Author:        AmineChen[amine@263.net]
 Project:       BOOT
 State:
 Creation Date: 
 Description:   BSP对外接口说明
------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
 $Log: bspface.h,v $
 Revision 1.0  2001-09-19 17:09:41+08  amine
 Initial revision

------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
 提供BSP对外接口说明,应用参照本文件,应完全了解各驱动的使用
 每种驱动的接口说明包括3部分: 设备名,控制功能码,函数原型;
 外部应用可由统一接口访问,或具体驱动接口访问;
 建议使用统一接口, 可提高代码的移植性和定制性,如对串口的引用;
 具体驱动的函数原型本不应该暴露在应用前面,但为了信息的集中,也放在这里; 
 添加新驱动,先在这里添加说明,并在bspInit()中注册即可.
 简化Fmem的接口,代码以后也可重用,为了简化,不使用统一驱动接口.
------------------------------------------------------------------------*/
#ifndef _BSPFACE_H
#define _BSPFACE_H

/*----------------*/
/* Standard types */
/*----------------*/

typedef unsigned int        u_int   ;
typedef unsigned short      u_short ;
typedef unsigned char       u_char  ;

/* 16-bit Flash Data type */
typedef volatile unsigned short flash_word ;

/* AT91 Register type */
typedef volatile unsigned int at91_reg ;

/*----------------*/
/* Boolean values */
/*----------------*/

#define TRUE                1
#define FALSE               0
#define DQ7			0x0080
#define DQ6			0x0040
#define DQ5			0x0020
#define DQ3			0x0008


#define SECTOR_NUM				39
/*------------------------------------------------------------------------
 一般接口
------------------------------------------------------------------------*/
void BspInit(void);
void BspLightTurn(BOOL on_off);
void BspDogTurn(BOOL on_off);

/*------------------------------------------------------------------------
 10时钟驱动接口
------------------------------------------------------------------------*/
void STimerInit(void);

/*------------------------------------------------------------------------
 Usart驱动接口
------------------------------------------------------------------------*/
/*minor不起作用*/
/*init[0]:任务号, init[1]:波特率;*/
void   SerialSetup(UINT baud_rate);			/*串行通道初始化*/
void   SerialPollOn(void);					/*关闭SCI中断*/
void   SerialPollOff(void);					/*打开SCI中断*/
void   SerialPollConout(UCHAR ch);			/*查询输出字符*/
void   SerialIntRxion(void);				/*打开接收中断*/
void   SerialIntRxioff(void);				/*关闭接收中断*/
void   SerialIntTxion(void);				/*打开发送中断*/
void   SerialIntTxioff(void);				/*关闭发送中断*/
UINT   SerialIntBaud(UINT baud_rate);      	/*设置波特率*/
UINT   SerialIntRead(UCHAR *ch_ptr);        /*从串行通道中断读取字符*/
UINT   SerialIntWrite(UCHAR ch);            /*中断写入字符到UART*/
int UsartInit(UCHAR minor, ULONG init[4]);
int UsartRead(UCHAR minor, UCHAR *pbuf, ULONG count);


//函数声明
void Usart0_init(INT32U Mode, INT32U BAUD);
void Usart1_init(INT32U Mode, INT32U BAUD);
void UsartOpen(INT16U Port);
void UsartClose(INT16U Port);

/*fun选项定义*/
#define  COMM_INT_RX   		1	/*ctrl[0]=1: 打开*/
#define  COMM_INT_TX   		2	/*ctrl[0]=1: 打开*/
#define  COMM_TIMER_10MS 	3	/*定时扫描*/
#define  COMM_MODEM_IN 		4	/*ctrl[0]返回MODEM状态: MODEM_CTS,MODEM_DCD*/
#define 	MODEM_CTS    	0x01
#define 	MODEM_DCD    	0x02
#define  COMM_MODEM_OUT 	5   /*ctrl[0]定义MODEM状态: MODEM_DTR,MODEM_RTS*/
#define 	MODEM_RTS    	0x01
#define 	MODEM_DTR    	0x02
#define	 COMM_CLEAN_RXBUF   6

#define FLASHBIT			0xA8

/*------------------------------------------------------------------------
 FLASH存储器驱动接口
------------------------------------------------------------------------*/
/*FLASH基地址,与bsp.h中的BSP_FMEM_WORK同*/
#define INODE_SECTOR		7	//文件头的存放最后扇区
BOOL FlashisEmpty(u_int base,u_char sector);
BOOL FlashErase(u_int base,u_char sector);
BOOL FlashEraseCore(u_int base, u_int offset, BOOL flag);
int FlashWrite(u_int base,u_int offset, u_char *pbuf, u_int count);
int FlashRead(u_int base,u_int offset, u_char *pbuf, u_int count);
void IDExit(u_int base);
void SetCFG(u_int base);
int Read_Manufactuer_Code(u_int base);
int SectorCpy(u_char DSector, u_char SSector);
int FlashCpy(u_int Daddr, u_int Saddr, u_int Length);
void ReadCFI(u_int base, INT16U* pData);
#endif /*_BSPFACE_H*/

⌨️ 快捷键说明

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