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

📄 hal.c

📁 利用51单片机对u盘进行读写操作
💻 C
字号:
#include "common.h"
#include "HAL.H"

extern unsigned char xdata DBUF[BUFFER_LENGTH];

unsigned char SL811Read(unsigned char a)
{  
	unsigned char nVal;
	unsigned char xdata *exAddress;
	exAddress = SL811_ADDR_PORT;
	SL811_CS=1;
	*exAddress=a;
	exAddress=SL811_DATA_PORT;
	nVal = *exAddress;
	SL811_CS=0;
	return nVal;
}

void SL811Write(unsigned char a, unsigned char d)
{  
	unsigned char xdata *exAddress;
	exAddress = SL811_ADDR_PORT;
	SL811_CS=1;
	*exAddress=a;
	exAddress=SL811_DATA_PORT;
	*exAddress = d;
	SL811_CS=0;
}

void SL811BufRead(unsigned char addr, unsigned char *s, unsigned char c)
{	
	unsigned char i;
	unsigned char xdata *exAddress;
	exAddress=SL811_ADDR_PORT;
	SL811_CS=1;
	*exAddress = addr;
	exAddress=SL811_DATA_PORT;
	for(i=0;i<c;i++)
		{
		*s++ = *exAddress;
		}
	SL811_CS=0;
}

void SL811BufWrite(unsigned char addr, unsigned char *s, unsigned char c)
{	
	unsigned char xdata *exAddress;
	exAddress = SL811_ADDR_PORT;
	
	SL811_CS=1;
	*exAddress = addr;
	exAddress=SL811_DATA_PORT;
	while (c--) 
		{
		*exAddress = *s++;
		}
	SL811_CS=0;
	
}

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

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++)
		{
		for(j=0;j<1000;j++)
		         j=j;
		}
}

unsigned int LSwapINT16(unsigned short dData1,unsigned short dData2)
{
    unsigned int xdata dData;
    dData = ((dData2<<8)&0xff00)|(dData1&0x00ff);
	return dData;
}

unsigned long LSwapINT32(unsigned long dData1,unsigned long dData2,unsigned long dData3,unsigned long dData4)
{
    unsigned long xdata dData;
    dData = ((dData4<<24)&0xff000000)|((dData3<<16)&0xff0000)|((dData2<<8)&0xff00)|(dData1&0xff);
	return dData;
}

⌨️ 快捷键说明

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