wlcwjy 发表于 2011-7-9 12:51:55

inux2.6.28 ok6410 扩展串口不能用

OK6410串口的扩展串口不能使用,具体程序如下,系统中有节点ttySAC0,ttySAC1,ttySAC2,ttySAC3。ttySAC0为控制台,其中char *dev= "/dev/ttySAC0"; 的时候串口0可以发送数据PC能收到,但char *dev= "/dev/ttySAC1",char *dev= "/dev/ttySAC2",char *dev= "/dev/ttySAC3",的时候通过串口1,2,3PC收不到数据,除了新买的开发板里面电路好坏不能确定外,自己做的扩展电路没有问题。请大家帮忙找下问题,谢谢
int main(void){

         int fd;
         int nread,nwrite,count=0;
         char tempbuff;
         char *buff="you did it\n";
         char *dev= "/dev/ttySAC2";
         printf("open ttySAC0\n");
         fd = OpenDev(dev);
         printf("%d\n",fd);
      // printf("%fd\n",$fd);
         printf("set speed\n");
         set_speed(fd,115200);
          printf("set parity\n");
         if (set_Parity(fd,8,1,'N') == FALSE)
         {
            printf("Set Parity Error\n");
         }

      while (1)
      {   
            printf("write data to tty1\n");
         if((nwrite=write(fd,buff,strlen(buff)))<0)
         {
            printf("uart send Error\n");
         }
         printf("%d\n",nwrite);
         sleep(5);
          }
         close(fd);
}

      while (1)
      {   
            printf("write data to tty1\n");
         if((nwrite=write(fd,buff,strlen(buff)))<0)
         {
            printf("uart send Error\n");
         }
         printf("%d\n",nwrite);
         sleep(5);
          }
         close(fd);

飞凌-fatfish 发表于 2011-7-9 13:38:19

扩展板和应用程序无关。
扩展板是电气电平的转换。

wlcwjy 发表于 2011-7-9 15:59:08

电气电平的转换,没有问题,但现在是串口1,2,3,没数据数据输出

wlcwjy 发表于 2011-7-9 16:01:18

想了解下官方的inux2.6.28 是不是串口1,2,3驱动存在问题,造成测试程序无数据,如果是该怎么修改内核代码?

飞凌-fatfish 发表于 2011-7-9 16:39:40

驱动不用修改,可以直接使用。

wlcwjy 发表于 2011-7-11 09:57:46

如果驱动不用修改,为何我编写的以上测试程序串口1,也就是系统的控制台串口可以使用,但是其他的串口不可以使用,是不是要使用板上的扩展串口以上测试程序不正确?官方是否有扩展串口的测试程序。注:扩展串口的硬件电路和电气逻辑没有问题,已经多册测试,串口一直没能调通,希望给个测试程序或者帮忙分析下我写的以上程序是否有问题,谢谢。

wlcwjy 发表于 2011-7-11 14:56:38

自己顶,防沉,希望有人帮忙
页: [1]
查看完整版本: inux2.6.28 ok6410 扩展串口不能用