1. 虛擬機下的linux怎麼接受主機串口接收的數據
虛擬機中的串口連接可以採用兩種方法。一種是指定虛擬機的串口連接到實際的COM上,例如開發機連接到COM1,目標機連接到COM2,然後把兩個串口通過串口線相連接。另一種更為簡便的方法是:在較高一些版本的VMware中都支持把串口映射到命名管道,把兩個虛擬機的串口映射到同一個命名管道。例如,在兩個虛擬機中都選定同一個命名管道 \\.\pipe\com_1,指定target機的COM口為server端,並選擇"The other end is a virtual machine"屬性;指定development機的COM口端為client端,同樣指定COM口的"The other end is a virtual machine"屬性。對於IO mode屬性,在target上選中"Yield CPU on poll"復選擇框,development機不選。
串口是開發者經常要使用到的,我們有些時候需要使用windows開發,然而window裝在了虛擬機中,我們怎麼樣在虛擬機中使用串口呢?
1、在virtualbox中選擇啟用串口,埠模式選擇Host device.
由於現有兩個系統但是只有一個物理串口,所以虛擬機要通過主機的串口文件間接獲取數據,主機是linux,串口設備為/dev/ttyS0
2、埠/文件位置一欄填入:/dev/ttyS0,啟動虛擬機。
3、如果無法啟動虛擬機,很有可能是沒有對ttyS0設備的讀寫許可權,(可以ls -l /dev/ttyS0查看以下許可權)於是我們要修改ttyS0的許可權,在終端中輸入:sudo chmod 777 /dev/ttyS0 這樣就將ttyS0的所有許可權都打開了。啟動虛擬機,這時候就可以在虛擬機中(winXP)使用串口了
2. 如何設置linux虛擬機啟動時的串口波特率
用命令minicom -s 可以進到串口的設置界面 一般串口的Serial Device 值是填/dev/ttyS0 然後設置一下Bps/Par/Bits 保存,根據提示登陸串口即可
3. ARM和linux虛擬機串口通信,ARM端打不開串口設備。
查一下板子上的串口設備有沒有:
grep tty /proc/devices
如果有ttyS設備,再看/dev/有沒有ttySx,如沒有就建立一個:
mknod /dev/ttyS0 c 4 64
4. 用vmare虛擬機,虛擬linux下串口對聯
這個方法在同一台電腦上使用兩個vmare機虛擬linux,(在同一個vmare機上也可以建立兩個串口對聯,見文章末尾),建立一對虛擬串口,並虛擬串口聯通,搭建出兩機的串口通訊通路。適用於在沒有串口硬體設備的情況下,調試串口通訊程序。
(1) 確保安裝了linux的vmare虛擬機的串口沒被其他的程序佔用。
具體在fedora linux 6.0裡面,串口可能被xen服務佔用。最簡單的解除方法是,在fedora 啟動菜單裡面有兩項,第一項是默認啟動xen,第二項默認關閉xen,選擇從第二項啟動linux即可。若系統沒有提供這個選項。則首先確認xen服務在工作,再找其他辦法關閉xen服務,網上可以搜到。
(2) 分別在兩台虛擬機上,添加串口設備,並設置。
編輯第一台虛擬機,添加一個Serial Port,選擇use named pipe,然後輸入管道名稱: \\.\pipe\com_1,然後下面選擇this end is the server.和the other end is a virtual machine,把Yield CPU on poll勾上就可以了。
第二台虛擬機同上,尤其管道名稱要一樣,下面選擇this end is the client.其他一樣。
(3) 安裝設置Named Pipe TCP Proxy
打開Named Pipe TCP Proxy,選擇Edit→New,然後設置好named pipe名稱和埠號
pipe設置為: \\.\pipe\com_1(和vmare中名稱一樣) port設置為:2001(隨機) , 其它默認。
(4)開一個cmd窗口,輸入telnet 127.0.0.1 2001,如果提示attaching console,wait ... 就表示ok了,這個窗口不要關。這個步驟完成兩個虛擬串口的虛擬連接。
以上就完成了所有設置,下面來測試虛擬串口是否能正常工作:
在第一台虛擬機的命令行下輸入:cat /dev/ttyS0
在第二台虛擬機的命令行下輸入:echo 1234 >/dev/ttyS0
如果第一台虛擬機的命令行下列印出1234,則說明虛擬串口通訊成功。否則重點檢查步驟(1),看是否還有其他因素導致連接不通。
另外,以上通路也可以在一台vmare linux上建立,只需要在一台vmare上添加兩個串口,設置方法同(2),經過步驟(4)之後,虛擬連接了ttyS0和ttyS1。測試方法如下:
在一個命令行終端下輸入:cat /dev/ttyS0
在另一個命令行終端下輸入:echo 1234>/dev/ttyS1
如果第一個命令行終端下列印出1234,則說明通訊成功。
5. Vm Linux虛擬機怎麼掛載串口
虛擬機的串口上選擇好物理串口(物理串口不能被其他程序佔用)然後記得選擇上connected at power on 如果虛擬機開機的時候虛擬機為提示關於串口的錯誤 你在系統查看一下串口配置 然後短接物理串口的2 3 腳 看能否自發自收 如果可以 表示串口正常
6. VMware上的Linux虛擬機讀串口數據
你需要去買個usb轉232口的線,然後裝上驅動,再就在虛擬機裡面配置好串口,剩下的就是正常寫串口的程序而已了
7. 在虛擬機linux系統下用QT寫一個串口程序
看樣子你windows是host linux是client, 但是我不明白為什麼用com2 獲取和發送內容。 因為你的client ttyS0 明顯是第一個串口。
虛擬機設置串口 可以用pipe,文件或者物理串口。
你在host上訪問虛擬串口的時候是和這些管道交互,或者你可以下載一個name pipe tcp proxy 把虛擬串口的內容重定向到 網路埠上 然後telnet訪問
8. virtual box虛擬機中的linux系統無串口可用怎麼辦
VirtualBox默認配置下是沒有開啟串口的,如果你要在虛擬機中使用串品,就需要配置一下才能使用。 VirtualBox虛擬機 打開VirtualBox,選擇要使用串口的虛擬機 選擇「設置」菜單,或者右擊選擇「設置」 然後選擇「串口」項 接下來勾尋應用串口」
9. 虛擬機Linux下如何使用USB轉串口設備
usb轉串口設備需要單獨安裝驅動的,如果沒有驅動,當然無法識別了