📄 mystdio.c
字号:
#include "mystdio.h"
#ifndef TARGET_PC
int getchar(void)
{
static int uart_init_done = 0;
uart_get = -INT_MAX;/* uart_get -- extern variable defined in uart.c */
if (!uart_init_done)
{
uart_init(UART0_BASE, BAUD_19200);
uart_init_done = 1;
}
while (uart_get == -INT_MAX)
;
while ( TX_READY(GET_STATUS(UART_BASE))==0)
;
PUT_CHAR(UART_BASE, uart_get);
return uart_get;
}
char *gets(char *s)
{
int i = 0;
int ch = EOF;
if (s == NULL)
return NULL;
ch = getchar();
while (ch != '\r' && ch != '\n')
{
if (ch == '\b')
{ if (i > 0)/* control the count of '\b' */
{
uart_putchar(' ');
uart_putchar('\b');
*(s + (--i)) = ' ';
}
ch = getchar();
continue;
}
*(s + i++) = ch;
ch = getchar();
}
*(s + i) = '\0';
return s;
}
#endif
void stdiodemo(void)
{
int ch;
char s[100];
printf("demo for mystdio.\r\n");
while (1)
{
printf("please input a char to test\r\n");
ch = getchar();
printf("\r\n");
printf("you input char: ");
putchar(ch);
printf("\r\n");
puts("please input a string to test\r\n");
if (gets(s) != NULL)
{
printf("\r\n");
printf("you input: %s\r\n", s);
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -