ARMlinux串列埠傳送

2021-10-09 19:39:13 字數 1734 閱讀 4310

首先選擇串列埠:位置方便,不和串列埠終端重合,定義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...