📄 uart.c
字号:
#include "2410addr.h"
#include "uart.h"
void uart_send(char *wrbuf)
{int i;
char *p;
p=wrbuf;
while(*p!='\0')
{while(!(rUTRSTAT0&0x02));
rUTXH0=*(p++);
for(i=0;i<100;i++);
}
}
char getc()
{while(!(rUTRSTAT0&0x01));
return rURXH0;
}
void uart_receive(char *buff)
{char *wrbuf;
char c;
wrbuf=buff;
while((c=getc())!='\r')
{
if(c=='\b')
{wrbuf--;
sendc(c);
sendc(' ');
sendc(c);
continue;
}
*(wrbuf++)=c;
sendc(c);
}
*wrbuf='\0';
uart_send("\n\r");
}
void sendc(char c)
{while(!(rUTRSTAT0&0x02));
rUTXH0=c;
}
char do_getc(unsigned long int timeout , int * eorror)
{unsigned char c;
unsigned long int do_timeout;
unsigned long int wreorror;
do_timeout=timeout;
while(!(rUTRSTAT0&0x01))
{
if(timeout==0) break;
timeout--;
}
if(timeout==0)
{wreorror=-1;
c=0;
}
else {
c=rURXH0;
wreorror=rUERSTAT0;
}
if(wreorror)
{if(eorror)
{*eorror=wreorror;
}
}
return (c);
}
void uart_send_ii(int agrc, char **argv)
{int i;
const char *p;
if(agrc<2)
{uart_send("Wrong.\n\r");
return;
}
p=argv[1];
while(*p!='\0')
{while(!(rUTRSTAT0&0x02));
rUTXH0=*(p++);
for(i=0;i<100;i++);
}
uart_send("\n\r");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -