linux串口安裝
Ⅰ linux串口相關的操作及綁定
@ toc
可在控制台輸入
也可以用stty設置串口參數
使用後相當於串口回傳,發什麼回什麼
發送數據
可以對串口發送數據比如對com1口
一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認是dev下的ttyS* ,一般ttyS0對應com1,ttyS1對應com2,當然也不一定是必然的;
如果有ttyS設備,再看/dev/有沒有ttyS*,如沒有就建立一個:
如果板子的設備中沒有標准串口設備ttyS0,也沒有ttySAC0。/dev下應該有一個USB串口:/dev/ttyUSB0.
當一個串列卡或數據卡被偵測到時,它會被指定成為第一個可用的串列設備。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),這完成看原已內建的串口數目。ttyS*設備會被報告在/var/run/stab內。
PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC
可能是linux下的串口設備沒有打開,需要改變串口設備
的許可權,或者根據文章頭添加用戶到組處理
可以通過以下命令 查看 板子上的硬體埠的內核設備名
該條命令會將 ttyUSB0所對應的硬體埠的kernel設備名 顯現出來, 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0
cmd.sh如下:
./getUSB.py 調用當前路徑下的getUSB.py這個Python語言,明確此次是哪個,ttyUSB0,或者ttyUSB1掛載在埠3-1.1上
getUSB.py:
完成之後 ,設置開機啟動cmd.sh(在/etc/rc.local中設置)則每次開機之後,會從/dev/ttydata獲取到固定埠的數據
方式一
寫入內容如下:
方式二
我的硬體序列號:ATTRS{serial}=="FTSYWCXZ"這個號是唯一的
可以通過/dev/usb_0打開串口設備
常用的匹配類型:
Ⅱ linux下安裝串口卡驅動(高手請進)
一般的 安裝 驅動:
找到 src 包,都是 源程序
make install
就可以了
good luck
Ⅲ 哪裡有LINUX下的串口調試工具
minicom
minicom 是一款啟動速度快,功能強大的串口終端調試工具,當然缺點就是純字元界面,沒有圖形界面的調試工具看起來直觀方便,但是它功能十分強大,並且在一些沒有屏幕的嵌入式主板上運行頗有用處。下面給出具體的安裝與使用教程:
安裝:apt-get install minicom
使用流程:
Ⅳ linux下usb轉串口的驅動怎麼裝啊
Linux發行版自帶usb to serial驅動,以模塊方式編譯驅動,在內核源代碼目錄下運行Make MenuConfig選擇Devces
drivers-->USB seupport--> <M>USB Serial Converter support
--> <M> USB driver for GSM and CDMA modems & [*]USB Generic
Serial Driver,保存退出。運行make
moles,編譯成功後可找到usbtoserial.ko及option.ko兩個驅動(2.6以上內核版本模塊驅動用.ko表示)。
Ⅳ linux下usb轉串口的驅動怎麼裝啊
Linux發行版自帶usb
to
serial驅動,以模塊方式編譯驅動,在內核源代碼目錄下運行Make
MenuConfig選擇Devces
drivers-->USB
seupport-->
<M>USB
Serial
Converter
support
-->
<M>
USB
driver
for
GSM
and
CDMA
modems
&
[*]USB
Generic
Serial
Driver,保存退出。運行make
moles,編譯成功後可找到usbtoserial.ko及option.ko兩個驅動(2.6以上內核版本模塊驅動用.ko表示)。
Ⅵ Linux串口調試工具--minicom
安裝完成後,請不要著急打開軟體。需先進行配置。具體步驟如下:
查看串口設備及文件許可權
linux下的所有操作面向用戶的都是文件操作,在對串口操作之前,我們應該先確認自己對該文件有沒有讀寫許可權。
linux下的usb串口命名為ttyUSB*,運行上面命令,可以看到有幾個設備掛載。
我們這里是:
只有ttuUSB0.再用lsusb查看:
usb 004正是我們掛上去的usb轉串口線纜,使用的晶元是PL2303。
但是正如上面顯示,ttyUSB0這個設備是root所有的,所以,我們以普通用戶身份打開minicom是沒法訪問該文件的。
運行sudo minicom -s便進入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車。此時游標在「change which setting」後面停留,它的上面有如下菜單:
我們只需輸入上面對應的字母,就可以進如相應的菜單進行設置。設置完成,回車,游標會回到「change which setting」後面,如此重復。完成按回車返回主菜單即可。
返回主菜單後,選擇「Save setup as df1」,將其保存為默認設置,然後選擇 Exit退出。需退出後重新打開minicom,軟體才會使用上述參數進行初始化。
注意:如果沒有使用USB轉串口,而是直接使用串口,那麼Serial Device要配置為/dev/ttyS0。
如果上面設置順利,打開minicom
重新給設備上電後,此時,窗口裡就有信息列印出來了。
1)需使用Ctrl+a 進入設置狀態
2)按z進入設置菜單
(1)O鍵:打開配置選項;
(2)W鍵:自動卷屏。當顯示的內容超過一行之後,自動將後面的內容換行。這個功能在查看內核的啟動信息時很有用。
(3)C鍵:清除屏幕的顯示內容;
(4)B鍵:瀏覽minicom的歷史顯示;
(5)X鍵:退出minicom,會提示確認退出。
Ctrl + A --> O
選擇"Filenames and paths"
更多的參數,參見"man minicom"的輸出。
如果不加這個項,那麼在minicom和pc交互的時候中鍵入命令超過一行時候會被截斷,(這時候可以通過 <C-a> w 來開和關切換截斷行功能).
這樣,啟動之後我們會發現顯示的內容不是黑白的了。
這樣,啟動之後,所在minicom的輸出都會在<filename>中保留一份,如果原來文件存在,則追加,不存在則創建一個。
這樣,我們可以取代用 <C-a> * 發送命令的方式,將 <C-a> 替換成 [Alt] 或者 [ESC] .
這里,<filename>是你的腳本文件的名字,應該指定絕對路徑,否則就會在你啟動minicom的路徑下尋找。
Minicom是基於窗口的。要彈出所需功能的窗口,可按下 Ctrl-A (以下使用C-A來表示Ctrl-A),然後再按各功能鍵(a-z或A-Z)。先按C-A,再按'z',將出現一個幫助窗口,提供了所有命令的簡述。配置 minicom(-s 選項,或者C-A、O)時,可以改變這個轉義鍵,不過現在我們還是用Ctrl-A吧。
這里,只給出很少的命令,更多的交互命令參見"<C-a> z"的幫助輸出。
minicom -s 或啟動minicom之後運行 <C-a> o 來進行配置。
C:腳本文件的存放位置: <C-a> g 運行腳本時的路徑 。
D:選擇腳本程序: 默認 runscript ,也可以選擇 bash 腳本格式。
可以參考man手冊 man runscript .交互命令中可以運行" <C-a> G "來運行腳本。
參考資料 :
Ⅶ Linux系統下PCI轉串口卡驅動安裝方法
以下答案是我從我愛買電腦配件批發網上摘過來的,。
由於公司產品要做行業市場,而產品與行業用戶間PC的通訊為RS232串口方式。而行業用戶那裡的PC都沒有串列口,而且行業用戶PC操作系統為Turbo Linux。怎麼辦?
辦公室內有台機器是RedHat Linux 9.0 一個是 Fedora Core 5 。就先在這兩個系統上試驗吧。這兩台電腦上各自本身就有2個RS232串口。
一、PCI轉串口卡安裝 型號NetMos Nm9835CV
1、插入PCI卡到主機
2、啟動 Linux,打開終端
3、輸入命令:#setserial /dev/ttyS0 -a (COM-1)
顯示內容:/dev/ttyS0, Line 0, UART: 16550A, Port: 0x3f8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
4、輸入命令:#setserial /dev/ttyS2 -a (COM-3)
顯示內容:/dev/ttyS2, Line 2, UART: unknown, Port: 0x3e8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
第3、4步操作的目的主要是對主機自帶串口及PCI擴展串口的區別。區別在於4顯示的內容中UART:未unknow。不過若您檢測這一步的時候 UART為16550A而不是unknow,證明你的系統已經認識了擴展的串口,不需要進一步設置,直接跳入第8步測試就可以了。
5、需要輸入命令查看一下您當前PCI檢測的狀態,以便對擴展串口進行設置
#more /proc/pci
會顯示出一堆的信息,不要因為看不懂而嚇壞了。只要看到類似於這個PCI的信息,比如:PCI communication。。。或者Board with Nm9835CV part。。。 可能就是這個卡了,主要看看它的終端是多少,即irq多少及分配的地址是多少。例如:(不一定完全一樣)
Board with Nm9835CV part irq:11
I/O at 0xc000 [0xc001] serial port 1
I/O at 0xc400 [0xc401] serial port 2
I/O at 0xc800 [0xc801] not used
I/O at 0xd000 [0xd001] not used
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
6、知道PCI擴展卡的終端為11 串口1地址為0xc000 串口2地址為0xc400..
就可以設置擴展的串口了。輸入命令:
setserial /dev/ttyS2 port 0xc000 UART 16550A
irq 11 Baud_base 115200
另一個串口也類似的這么操作
7、設置完畢後,就可以看看設置的情況了,輸入第2步的命令看看,UART是否就是16500A 而不是 unknow了,如果是16500A恭喜,可能設置好咯,如果不是那就再檢查一下吧。
8、設置好了後是不是需要測試一下是否能夠通訊呢?最好的辦法是兩台pc相連。如果pc為windows操作系統就用超級終端,是linux呢就用minicom吧
9、裝有linux的機器,首先需要設置一下監聽的串口參數,輸入命令
#minicom -s
進入界面後有個框彈出來,如果你還認識點英文單詞的話,就回知道選擇哪個的。應該是第三個吧,串口設置。
將第一行更改為 /dev/ttyS2
波特率也更改您所需要的。
更改完後保存,保存的那個菜單應該是 save ... df1
最後 exit
10、在另外一台機器發送數據,這台機器minicom界面就能夠收到信息了,成功後覺得挺有意思。另外不要把兩個COM順序弄翻了,如果弄錯了哪個是COM3 COM4測試可就不靈便咯。
Ⅷ Linux C 配置串口
配置串口需要包含頭文件
其中最核心的配置結構體為:
如何獲取該結構呢?我們操作串口跟操作文件一樣,也是調用 open() 函數來打開串口,
這樣我們就能夠得到一個文件描述符 fd ,然後就可以調用 tcgetattr() 函數來獲取上述配置結構體了。
Linux 串口默認的配置為:波特率 9600,數據位 8 位,無奇偶校驗,停止位 1 位,無 CTS/RTS 。
以下介紹一些常用的配置項:波特率、奇偶校驗、數據位、停止位、硬體控制流。
相關介面:
Linux 將串口的波特率分為了輸入波特率和輸出波特率,不過最常用的場景是將兩者設置成一樣。
cfgetispeed() 函數獲取輸入波特率, cfgetospeed() 函數獲取輸出波特率。 cfsetispeed() 函數設置輸入波特率, cfsetospeed() 函數用於設置輸出波特率,當然 cfsetspeed() 函數擴展為同時設置輸入和輸出波特率。
上述介面中的 speed_t 是一系列波特率的標志位,例如常用的 115200 波特率就為 B115200,參考下述選項:
設置奇偶校驗位可以通過修改 termios 結構體中的 c_cflag 成員來實現,若無校驗,則將 PARENB 位設為 0;若有校驗,則 PARENB 為 1。之後再根據 PARODD 來區分奇偶校驗, PARODD 為 1 表示奇校驗, PARODD 為 0 表示偶校驗。例如設置無奇偶校驗位:
設置數據位可以通過修改 termios 結構體中的 c_cflag 成員來實現,CS5、CS6、CS7 和 CS8 分別代表數據位 5、6、7 和 8。不過在設置數據位之前,需要先用 CSIZE 來做屏蔽欄位,清楚這幾個標志位,例如設置數據位為 8 位:
設置停止位可以通過修改 termios 結構體中的 c_cflag 成員來實現, CSTOPB 位為 1 表示 2 位停止位, CSTOPB 位為 0 標志 1 位停止位。例如設置停止位為 1 位:
設置硬體控制流可以通過修改 termios 結構體中的 c_cflag 成員來實現, CRTSCTS 為 1 表示使用硬體控制流,為 0 表示不使用硬體控制流。例如使能硬體控制流:
當然,最後還需要用 tcflush() 拋棄存儲在 fd 里的未接收的數據。
再利用介面 tcsetattr() 函數將配置信息寫入文件描述符 fd :
這樣整個串口最常用的用法就配置完成了。
具體的配置使用可以參考我的項目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。
參考: