VxWorks在运行时更改控制台端口



有什么方法可以在运行VxWorks 7的iMX6上更改控制台端口吗?我知道如何通过内核配置来更改它,但这是一个编译时设置。有什么办法可以让我在跑步时换一下吗?

ioLib文档解释了如何在运行时全局或按任务重定向stdio文件描述符,分别使用ioGlobalStdSet()ioTaskStdSet()。您可以独立设置stdin、stout和stderr,因此需要设置这三个选项来重定向所有控制台I/O。

例如:

#include <ioLib.h>
int redirectStdio( const char* devname )
{
int new_io_fd = open( devname, O_RDWR, 0 ) ;
if( new_io_fd >= 0 )
{
ioGlobalStdSet( STD_IN, new_io_fd ) ;
ioGlobalStdSet( STD_OUT, new_io_fd ) ;
ioGlobalStdSet( STD_ERR, new_io_fd ) ;
}
return new_io_fd ;
}

那么你可能有:

if( redirectStdio( "/tyCo/2" ) < 0 )
{
printf( "Redirect failed - still here!n" ) ;
}
else
{
printf( "stdio now directs heren" ) ;
}

还有ioGlobalStdGet()ioTaskStdGet()功能,因此可以保留原始设置,并在必要时恢复它们。

相关内容

  • 没有找到相关文章

最新更新