QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3404|回复: 4

uclinux下rc脚本下自启动打开串口程序出错!

[复制链接]
发表于 2006-6-6 14:39:41 | 显示全部楼层 |阅读模式
uclinux下rc脚本下自启动打开串口程序出错!应用程序的打开串口语句为:  fd=open("/dev/uart0",O_RDWR|O_NDELAY|O_NOCTTY);
         if (fd>0)
              {
                      printf("串口%d打开..............fd is %d\n",i,fd);  
              }
            else
        {
                 printf("Can't Open Serial Port!\n");
                 exit(0);
}
而uclinux运行起来以后,可以运行该打开串口程序,并可以读写串口。请教大家为什么?我该如何让程序在系统启动时,应用程序自启动?谢谢您!
发表于 2006-6-6 17:54:36 | 显示全部楼层
出现什么错误啊??
写在rc应该没问题啊,以前都试过
回复

使用道具 举报

 楼主| 发表于 2006-6-7 08:47:12 | 显示全部楼层
uclinux下rc脚本下自启动打开串口程序出错!就是在应用程序中打开串口出错,也就是fd<0;但是等uclinux启动以后,在终端可以运行该应用程序,可以打开串口也可以读写串口,为什么在rc自启动该程序不可以啊!
应用程序的打开串口语句为: fd=open("/dev/uart0",O_RDWR|O_NDELAY|O_NOCTTY);
if (fd>0)
{
printf("串口%d打开..............fd is %d\n",i,fd);
}
else
{
printf("Can't Open Serial Port!\n");
exit(0);
}
回复

使用道具 举报

发表于 2006-6-10 00:26:42 | 显示全部楼层
uart1试了吗??
当时在2410上的时候用uart0就有问题,有时候好像和终端冲突,用uart1就好了
回复

使用道具 举报

发表于 2006-6-23 20:17:30 | 显示全部楼层
在rc下运行和在完全启动之后打开串口的区别在于:
rc那时还没有运行shell,一些别名,一些文件系统还没有加载.对于一些修改console取消对ttyS0控制的方法来说,还没有完全释放ttyS0. 如果shell没有运行导致一些运行系统命令不成功.
你可以尝试用inittab自动运行你的程序。但这样这个程序会在后台运行,不会出现在前面。
你可以尝试用/dev/ttyS0看行不行。
还可以尝试修改成/ttyS1看会不会出现同样问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 16:08 , Processed in 0.064068 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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