PowerPC的板子,现成的评估板,内核是MPC8260。板子上没有标准的串口,只有一个2X5(10针)的接口,集成了两个SMC(串行管理控制器),针脚定义跟普通串口差不多,使用时只用一个。硬件就是这样,嵌入式系统是VxWorks。
编了一个读串口的小程序,用Select阻塞在板子的串口处,一旦接收到数据就读取并显示出来,主机这边用串口调试助手向串口发数据。按说点了发送之后数据就到板子的串口了,select函数应该有反应,然后触发读取和显示。但是目前的状况是,发送时必须在数据后附一个回车,否则程序没反应。如果连续发送数据都不带回车,那么直到附带回车后之前发送的数据才会被程序读取和显示。
这是什么情况,怎么感觉跟字符串读取似的呢?是否跟Read函数在驱动中的定义有关?没接触过驱动,求助。
PS:板子上的SMC口在手册里是按Monitor Port定义的,也就是对外显示的通道。我需要它只是一个纯粹的数据传输串口,有这方面的影响么?
读取和显示正常吗?
串口驱动应该是好的。
那你每次发送都带上回车就好了吧
排除回车问题,读取和显示都是正常的,只是每次都带一个回车实在不爽。而且后续的开发是要用串口作纯粹数据传输接口,担心这个问题会带来隐患。
你是不是调的WRITELINE一系列的API?不然没人会加这么奇怪的东西。
引用: 引用 3 楼 beyondma 的回复:
你是不是调的WRITELINE一系列的API?不然没人会加这么奇怪的东西。
那是什么东西?我只是在测试接收和发送功能,在接收上遇到了这样的问题。主要用到的函数除了设备初始化的,就是read、write和select相关
通过IO重定向将Monitor Port从SMC剥离,终于得到纯粹的数据串口。谢谢各位的回复。