我正在編寫一個vxworks任務,涉及通過串口發送數據。打開串口是成功的。但是當我試圖使用ioctl()系統調用設置端口的波特率時,它會失敗。我在下面給出代碼。任何人都可以請解釋一下嗎?第二個功能是總是失敗...設置串口的波特率在vxworks上失敗
int f, status;
if (f = open("/tyCo/1", O_RDWR, 0) == ERROR)
{
printf("error opening serial port; exiting...");
return 1;
}
if (status = ioctl(f, FIOBAUDRATE, 2400) == ERROR)
{
printf("ioctl error; exiting...");
return 1;
}
只是要清楚。你是說你打開端口然後設置波特率?如果這是正確的,請嘗試設置波特率,然後打開端口。 – dbasnett
@dbasbett - ioctl()需要從open()調用返回的文件描述符 - 您如何建議首先設置波特率? –
m - 檢查您正在使用的設備上的文檔以查看有效的波特率。仔細檢查設備上的任何配置設置。 –