首先選擇串列埠:位置方便,不和串列埠終端重合,定義char* 為串列埠節點目錄(/dev/tty/ttysac3)
char *uart3 = "/dev/ttysac3";
然後定義乙個傳送資料buffer
char *buffer = "hello world !\n";
開啟串列埠,呼叫配置函式set_opt(自己定義的)
if((fd = open(uart3, o_rdwr|o_noctty|o_ndelay))<0)
else
sleep(1);//sleep 1 second
} }close(fd);//release fd(dev/ttysac3)
整個編寫完之後,使用
arm-none-linux-gnueabi-gcc -o uartwrite uartwrite.c
命令來編譯這個程式,生成之後用u盤或者其他方式放在目標arm處理器中使用
./uartwrite
即可執行該程式~
執行後如下
wly uart3 writetest start
open /dev/ttysac3 is success
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
wr_static is 13
[root@wly]#
整個**如下
#include #include #include #include #include #include #include #include int set_opt(int,int,int,char,int);
void main()
else
sleep(1);
} }close(fd);
}int set_opt(int fd,int nspeed, int nbits, char nevent, int nstop)
bzero( &newtio, sizeof( newtio ) );
newtio.c_cflag |= clocal | cread;
newtio.c_cflag &= ~csize;
switch( nbits )
switch( nevent )
switch( nspeed )
if( nstop == 1 )
newtio.c_cflag &= ~cstopb;
else if ( nstop == 2 )
newtio.c_cflag |= cstopb;
newtio.c_cc[vtime] = 0;
newtio.c_cc[vmin] = 0;
tcflush(fd,tciflush);
if((tcsetattr(fd,tcsanow,&newtio))!=0)
// printf("set done!\n\r");
return 0;
}
ARM linux如何開啟串列埠
查詢串列埠對應核心的串口號 可以使用 ls dev tty 檢視所有和串列埠相關的裝置節點檔案 下面是各類tty的區別 1 ttys 串列埠終端 dev ttysn 串列埠終端 serial port terminal 是使用計算機串列埠連線的終端裝置。計算機把每個串列埠都看作是乙個字元裝置。有段時...
ARM linux開發之Ubuntu上串列埠終端
為了避免在arm開發中頻繁的切換ubuntu和windows系統,所以就想到,直接能控制開發板就好了。如圖所示,將串列埠連線到虛擬機器 linux ubuntu sudo apt get install minicomlinux ubuntu dmesg grep ttys 0.004000 con...
ARM linux開發之Ubuntu上串列埠終端
為了避免在arm開發中頻繁的切換ubuntu和windows系統,所以就想到,直接能控制開發板就好了。如圖所示,將串列埠連線到虛擬機器 linux ubuntu sudo apt get install minicomlinux ubuntu dmesg grep ttys 0.004000 con...