4
我想配置UART以在Linux中使用硬件流控制行RTS和CTS。根據http://linux.die.net/man/3/termios,CRTSCTS啓用RTS/CTS(硬件)流量控制,CLOCAL配置串口忽略調制解調器控制線。 2個標誌看起來是矛盾的,你如何使用CRTSCTS啓用硬件流控制並忽略CLOCAL?termios.c_cflag中的CLOCAL和CRTSCTS標誌如何影響串行端口?
我想配置UART以在Linux中使用硬件流控制行RTS和CTS。根據http://linux.die.net/man/3/termios,CRTSCTS啓用RTS/CTS(硬件)流量控制,CLOCAL配置串口忽略調制解調器控制線。 2個標誌看起來是矛盾的,你如何使用CRTSCTS啓用硬件流控制並忽略CLOCAL?termios.c_cflag中的CLOCAL和CRTSCTS標誌如何影響串行端口?
CLOCAL
忽略只有CD信號。
謝謝你的回答。我使用的是隻有RTS和CTS的UART,但我並不知道CD信號。 Google的一個快速搜索告訴我RS-232(也可能是其他串行協議)除了使用RTS和CTS之外,還使用載波檢測線。 – Samuel
來自Linux tty_ioctl(4)手冊頁的更多信息。 「如果一條線的CLOCAL標誌關閉,除非給出O_NONBLOCK標誌,否則硬件載波檢測(DCD)信號有效,並且相應端子的開路(2)將阻塞直到DCD置位,如果CLOCAL置位,該線路的行爲就好像DCD始終置位一樣,軟件載波標誌通常對本地設備打開,對於帶有調制解調器的線路則關閉。 –