这是我一直在与微控制器接口的串行程序中的一个快速代码片段。代码已经被验证可以工作,但我想添加全局定义,以使代码更加模块化。所显示的节选有效,直到我用全局的'BAUDRATE‘替换'cfsetispeed’中的'B1000000‘为止。
// Globals
struct termios tty;
char BAUDRATE = B1000000; // 1,000,000
// All of the other details omitted ( int main (), etc. )
cfsetospeed (&tty, BAUDRATE);
cfsetispeed (&tty, B1000000);所以我想到了两个问题:
1)我读到Termios只允许选择波德率,最大上市是230,400。那一百万是怎么允许的?
2)为什么cfsetispeed( )不允许全局char定义作为参数?
发布于 2015-08-24 00:02:01
编辑:前面提供的链接死了,我设法在更新的版本中找到了等价的链接,所以这里是节选,以防它再次死掉:
#define CBAUDEX 0010000
#define BOTHER 0010000
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
#define B460800 0010004
#define B500000 0010005
#define B576000 0010006
#define B921600 0010007
#define B1000000 0010010
#define B1152000 0010011
#define B1500000 0010012
#define B2000000 0010013
#define B2500000 0010014
#define B3000000 0010015
#define B3500000 0010016
#define B4000000 0010017https://stackoverflow.com/questions/32079383
复制相似问题