fengzhaoscsc 发表于 2006-6-6 14:39:41

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

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运行起来以后,可以运行该打开串口程序,并可以读写串口。请教大家为什么?我该如何让程序在系统启动时,应用程序自启动?谢谢您!

lumit-support-1 发表于 2006-6-6 17:54:36

出现什么错误啊??
写在rc应该没问题啊,以前都试过

fengzhaoscsc 发表于 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);
}

lumit-support-1 发表于 2006-6-10 00:26:42

uart1试了吗??
当时在2410上的时候用uart0就有问题,有时候好像和终端冲突,用uart1就好了

heihei_8 发表于 2006-6-23 20:17:30

在rc下运行和在完全启动之后打开串口的区别在于:
rc那时还没有运行shell,一些别名,一些文件系统还没有加载.对于一些修改console取消对ttyS0控制的方法来说,还没有完全释放ttyS0. 如果shell没有运行导致一些运行系统命令不成功.
你可以尝试用inittab自动运行你的程序。但这样这个程序会在后台运行,不会出现在前面。
你可以尝试用/dev/ttyS0看行不行。
还可以尝试修改成/ttyS1看会不会出现同样问题。
页: [1]
查看完整版本: uclinux下rc脚本下自启动打开串口程序出错!