[問題] UART Interface
我先說明我的情況,我目前正在做GPRS模組的實驗
就是用WinXP的超級終端機去開com1 (com1連接gprs module)
對gprs模組送AT command
超級終端機的設定是鲍率9600,傳輸資料為8 bits,
沒有同位元檢查,停止位元為1 bit。
現在我要把這個設定移到Linux系統上來做(Orz 其實是Embedded Linux)
所以我要自己搞一個tty介面,現在要來求救的就是這個介面的相關設定。
如果我要把這個介面的模式設定成跟XP的超級終端機一樣的話
我該把ttyS0設定為正規模式亦或是非正規模式?
open後面需除了正規/非正規,O_RDWD,O_NOCTTY外需不需要加上O_NDELAY旗標?
還有Termios結構中的options.c_iflag和option.c_oflag需不需要做特別的設定?
鮑率9600我這樣子的設定options.c_flag|=(B9600|CLOCAL|CREAD); 正確否?
至於8 bits 無同位元檢查 停止位元1 bit 設定如下
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag |= CS8; @@ 這樣不曉得有沒有問題
至於局部模式c_lflag除了正規/非正規外還需不需要另外加上什麼其他的設定?
例如:ECHO ECHOE?
特殊控制字元c_cc 因為AT command需要輸入<CR>還有ctrl+z這樣的訊號
那c_cc我應該要如何去設定呢? Orz 這部分我看書完全看不懂
不好意思問題有點多<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.81.110
推
04/07 00:43, , 1F
04/07 00:43, 1F
→
04/07 00:44, , 2F
04/07 00:44, 2F
→
04/07 08:11, , 3F
04/07 08:11, 3F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章