📄 public.c
字号:
/*************************************
;Ade7169 demo program
;*************************************
;AUTHOR: Su RuTong
;DATE: 03 09 2006
;*************************************/
#include "hal.h"
#include "utilities.h"
#include "public.h"
unsigned char data green;
unsigned char data PERIPH_TMP;
void delay(unsigned int tt)
{
while(tt--) {CLR_WDT();}
}
/******************************************
* 十六进制转BCD码(1字节转换)
******************************************/
unsigned char Hex2BcdChar(unsigned char hex)
{
return((hex%10)|(((unsigned char)(hex/10))<<4));
}
/******************************************
* BCD码转十六进制(1字节转换)
******************************************/
unsigned char Bcd2HexChar(unsigned char bcd)
{
return((bcd>>4)*10+(bcd&0x0F));
}
/******************************************
* 十六进制转BCD码
******************************************/
unsigned short Hex2BcdShort(unsigned short hex)
{
unsigned short temp;
unsigned short ret;
unsigned char ii;
ret=0;
for(ii=0;ii<4;ii++)
{
ret>>=4;
temp=hex%10;
temp<<=12;
ret|=temp;
hex=hex/10;
}
return(ret);
}
/******************************************
* BCD码转十六进制
******************************************/
unsigned short Bcd2HexShort(unsigned short bcd)
{
unsigned short temp;
unsigned short ret;
unsigned char ii;
ret=0;
for(ii=0;ii<4;ii++)
{
temp=bcd&0xF000;
temp>>=12;
ret=ret*10+temp;
bcd<<=4;
}
return(ret);
}
/******************************************
* 十六进制转BCD码
******************************************/
unsigned long Hex2BcdLong(unsigned long hex)
{
unsigned long temp;
unsigned long ret;
unsigned char ii;
ret=0;
for(ii=0;ii<8;ii++)
{
ret>>=4;
temp=hex%10;
temp<<=28;
ret|=temp;
hex=hex/10;
}
return(ret);
}
/******************************************
* BCD码转十六进制
******************************************/
unsigned long Bcd2HexLong(unsigned long bcd)
{
unsigned long temp;
unsigned long ret;
unsigned char ii;
ret=0;
for(ii=0;ii<8;ii++)
{
temp=bcd&0xF0000000;
temp>>=28;
ret=ret*10+temp;
bcd<<=4;
}
return(ret);
}
unsigned char CalCS(unsigned char idata *ptr,unsigned char len)
{
unsigned char checksum = 0;
while(len--)
{
checksum += *ptr;
ptr++;
}
return(checksum);
}
void _reserved(void)
{
}
void _mem_set(unsigned char idata *dest,unsigned char dat,unsigned char len)
{
while(len--)
{
*dest=dat;
dest+=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -