📄 hal.c
字号:
/*******************************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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -