嵌入式Linux中应用软件如何读取调试串口输入的数据?

kgduwu 2017-01-04 02:54:06
如题:嵌入式Linux中应用软件如何读取调试串口输入的数据?
之前开发了一个嵌入式设备,系统是基于Linux2.6.28内核裁剪的,现在别人的产品需要操控我的设备进行联动。需要我提供串口输入端口,硬件上目前只有调试串口,但是调试串口被用来出厂时通过命令行初始操控文件拷贝和配置。现在需要我的应用程序启动后接管调试串口接收其它厂家发送的控制指令。我的应用软件该怎么接管调试串口以便来接收串口信息?求指导?
...全文
791 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackindata 2019-11-14
  • 打赏
  • 举报
回复
引用 6 楼 小狼_DDDD 的回复:
楼主 能解答一下吗 我现在也是这个问题 weite正常,但是read一直读不出来 如果能解答真是太感谢您了!

很可能是这样:你对端的发送,被内核作为调试串口数据读取走了,你的程序无数据可读。发送却没这个问题。
小狼_DDDD 2019-10-09
  • 打赏
  • 举报
回复
楼主 能解答一下吗 我现在也是这个问题 weite正常,但是read一直读不出来 如果能解答真是太感谢您了!
  • 打赏
  • 举报
回复
引用 3 楼 kgduwu 的回复:
调试串口,已经被 linux shell作为控制台占用,作为Linux系统命令行输入端和回显端使用了。还能被我的应用软件当做普通的串口再次open么?
如果已经被使用了,肯定是不行的,但是如果你在串口没被使用的时候,或者使用了也可以通过重新初始化,SwitchUart来使用,使用完了以后再重新init switch回去
neunap 2017-01-05
  • 打赏
  • 举报
回复
引用 3 楼 kgduwu 的回复:
调试串口,已经被 linux shell作为控制台占用,作为Linux系统命令行输入端和回显端使用了。还能被我的应用软件当做普通的串口再次open么?
你说的是/dev/console吗? 资源被占用的话不一定能打开,我理解这个取决于驱动的实现,你可以试一下 如果你另外打开一个终端,比如ssh或telnet连接到你的设备,echo 123>/dev/console,看看串口是不是可以输出123,这个应该就是另一个进程,如果能写的话说明是可以用的,试试看结果
kgduwu 2017-01-05
  • 打赏
  • 举报
回复
调试串口,已经被 linux shell作为控制台占用,作为Linux系统命令行输入端和回显端使用了。还能被我的应用软件当做普通的串口再次open么?
  • 打赏
  • 举报
回复
一样的啊,串口初始化,打开,read/write
neunap 2017-01-05
  • 打赏
  • 举报
回复
调试串口和普通串口有区别吗? 直接打开这个串口设备文件进行读操作有什么问题?

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧