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

📄 mystdio.c

📁 S3C4510(ARM7)开发板bootloader实现及板载硬件测试代码
💻 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 + -