ÈçÌ⣬ÔÚÍøÉÏÕÒµ½¹ØÓڷDZê×¼²¨ÌØÂÊÉèÖõķ½·¨£¬µ«ÊÇÈ´±¨´íÎó£¬ÌØÀ´Çë½Ì£¬Ð»Ð»´ó¼Ò£¡£¡
³ÌÐòÈçÏ£º
//ÉèÖÃÎªÌØËß²¨ÌØÂÊ£¬±ÈÈç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)) <0){
printf("BAUD: error to get the serial_struct info:%s\n",strerror(errno));
return -1;
}
ss.flags = ASYNC_SPD_CUST;
ss.custom_divisor = ss.baud_base / baud;
if((ioctl(tty->fd,TIOCSSERIAL,&ss)) <0){
printf("BAUD: error to set serial_struct:%s\n",strerror(errno));//ÔÚÕâÀï³öÏֵĴíÎó
return -2;
}
ioctl(tty->fd,TIOCGSERIAL,&ss_set);
printf("BAUD: success set baud to %d,custom_divisor=%d,baud_base=%d\n",
baud,ss_set.custom_divisor,ss_set.baud_base);
return 0;
}
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......