我不知道如何从键盘获取用户输入并将这些输入显示到终端仿真器(实际)。
我通常会执行以下操作来设置标准输入。但是,我确实意识到我不能将 KEYBOARD 这个词作为流。
FILE receive_str = FDEV_SETUP_STREAM(NULL, KEYBOARD , _FDEV_SETUP_READ);
stdin = &receive_str;
该程序是在 Windows 7 下使用 AVR Studio 4.18 编译的,目标是 ATmega 32 微 Controller 。
最佳答案
参见 http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html有关设置 stdio 的 FDEV_SETUP_STREAM 方法的信息。特别是,您在上面的示例中作为“KEYBOARD”放置的内容应该是提供键盘输入的功能。因此,您编写代码的方式意味着它正在寻找这样的函数:
int KEYBOARD(FILE *stream)
{
return 'A';
}
例如,这将是一个始终返回字母 A
的流。当然,您可以使用从连接到微 Controller 的任何键盘硬件读取所需的任何代码来填充该函数。
上面链接的 avr-libc 手册描述了您可以从此函数返回的其他值,例如 _FDEV_ERR(如果发生错误)或 _FDEV_EOF(如果它是文件结尾,即没有更多输入阅读)。
关于c - 使用键盘作为标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859631/