vxworks中的串行端口访问不起作用

时间:2011-06-29 07:10:56

标签: serial-port vxworks

我需要通过vxworks中的串口发送数据。我使用以下代码。但 它没有用。任何人都指出出了什么问题?

int f;

if(f=open("/tyCo/1",O_RDWR,0)<0)
{
    printf("Error opening serial port.");
    return 1;
}

write(f,"hello",5);

运行此代码后,没有数据通过串口传入,而是通过串口传入 终端(龙卷风壳)。系统有两个串行设备/ tyCo / 1和/ tyCo / 0。我试过了两个,但问题仍然存在。

感谢adavnce Likhin。

3 个答案:

答案 0 :(得分:1)

您是否设置了波特率?

if (iocl(m_fd, FIOBAUDRATE, rate )) == ERROR )
{
    //throw error
}

答案 1 :(得分:0)

您可能使用了错误的设备名称,并且Tornado Shell已设置为您的默认设备。来自vxdev.com

  

如果找不到匹配的设备名称,则指示I / O功能   在默认设备上。您可以将此默认设备设置为中的任何设备   系统,根本不包括任何设备,在这种情况下无法匹配设备   name返回错误。您可以使用获取当前默认路径   ioDefPathGet()。您可以使用ioDefPathSet()设置默认路径。

答案 2 :(得分:0)

&#34;打开&#34;的第3个参数命令是,如果我没有错,那么模式。除了代码与UNIX的可比性之外,我真的不明白vxworks需要什么。简而言之,给出一些像0644或0666这样的值。我认为这会有所帮助。