⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.c

📁 mp3量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。系统会自动删除debug和release目录
💻 C
字号:
#include "global.h"

WORD get16(BYTE * addr)
{
	WORD temp;
#if defined(BIG_ENDIAN)
	temp = *addr;
	temp <<= 8;
	temp += *(addr+1);
#else
	temp = *(addr+1);
	temp <<= 8;
	temp += *addr;
#endif
	return temp;
}

DWORD get32(BYTE * addr)
{
	DWORD temp;
#if defined(BIG_ENDIAN)
	temp = *addr;
	temp <<= 8;
	temp += *(addr+1);
	temp <<= 8;
	temp += *(addr+2);
	temp <<= 8;
	temp += *(addr+3);
#else
	temp = *(addr+3);
	temp <<= 8;
	temp += *(addr+2);
	temp <<= 8;
	temp += *(addr+1);
	temp <<= 8;
	temp += *addr;
#endif
	return temp;
}

WORD get16_little(BYTE * addr)
{
	WORD temp;

	temp = *(addr+1);
	temp <<= 8;
	temp += *addr;

	return temp;
}

DWORD get32_little(BYTE * addr)
{
	DWORD temp;

	temp = *(addr+3);
	temp <<= 8;
	temp += *(addr+2);
	temp <<= 8;
	temp += *(addr+1);
	temp <<= 8;
	temp += *addr;

	return temp;
}

WORD get16_big(BYTE * addr)
{
	WORD temp;

	temp = *addr;
	temp <<= 8;
	temp += *(addr+1);

	return temp;
}

DWORD get32_big(BYTE * addr)
{
	DWORD temp;

	temp = *addr;
	temp <<= 8;
	temp += *(addr+1);
	temp <<= 8;
	temp += *(addr+2);
	temp <<= 8;
	temp += *(addr+3);

	return temp;
}


void put16(BYTE * addr, WORD val)
{
#if defined(BIG_ENDIAN)
	*addr = val>>8;
	*(addr+1) = val;
#else
	*addr = val;
	*(addr+1) = val>>8;
#endif
}

void put32(BYTE * addr,DWORD val)
{
#if defined(BIG_ENDIAN)
	*addr = val>>24;
	*(addr+1) = val>>16;
	*(addr+2) = val>>8;
	*(addr+3) = val;
#else
	*addr = val;
	*(addr+1) = val>>8;
	*(addr+2) = val>>16;
	*(addr+3) = val>>24;
#endif
}

void put16_little(BYTE * addr, WORD val)
{
	*addr = val;
	*(addr+1) = val>>8;
}

void put32_little(BYTE * addr,DWORD val)
{
	*addr = val;
	*(addr+1) = val>>8;
	*(addr+2) = val>>16;
	*(addr+3) = val>>24;
}

void put16_big(BYTE * addr, WORD val)
{
	*addr = val>>8;
	*(addr+1) = val;
}

void put32_big(BYTE * addr,DWORD val)
{
	*addr = val>>24;
	*(addr+1) = val>>16;
	*(addr+2) = val>>8;
	*(addr+3) = val;
}


WORD swap16(WORD val)
{
	WORD temp;
	
	temp = val;
	temp <<=8;
	temp += val>>8;
	
	return temp;
}

DWORD swap32(DWORD val)
{
	DWORD temp;
	
	temp = val;
	temp <<=8;
	temp += val>>8;
	temp <<=8;
	temp += val>>16;
	temp <<=8;
	temp += val>>24;

	return temp;
}


void soft_delay_ms(uint32 t)
{
	uint32 i,j;
	for(i=0;i<=t;i++)
		for(j=0;j<8000;j++);
}

#if 1

void dump_memory(unsigned char * addr, unsigned int length)
{
	unsigned char * p = addr;
	unsigned int i,j;
	unsigned int ii,jj;
	ii = length/16;
	jj = length%16;
	
	iprintf("_____________________________________________________\r\n");
	iprintf("ADDR  00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f \r\n");
	iprintf("-----------------------------------------------------\r\n");
	for(i=0;i<32;i++)
	{
		iprintf("%04x: ",i*16);
		for(j=0;j<16;j++)
		{
			if(i==ii && j==jj)break;
			if(j==7)iprintf("%02x-",*p++);
			else iprintf("%02x ",*p++);
		}
		iprintf("\r\n");
		if(i==ii && j==jj)break;
	}
	iprintf("-----------------------------------------------------\r\n");	
}
#endif

⌨️ 快捷键说明

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