【发布时间】:2011-11-06 02:53:20
【问题描述】:
我正在尝试使用 C 将字符从 pic32 处理器通过串行端口回显到终端仿真器。系统会提示用户输入一个字符串,所发生的只是当用户键入时字符会出现在屏幕上。这只是为了设置一个初始程序,以后可以用于用户的实时菜单选择。示例如下:
main()
{
// 1. init the console serial port
initU2();
// 2. text prompt
clrscr();
home();
fputs("Enter some text: ", stdout);
puts(stdout);
// 3. main loop
while (1)
{
// 3.1 read a full line of text
getsn(stdout, sizeof(stdout));
// 3.2 send a string to the serial port
puts(stdout);
} // main loop
} // main
这是我在命令行中得到的信息(无论用户是否输入):
Enter some text: ÿÿÿÿ
我可以简单地将字符回显到终端程序显示,但是如果我需要让用户输入字符,C 程序似乎没有响应。任何帮助将不胜感激!
【问题讨论】:
-
这是什么stdio-lib? puts() 通常需要一个
char *参数。什么是getsn()?它不应该从标准输入读取吗? -
所以为了清楚起见,您编写的 C 代码是 pic32 的代码?您似乎正在调用代码中未定义的一些函数。这些函数在哪里定义?
puts(stdout);的目的是什么?你手边有示波器吗?
标签: c serial-port communication