ÈçÌ⣬ÔÚÍøÉÏÕÒµ½¹ØÓڷ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ÓëÖ¸Õ룬´ó¼Ò¾õµÃÕâ±¾ÊéÔõôÑù£¿»¹ÊÇ¿´ÆäËüµÄÊ飿
ÄãÓ¦¸ÃÖØÐÂÕÒ¡¶c primer plus¡·Õâ±¾Êé¿´¿´¡£
c ......