当前位置: 技术问答>linux和unix
急,linux C++ 串口非标准波特率设置问题,谢谢大虾
来源: 互联网 发布时间:2016-09-14
本文导语: 如题,在网上找到关于非标准波特率设置的方法,但是却报错误,特来请教,谢谢大家!! 程序如下: //设置为特诉波特率,比如28800 int operateCardData::serial_set_speci_baud(struct serial_t *tty,int baud) { struct serial_stru...
如题,在网上找到关于非标准波特率设置的方法,但是却报错误,特来请教,谢谢大家!!
程序如下:
//设置为特诉波特率,比如28800
int operateCardData::serial_set_speci_baud(struct serial_t *tty,int baud)
{
struct serial_struct ss,ss_set;
cfsetispeed(&tty->options,B38400);
cfsetospeed(&tty->options,B38400);
tcflush(tty->fd,TCIFLUSH);/*handle unrecevie char*/
tcsetattr(tty->fd,TCSANOW,&tty->options);
if((ioctl(tty->fd,TIOCGSERIAL,&ss))fd,TIOCSSERIAL,&ss))fd,TIOCGSERIAL,&ss_set);
printf("BAUD: success set baud to %d,custom_divisor=%d,baud_base=%dn",
baud,ss_set.custom_divisor,ss_set.baud_base);
return 0;
}
报错如下:
BAUD: error to set serial_struct:Operation not permitted
谢谢大家了!!!!
程序如下:
//设置为特诉波特率,比如28800
int operateCardData::serial_set_speci_baud(struct serial_t *tty,int baud)
{
struct serial_struct ss,ss_set;
cfsetispeed(&tty->options,B38400);
cfsetospeed(&tty->options,B38400);
tcflush(tty->fd,TCIFLUSH);/*handle unrecevie char*/
tcsetattr(tty->fd,TCSANOW,&tty->options);
if((ioctl(tty->fd,TIOCGSERIAL,&ss))fd,TIOCSSERIAL,&ss))fd,TIOCGSERIAL,&ss_set);
printf("BAUD: success set baud to %d,custom_divisor=%d,baud_base=%dn",
baud,ss_set.custom_divisor,ss_set.baud_base);
return 0;
}
报错如下:
BAUD: error to set serial_struct:Operation not permitted
谢谢大家了!!!!
|
用户权限够不?
|
权限问题吧