终端回显(echo)

终端回显(echo),第1张

在pc上进行嵌入式开发调试时,一般用登陆工具(比如SecureCRT,通过ssh协议)登陆linux服务器进行编译,然后通乎备过串口协议登陆设备进行调试。

登陆的命令行界面,一般会显示一个$提示符,然后光标闪烁,等待用户输入:

此时输入一个字符(比如a),命令行界面上立即显示这个字符,然后光标在这个字符之后闪烁:

这个字符并不是登陆工具接收到用户输入,然后直接打印出来的。

登陆工具将用户输入的字符发送给对端,对端再将这个字符发送回来,登陆工具接收到这个反馈字符,才会将其打印出来,这就是回显(echo)。换句话说,登陆工具并不知道回显的存在,它只是一个中间媒介,接收用户输入,将其发送给对端,再接收对端发送过来的数据,将其打印出来。

控制回显的是对端的tty。回显做为对端tty的一个属性,是可以手动开关的。

比如,输入下面的命令,就可以关闭tty回显:

关闭回显之后,可以正常输入命令,只是这些输入的字符不会在登陆工具的命令行界面里显示出来,但输完命令敲回车后,界面里还是可以正常显示命令执行结果的。

登陆工具接收到的用户输入,是实时发送到对端的,乎顷塌并不是等回车之后才发送。只是回车之后,对端才执行命令,反馈结果。

上面的例子,打开回显时,具体流程为:

  a. 用户输入字符a

  b. 登陆工具接收到字符a,并将其发送给对端

  c. 对端接收到字符a,并将字符a发送回登陆工具

  d. 登陆工具在命令行界面里显示字符a

  e. 用户输入回车

  f. 登陆工具接收到回车,并将其发送给对端

  g. 对岁圆端接收到回车,并将回车发送回登陆工具

  h. 登陆工具接收到回车之后在命令行界面里换行

  i. 对端执行命令,并将结果发送回登陆工具

  j. 登陆工具在命令行界面里显示命令执行结果(比如"-bash: a: command not found")

关闭回显时,流程为:

  a. 用户输入字符a

  b. 登陆工具接收到字符a,并将其发送给对端

  c. 用户输入回车

  d. 登陆工具接收到回车,并将其发送给对端

  e. 对端执行命令,并将结果发送回登陆工具

  f. 登陆工具在命令行界面里显示命令执行结果(比如"-bash: a: command not found")

在头文件中加上头文件:#include

重写两个函数:

我们这里使用的是STM32F103的串口2,到这里,就可以使用printf和scanf函数了,并且这里的scanf具慎塌孙有衫亮简单的回显功能,比如我们在while循环中调用scanf函数,打开超级终端,在键盘上敲击“ShowBack”,在超级终端宽链上就会显示出来。

1.开机进入BIOS。

2.进入BIOS后胡慎悔,选择“Integrated Peripherals(完整的外围设备设置)”然后选择并设置“Parallel Port Mode(并行口模式)”项为Normal(SPP),如果没有Normal,必须选择SPP。

(部分主板的“Parallel PortMode(并行口模式)”裤正显示在孝敏“SuperIO Configuation”项中的“Parallel Port Mode(并行口模式)”项)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12250643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存