日期:2014-05-16  浏览次数:20709 次

unix下串口编程 cts和rts的获取和设置
看到很多关于cts和rts的介绍,但都没有说怎么获取和设置的。高手们帮忙介绍下。又源码更好拉~~先谢过~~

------解决方案--------------------
C/C++ code

/*
    设置某一信号位为 1
*/
int SingleComport::SetHighSignal(int signal)
{
    if(fd == -1) return ERRCOM_NOTOPEN;
    int status;    
    ioctl(this->fd, TIOCMGET, &status);
    status |= signal;
    ioctl(this->fd, TIOCMSET, &status);
}

/*
    设置某一信号位为 0
*/
int SingleComport::SetLowSignal(int signal)
{
    if(fd == -1) return ERRCOM_NOTOPEN;
    int status;    
    ioctl(this->fd, TIOCMGET, &status);
    status &= (~signal);
    ioctl(this->fd, TIOCMSET, &status);
}
 /* 调用 */
linkComport->SetLowSignal(TIOCM_RTS);     // RTS=0:读    RTS=1:写