串口设置问题

中文QNX 讨论: 欢迎大家灌水,讨论有关QNX 问题。

串口设置问题

帖子caicaiHARRY » 周四 10月 13, 2011 8:26 pm

--------------------------------------------------------------
void set_serial_speed(int fd,int speed)
{
speed_t SpeedArr[] = {B115200,B57600,B38400,B19200,
B9600,B4800,B2400,B1200,B300};
int NameArr[] = {115200,57600,38400,19200,
9600,4800,2400,1200,300};
int i;
int Statue;
struct termios Opt;

tcgetattr(fd,&Opt);

for(i=0; i<sizeof(SpeedArr)/sizeof(int); i++)/*条件的含义?*/
{
if(speed == NameArr[i])
{
tcflush(fd,TCIOFLUSH);
cfsetispeed(&Opt,SpeedArr[i]);
cfsetospeed(&Opt,SpeedArr[i]);
Statue = tcsetattr(fd,TCSANOW,&Opt);
if(Statue != 0)
{
return;
}
tcflush(fd,TCIOFLUSH);
}
}
}
----------------------------------------------------
条件语句中的i<sizeof(SpeedArr)/sizeof(int)是什么意思,为什么要拿数组的大小和int的大小做比较?
caicaiHARRY
Senior Member
 
帖子: 10
注册: 周二 10月 11, 2011 2:32 pm

Re: 串口设置问题

帖子xtang » 周五 10月 14, 2011 10:22 pm

用来求出数组里元素的个数...
xtang
Moderator
 
帖子: 1815
注册: 周五 9月 12, 2003 4:14 am
地址: China


回到 四海同心QNX论坛

在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客

cron