utility.c

来自「16进制字符串和16进制本身相互转换」· C语言 代码 · 共 49 行

C
49
字号
#include "utility.h"
#include <intrins.h>

void delay()
{
	BYTE i=0xff;
	while(i--)_nop_();
}

BYTE bcd2hex(BCD bcd)
{
	return (bcd>>4)*10+bcd&0x0f;
}

BYTE hex2c(BYTE c)
{
    return c = c < 10 ? (c +'0'):(c -10 +'A');
}

BYTE c2hex(unsigned char c)
{
	if (c <= '9') return c - '0';
	else if(c <= 'F')return c - 'A' +10;
	else return c-'a'+10;
}

void text2hex(const BYTE *src,BYTE *des,BYTE len/*len of src*/)
{
	BYTE i;
	for(i=0;i<len/2;i++)des[i]=c2hex(src[2*i])*0x10+c2hex(src[2*i+1]);
}

void hex2text(const BYTE *src,BYTE *des,BYTE len)
{
	BYTE i;
	for(i=0;i<len;i++)
	{
		des[i*2]  =	hex2c(src[i]>>4);
		des[i*2+1]=	hex2c(src[i]&0x0f);
	}
}

void watchdog()
{
	EA=FALSE;
	WFEED1=0xa5;WFEED2=0x5a;
	EA=TRUE;
}

⌨️ 快捷键说明

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