?? uart_debug.c
字號(hào):
#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: //設(shè)置地址7~0位
addrp[0]=sdata;
put_string("Set Addr0:");
put_num32(address);
put_string("h\n");
break;
case 0xa1: //設(shè)置地址15~8位
addrp[1]=sdata;
put_string("Set Addr1:");
put_num32(address);
put_string("h\n");
break;
case 0xa2: //設(shè)置地址23~16位
addrp[2]=sdata;
put_string("Set Addr2:");
put_num32(address);
put_string("h\n");
break;
case 0xa3: //設(shè)置地址31~24位
addrp[3]=sdata;
put_string("Set Addr3:");
put_num32(address);
put_string("h\n");
break;
case 0xc0: //設(shè)置數(shù)據(jù)7~0位
datap[0]=sdata;
put_string("Set Word0:");
put_num32(data);
put_string("h\n");
break;
case 0xc1: //設(shè)置數(shù)據(jù)15~8位
datap[1]=sdata;
put_string("Set Word1:");
put_num32(data);
put_string("h\n");
break;
case 0xc2: //設(shè)置數(shù)據(jù)23~16位
datap[2]=sdata;
put_string("Set Word2:");
put_num32(data);
put_string("h\n");
break;
case 0xc3: //設(shè)置數(shù)據(jù)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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -