我需要通过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。
答案 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这样的值。我认为这会有所帮助。