串口初始化中CSIZE是什么意思

在进行出口初始化时,对数据位设定时,用了这样的语句

struct termios opt;
opt.c_cflag &= ~CSIZE;
opt.c_cflag |= CS8;
在设置数据位为8时为什么要用opt.c_cflag &= ~CSIZE;这条语句?求大神指点。

//先屏蔽其他标志
Opt.c_cflag&=~CSIZE;
//紧接着将数据位修改为8bit
Opt.c_cflag |=CS8;

先屏蔽其他标志,清零。-- 初始化。
然后设置位数。