Windows下SecureCRT串口终端显示

来源:互联网 发布:vlookup匹配两列数据 编辑:程序博客网 时间:2024/05/22 00:48

在学习《朱有鹏老师嵌入式linux核心课程》的《1.16.ARM裸机第十六部分-shell原理和问答机制引入》的《1.16.3.shell实战2-将简易shell移植到开发板中》的部分的时候,通过看对应的“3.shell_x210”的程序代码总结出下面SecureCRT终端的串口通信过程中的显示步骤:

首先必须明白一个知识点:

        在不同操作系统下键盘上的回车按键所代表的含义是不同的,Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。(上面红色部分字体摘自http://blog.csdn.net/silyvin/article/details/7275037)。


(以下情况分析都是对应本课程学习的时候对应的代码,下面的总结也只是在我现在学习程度下的总结,后续学习如果有新的发现还会更正)

情况一: S5PV210的串口通信模块发送字符串给SecureCRT终端

       每当SecureCRT串口中断接收到一个字符的时候,就会显示到Windows操作系统下的标准输出(即屏幕上),并不是缓存一个字符串之后统一输出(并不需要等待‘\n\r’,或者‘\0’)。而且接收并在屏幕上显示字符之后会自动将显示光标移动到下一个位置(即每次调用putchar之后,光标就会自动移动一个单位)。

      需要注意的是如果接收到控制字符(如‘\r’回车,‘\n’换行,‘\b’退格-->对应键盘上的backspace按键),不会显示,而是会控制显示光标进行相应的移动。


情况二:SecureCRT终端发送字符串给S5PV210的串口通信模块

      当从键盘中敲入一个字符,此时SecureCRT终端会立即将此字符发送给S5PV210的串口通信模块即不缓存(即不是等待按回车键之后才将数据发送过去)。另外,键入的字符将不会显示在SecureCRT终端之上,如果想显示,需要利用S5PV210的串口来达到回显功能。,即在char *gets(char *p)中调用putchar(ch)(ch是要回显的字符);

(正常情况下,当在键盘上按下一个按键的时候,是不能够在屏幕上显示,输入就是输入,输出就是输出,凭什么
按下一个按键就需要将按下的是什么显示在屏幕上呢,因此如果要实现回显功能必须程序员帮助实现,我们使用的PC机之所以按下某一个按键就能在屏幕上显示是因为有对应程序的支持,并不是天生就能回显的)。

      在回显过程中要实现换行功能一定要注意Windows系统里面,每行结尾是“<换行><回车>”。



0 0
原创粉丝点击