📄 hal.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 + -