我在可配置爲DTE/DCE的硬件上運行嵌入式Linux內核。在一個名爲tty_io.c的文件中,tty/serial驅動程序中有一個函數tty_tiocmset(),它從tty_ioctl中取一個位模式來設置/清除特定的調制解調器控制信號。有趣的是,tty_tiocmset()函數屏蔽了除TIOCM_DTR | TIOCM_RTS | TIOCM_OUT1 | TIOCM_OUT2 | TIOCM_LOOP之外的所有其他調制解調器信號(該掩碼如下所示)。但是,如果您查看文檔,看起來應該能夠設置/清除所有調制解調器信號http://www.kernel.org/doc/man-pages/online/pages/man4/tty_ioctl.4.html向下滾動到「調制解調器控制」。tty_tiocmset在Linux內核掩碼所需的調制解調器信號
有沒有人知道爲什麼這個面具沒有其他信號,如RI,CD,CTS,DSR?還有另一種方式使用未經修改的驅動程序來控制其他調制解調器信號?
謝謝,我對OUT1和OUT2信號感到困惑,但它確實有道理,我可以使用這些信號,並根據DCE的需要重新映射它們。我從來沒有看到他們出現在任何司機。由於我的驅動程序將允許uart端口充當dce或dte,我認爲將DTE調制解調器信號和OUT信號映射到相應的DCE調制解調器信號是最有意義的。 – user1415608