hal.c

来自「ls811的USB FAT文件系统」· C语言 代码 · 共 104 行

C
104
字号
/*******************************Copyright (c)***************************************

                              桑海为实业发展有限公司
                         自  动  化  钢  琴  研  究  所
                           http://www.pianoshw.com
                           E-mail:shw@pianoshw.com

----------------------------------文件信息-------------------------------------------

文  件  名 : HAL.C
创  建  人 : 吴应斌
创 建 日 期: 2004-6-7 9:43
功 能 描 述: SL811硬件提取层

************************************************************************************/
#include <COMMON.H>
#include <HAL.H>

unsigned char xdata SL811H_ADDR _at_ SL811_ADDR_PORT;	//定义SL811的地址
unsigned char xdata SL811H_DATA _at_ SL811_DATA_PORT;	//定义SL811的数据

extern unsigned char xdata DBUF[BUFFER_LENGTH];

unsigned char SL811Read(unsigned char a)
{  
	unsigned char nVal;
	SL811H_ADDR=a;
	nVal=SL811H_DATA;
	return nVal;
}

void SL811Write(unsigned char a, unsigned char d)
{  
	SL811H_ADDR=a;
	SL811H_DATA=d;
}

void SL811BufRead(unsigned char addr, unsigned char *s, unsigned char c)
{	
	unsigned char i;
	SL811H_ADDR=addr;
	
	for(i=0;i<c;i++)
	{
		*s++ =SL811H_DATA;
	}
}

void SL811BufWrite(unsigned char addr, unsigned char *s, unsigned char c)
{	
	SL811H_ADDR=addr;
	
	while(c--) 
	{
		SL811H_DATA = *s++;
	}	
}

void ComSendByte(unsigned char c)
{
	SBUF=c;
	while(!TI);
	TI=0;
}

void ComErrRsp(unsigned char c)
{
	ComSendByte(0xaa);
	ComSendByte(0xbb);
	ComSendByte(c);
}

unsigned short WordSwap(unsigned short input)
{
	return(((input&0x00FF)<<8)|((input&0xFF00)>>8));
}

void DelayMs(unsigned char nFactor)
{
	unsigned char i;
	unsigned int j;

	for(i=0; i<nFactor; i++)
	{
		MCU_LED2=0;
		for(j=0;j<1000;j++)
		          j=j;
		MCU_LED2=1;
	}
}

unsigned long SwapINT32(unsigned long dData)
{
    dData = (dData&0xFF)<<24|(dData&0xFF00)<<8|(dData&0xFF000000)>>24|(dData&0xFF0000)>>8;
	return dData;
}

unsigned int SwapINT16(unsigned int dData)
{
    dData = (dData&0xFF00)>>8|(dData&0x00FF)<<8;
	return dData;
}

⌨️ 快捷键说明

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