天嵌 ARM开发社区

 找回密码
 注册
查看: 2034|回复: 13

若程序开机自动运行,串口无法通信,通过命令执行就可以

[复制链接]
卡卡西莫多 发表于 2012-11-5 09:50:34 | 显示全部楼层 |阅读模式
QT4 下 ,通过secureCRT命令使串口通信程序运行时,就可以正常通信,若把它设置为开机运行,就无法和PC的串口进行通信,这是怎么回事?
uboot启动参数是这样:bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0000
亚瑟王 发表于 2012-11-5 15:09:37 | 显示全部楼层
真心没搞懂你的意思。
 楼主| 卡卡西莫多 发表于 2012-11-5 16:18:06 | 显示全部楼层
亚瑟王 发表于 2012-11-5 15:09
真心没搞懂你的意思。

我已经说的很明白了:我有一个串口通信程序,目的是和PC进行串口通信:如果我用超级终端命令 "./xx -qws"(xx是可执行文件名),使它运行,就能够和PC串口通信。
   如果我设置这个程序开机运行,就接收不到PC发的数据,也发不到PC去
  我是通过PC上的串口助手接收和发送数据
亚瑟王 发表于 2012-11-5 16:37:02 | 显示全部楼层
卡卡西莫多 发表于 2012-11-5 16:18
我已经说的很明白了:我有一个串口通信程序,目的是和PC进行串口通信:如果我用超级终端命令 "./xx -qws" ...

此时串口有什么信息出现呢?
 楼主| 卡卡西莫多 发表于 2012-11-5 16:38:41 | 显示全部楼层
亚瑟王 发表于 2012-11-5 16:37
此时串口有什么信息出现呢?

没有信息,双方无法通信
 楼主| 卡卡西莫多 发表于 2012-11-5 16:40:53 | 显示全部楼层
亚瑟王 发表于 2012-11-5 16:37
此时串口有什么信息出现呢?

并且奇怪的是,我开机运行串口通信程序,有一个按钮是打开串口功能,按了一次后就死机了,有时候按两次死机,程序无法动了

可是我通过命令执行,却没有任何问题
亚瑟王 发表于 2012-11-5 17:00:46 | 显示全部楼层
卡卡西莫多 发表于 2012-11-5 16:40
并且奇怪的是,我开机运行串口通信程序,有一个按钮是打开串口功能,按了一次后就死机了,有时候按两次死 ...

你可以用天嵌科技提供的qt4的串口程序试试。怀疑你的串口通讯程序有问题。
 楼主| 卡卡西莫多 发表于 2012-11-5 17:03:22 | 显示全部楼层
亚瑟王 发表于 2012-11-5 17:00
你可以用天嵌科技提供的qt4的串口程序试试。怀疑你的串口通讯程序有问题。

没有问题啊,我用secureCRT 输入命令是它运行,就能够完美地与PC通信,开机自动就不行
亚瑟王 发表于 2012-11-5 17:21:02 | 显示全部楼层
卡卡西莫多 发表于 2012-11-5 17:03
没有问题啊,我用secureCRT 输入命令是它运行,就能够完美地与PC通信,开机自动就不行

如果没有问题,为什么自动运行就不行了呢?你试试我们提供的那个串口程序先。
 楼主| 卡卡西莫多 发表于 2012-11-5 17:24:30 | 显示全部楼层
亚瑟王 发表于 2012-11-5 17:21
如果没有问题,为什么自动运行就不行了呢?你试试我们提供的那个串口程序先。

我怀疑开机自动运行的情况下,串口是作为控制台在使用,以为我的串口助手打开后会出现
Please press Enter to activate this console.   这一类的话。。。。。。。
而通过命令使他运行,串口是普通IO口,所以能正常通信,可是为什么会有这种差别呢?版主提供点思路
 楼主| 卡卡西莫多 发表于 2012-11-5 20:14:09 | 显示全部楼层
亚瑟王 发表于 2012-11-5 17:21
如果没有问题,为什么自动运行就不行了呢?你试试我们提供的那个串口程序先。

解决了,把uboot启动参数bootargs 后面的值改成串口名字noinitrd root=/dev/mtdblock2 init=/linuxrc console=tq2440_serial0
 楼主| 卡卡西莫多 发表于 2012-11-5 20:15:42 | 显示全部楼层
亚瑟王 发表于 2012-11-5 17:21
如果没有问题,为什么自动运行就不行了呢?你试试我们提供的那个串口程序先。

还有个问题想请问,我打开secureCRT,运行了一次串口通信程序之后,无法通过ctrl+c 退出运行,回到命令模式?怎么解决这个问题
TQ-lkp 发表于 2012-11-6 09:19:22 | 显示全部楼层
本帖最后由 TQ-lkp 于 2012-11-6 09:20 编辑

你如果开机运行的程序是后台运行的即 ./xx -qws & 是没有办法使用ctrl+c,只能使用killall xx
ww110052181 发表于 2012-11-11 07:53:37 | 显示全部楼层
:):):):):):):):)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-29 14:35 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表