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

📄 uart_debug.c

📁 ARM嵌入式常用模块的原理图和源码
💻 C
字号:
#define SYS_(offset)	(*(volatile unsigned long *)(offset))//32位总线指针
#define SYSW_(offset)	(*(volatile unsigned short*)(offset))//16位总线指针
#define SYSC_(offset)	(*(volatile unsigned char *)(offset))//8位总线指针

void main(void)
{
	unsigned char scomm,sdata;
	unsigned short temp;
	unsigned char *addrp;
	unsigned char *datap;

	addrp=(unsigned char*)&address;
	datap=(unsigned char*)&data;
	init_uart();
	put_string("ok!\n");
	while (1)
	{
		scomm=get_char();
		if(scomm==0xff)
	  	{
	  		scomm=get_char();
	  		if(scomm!=0xff)
	  		switch(scomm)
			{		  				  				  		
				case 0xa0:			//设置地址7~0位
		  			addrp[0]=sdata;
		  			put_string("Set Addr0:");
					put_num32(address);
					put_string("h\n");
		  			break;
				case 0xa1:			//设置地址15~8位
					addrp[1]=sdata;
					put_string("Set Addr1:");
					put_num32(address);
					put_string("h\n");
					break;
				case 0xa2:			//设置地址23~16位
					addrp[2]=sdata;
					put_string("Set Addr2:");
					put_num32(address);
					put_string("h\n");
					break;
				case 0xa3:			//设置地址31~24位
					addrp[3]=sdata;
					put_string("Set Addr3:");
					put_num32(address);
					put_string("h\n");
					break;		  		
				case 0xc0:			//设置数据7~0位
					datap[0]=sdata;
					put_string("Set Word0:");
					put_num32(data);
					put_string("h\n");
					break;
				case 0xc1:			//设置数据15~8位
					datap[1]=sdata;
					put_string("Set Word1:");
					put_num32(data);
					put_string("h\n");
					break;
				case 0xc2:			//设置数据23~16位
					datap[2]=sdata;
					put_string("Set Word2:");
					put_num32(data);
					put_string("h\n");
					break;
				case 0xc3:			//设置数据31~24位
					datap[3]=sdata;
					put_string("Set Word3:");
					put_num32(data);
					put_string("h\n");
					break;
				case 0xd0:			//总线读取(16位)
					put_string("Read Word:");
					put_num32(SYSW_(address));
					put_string("h at ");
					put_num32(address);
					put_string("h\n");
					break;					
				case 0xe0:			//写总线(16位)
					SYSW_(address)=data;
					put_string("Write Word:");
					put_num32(data);
					put_string("h at ");
					put_num32(address);
					put_string("h\n");
					break; 
		  		default:
					put_string("Not Support!\n");
		  		}
		else sdata=0xff;
		}
	else sdata=scomm;
	}
}

⌨️ 快捷键说明

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