使用開發板與虛擬機器進行串列埠資料傳輸(檔案傳輸)

2021-08-28 04:50:19 字數 2111 閱讀 7858

這裡我們設定開發板為傳送端,虛擬機器或者電腦為接收端。(如果相反只要改一下裝置名稱和一些傳輸的方式就行了)

首先是開發板即傳送端:

/**********server.c***********/

#include

#include

#include

#include

#include

#include

#include

#define baudrate b9600

#define modemdevice "/dev/ttysac0"//這裡根據開發板的串列埠的介面設定

#define stop '@'

#define max   128

int main()

printf("open...\n");

tcgetattr(fd,&oldtio);

bzero(&newtio,sizeof(newtio));

newtio.c_cflag = baudrate|cs8|clocal|cread;

newtio.c_iflag = ignpar;

newtio.c_oflag = 0;

newtio.c_lflag = icanon;

tcflush(fd,tciflush);

tcsetattr(fd,tcsanow,&newtio);

printf("write...\n");

int fi,fo;

//開啟這兩個檔案,如果沒有,那麼就建立檔案,fo是用來測試的檔案可以不用看

fi = open("uartdata.txt",o_rdwr|o_creat);

fo = open("out.txt",o_rdwr|o_creat);

char a[100];

int i=0,size; 

size = read(fi,a,100);

printf("%s",a);

write(fd,a,size);//寫進串列埠

write(fo,a,size);//可以不用看,我是看能否把緩衝區的資料寫入檔案中的

printf("close..\n");

close(fd);

tcsetattr(fd,tcsanow,&oldtio);

return 0;

}然後是虛擬機器或者主機,我們設定為接收端:

/**************client.c***************/  

#include

#include

#include

#include

#include

#include

#include

#include

#define baudrate b9600  //設定波特率

#define modemdevice "/dev/ttys1"//這裡要看電腦上虛擬機器的串列埠對應的計算機所連線的物理串列埠

int main()  

printf("open...\n");  

tcgetattr(fd,&oldtio);  

bzero(&newtio,sizeof(newtio));  

newtio.c_cflag=baudrate | cs8 | clocal | cread;  

newtio.c_iflag=ignpar;  

newtio.c_oflag=0;  

newtio.c_lflag=icanon;  

tcflush(fd,tciflush);  

tcsetattr(fd,tcsanow,&newtio);  

printf("reading...\n");

int fo;

fo = open("/uartdata.txt",o_creat|o_rdwr);//開啟或者建立檔案

if(fo<0)

char a[100];

while(1)

printf("close...\n");  

close(fd);  

tcsetattr(fd,tcsanow,&oldtio);  

return 0;  

}  

arm開發板使用socket與虛擬機器連線不上

在開發板上使用qt進行socket程式設計時,以主機的虛擬機器為伺服器,開發板作為客戶端進行通訊。伺服器端和客戶端全部寫完後,在虛擬機器上執行時可以連線上,但是使用交叉編譯以後,移植到開發板上後,發現連線不上了。而且雙方ping是通的。然後使用主機作為客戶端新寫乙個socket去連線虛擬機器的伺服器...

開發板與虛擬機器網路連線

使用無線網絡卡上網,有線網絡卡與開發板 虛擬機器互聯。首先修改有線網絡卡的ip位址為靜態ip 192.168.1.10 255.255.255.0 將開發板和電腦直接用網線連線,這樣電腦和開發板就互通了。配置開發板ip,不同開發板配置檔案不一樣,jz2440是vi etc init.d rcs if...

PC,Linux虛擬機器,開發板網路設定

那麼linux虛擬機器ip可以設定為192.168.10.4 開發板ip設為192.168.10.5 開發板的網口通過網線接到pc的有線網口 此種情況沒有使用無線網絡卡。而且需要注意,ip位址不可以設定和無線網絡卡ip在同一網段上。sudo ifconfig eth4 192.168.10.175p...