和屏幕输出相关的一个有关问题
和屏幕输出相关的一个问题在裸机状态下,Linux内核使用puts函数向屏幕输出字符,可以说是最简单的printf的实
和屏幕输出相关的一个问题
在裸机状态下,Linux内核使用puts函数向屏幕输出字符,可以说是最简单的printf的实现版本,只不过没有对格式解析进行支持,但照理说给定一个字符,只要调用支持屏幕输出的BIOS中断将该字符输出就可以了,为什么这里又涉及到了串口呢?查了些资料,发现没有这方面的解释,所以就想来请教一下有相关经验的各位老大。
puts函数的主要实现如下:
C/C++ codevoid puts(const char ch) { …… bios_intr_put(ch); serial_port_put(ch); ……}
其中一个问题如前所述,为什么在这里涉及到了串口,在屏幕的输出过程中这个函数起什么作用?如果我只调用BIOS中断输出那么在屏幕上还会出现这个字符吗?另外如果有详尽的资料就太感谢了。
第二个问题是想请问一下在输入输出系统调用的实现过程中是否也涉及到了串口,也就是说无论是否在裸机状态,只要向屏幕输出字符就一定涉及到串口?
还有就是想问下串口一般都是用来连接外设的,在工业控制系统中、PC机或者单片机上一般都用来连接哪些设备?这些方面接触的比较少,而且貌似网上也没多少资料,只是大概知道在PC机上是鼠标和USB,但是貌似串口是一个很老的设备了,不知道现在的PC机是否还支持串口,如果支持的话仍旧用来连接鼠标或者USB吗?
问题有些多,但是分数不是太多,多多包涵哈
[解决办法]串口作为输出字符设备是很正常的,比如/dev/ttyS0