?? pub_func.c
字號:
#include "includes.h"
void delay( unsigned short t )
{
for( ; t > 0; t--);
}
void delay_20ms( unsigned short delay_time )
{
while( delay_time != 0 )
{
if( SYS_EVT_VAR & SYS_EVT_TICK )
{
clr_wdt();
sys_evt_del( SYS_EVT_TICK );
delay_time--;
}
}
}
void clr_wdt(void)
{
WDTE = 0xAC;
WDI_OUT |= WDI;
delay(100);
WDI_OUT &=~ WDI;
}
unsigned char HexToAsc( unsigned char Item, unsigned char Hex )
{
unsigned char temp;
if(Item)
{
temp = Hex>>4;
}
else
{
temp = ( Hex & 0x0f );
}
if( temp <= 9 )
{
temp += 0x30;
}
else
{
temp += 0x37;
}
return temp;
}
unsigned char AscToHex( unsigned char Asc_val1, unsigned char Asc_val2 )
{
unsigned char temp;
if( (Asc_val1 - 0x30) <= 9 )
{
Asc_val1 -= 0x30;
}
else
{
Asc_val1 -= 0x37;
}
if( ( Asc_val2 - 0x30) <= 9 )
{
Asc_val2 -= 0x30;
}
else
{
Asc_val2 -= 0x37;
}
temp = ( (Asc_val1 << 4 ) & 0xf0 ) | ( Asc_val2 & 0x0f );
return temp;
}
unsigned char is_equal( unsigned char *src1, unsigned char * src2, unsigned char len )
{
do{
if( *src1++ != *src2++ )
{
return(ERROR);
}
}while(--len);
return(OK);
}
unsigned char is_data( unsigned char *src1, unsigned char src2, unsigned char len )
{
do{
if( *src1++ != src2 )
{
return(ERROR);
}
}while(--len);
return(OK);
}
unsigned char get_sum( unsigned char *data, unsigned char len )
{
unsigned char sum = 0,i;
for( i = 0; i < len; i++ )
{
sum += *(data++);
}
return sum;
}
unsigned char Hex2BcdChar(unsigned char hex)
{
return( ( hex % 10 ) | ( ( ( unsigned char )( hex / 10 ) ) << 4 ) );
}
unsigned char Bcd2HexChar(unsigned char bcd)
{
return( ( bcd >> 4 )*10 + ( bcd & 0x0F ) );
}
unsigned char DataIsAscCode(unsigned char *data, unsigned char len)
{
unsigned char i;
for( i = 0; i < len; i++ )
{
if( ( *( data+i ) > 0x39 ) || ( *( data+i ) < 0x30 ) ) return ERROR;
}
return OK;
}
void _memset_to_0( unsigned char *data, unsigned char len )
{
memset( data, 0, len );
}
void _memset_to_0xff(unsigned char * data,unsigned char len)
{
memset(data,0xFF,len);
}
void _memset0xff_and_write_E2prom(unsigned short addr,unsigned char len)
{
_memset_to_0xff(&modem_tx_buf[0], len);
E2promWrite( addr, (unsigned char *)&modem_tx_buf[0], len);
}
void ClrE2prom( unsigned short addr, unsigned char len, unsigned char cnt )
{
unsigned char i;
_memset_to_0( modem_tx_buf, len );
for( i = 0; i < cnt; i++ )
{
E2promWrite( addr + (unsigned short)i*len, modem_tx_buf, len );
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -