⑴ Ubuntu linux中怎麼查看自己的串口連接情況
通過USB轉232串口線與PC機連接,這時候咱們的linux系統自動安轉了驅動程序,可以使迅稿陪用命令:dmesg 查看安裝驅動的信息。
使用命令 ls /dev/ttyUSB* 查看你敬伏的USB轉串口的狀態
使用命令 ls /dev/ttyS* 產畝蠢看串口(九針)的狀態
⑵ linux查找串口
1、設備入口
可以查/dev/ttyS* 、/dev/*uart*(主設備號4或者204),第一串口一般為ttyS0、*uart0等
USB轉串口設備一般為/dev/ttyUSB*(主設備號188),第一口一般為ttyUSB0
2、以上/dev下只是串口的入口,具體設備存在與否需要按關鍵字(ttyS、ttyUSB、uart)查詢/proc/devices以確定。
3、串口為通訊埠,有多個串口設備時,要確定正在被連接的串口是哪個,需要檢測一下,如:
cat /dev/ttyS0
⑶ linux 查看某個串口參數(波特率,數據位等)命令什麼
用CAT命令查看
#cat /proc/tty/driver/serial
如果需要配置串口參數,minicom是個很好的選擇。
一、安裝
sudo apt-get install minicom
二、配置
配置minicom的參數
運行$ sudo minicom -s
便進入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車。此時游標在「change which setting」後面停留,它的上面有如下菜單:
只需輸入上面對應的字母,就可以進如相應的菜單進行設置。設置完成,回車,游標會回到「change which setting」後面,如此重復。完成按回車返回主菜單即可。
⑷ linux如何查看哪個串口是真實串口,哪個串口
1.使用ls -l ttyS*命令顯示如下
crw-rw----. 1 root dialout 4, 64 5月 17 02:24 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 5月 17 02:24 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 5月 17 02:24 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 5月 17 02:24 /dev/ttyS3
但你不知到哪個是真實的串口,雖然一般都是ttyS0,但也不敢妄然確定。
2.使用cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:unknown port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
我們發現串口0的uart值時16550A,tx值為0,rx值也為0,因此我們斷定本機只有一個串口,是串口0,即ttyS0
3.也可以用dmesg | grep ttyS*,但這個不是很好用,當然你可以自己使用正則法則取找到。
注意:還應查看是否有USB轉串口,這個就很簡單了:ls ttyUSB*,全部搞定。
⑸ Ubuntu linux中怎麼查看自己的串口連接情況
我們在windows中查找自己的開發板與電腦的連接的COM口時,可以通過查找設備管理器來看,但是換到咱們的linux系統中就不能這樣做了,下面說一下在linux中是怎麼查看COM口信息的。
首先,將我的mini2440開發板通過USB轉232串口線與PC機連接,這時候咱們的linux系統自動安轉了驅動程序,可以使用命令:dmesg 來查看安裝驅動的信息,如下圖
從上圖可以看出咱們的串口設備是0,
你也可以使用命令: ls -l /dev/ttyUSB*來查看相關的信息,如下圖
至此,我們已經順利的將串口連接到Ubuntu系統上了,也查看到自己開發板連接的是USB轉串口設備/dev/ttyUSB0,如果是普通的串口設備會是/dev/ttyS*.
我們在配置minicom的時候會用到:http://blog.csdn.net/mybelief321/article/details/8987502
⑹ linux怎麼讀取串口數據
用echo可以,不過需要一個串口的軟體,就跟win的超級終端一樣,開啟後連接串口,然後毀棚另一邊發送數據,你這邊就能顯示出來,我記得好像纖悉則叫做陸李minicom
⑺ linux怎麼讀取串口數據
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<termios.h>
#include<errno.h>
#defineFALSE-1
#defineTRUE0
intspeed_arr[]={B38400,B19200,B9600,B4800,B2400,B1200,B300,B38400,B19200,B9600,B4800,B2400,B1200,B300,};
intname_arr[]={38400,19200,9600,4800,2400,1200,300,38400,19200,9600,4800,2400,族殲渣1200,300,};
voidset_speed(intfd,intspeed){
inti;
intstatus;
structtermiosOpt;
tcgetattr(fd,&Opt);
for(i=0;i<sizeof(speed_arr)/sizeof(int);i++){
if(speed==name_arr[i]){
tcflush(fd,TCIOFLUSH);
cfsetispeed(&Opt,speed_arr[i]);
cfsetospeed(&Opt,speed_arr[i]);
status=tcsetattr(fd,TCSANOW,&Opt);
if(status!=0){改慧
perror("tcsetattrfd1");
return;
}
tcflush(fd,TCIOFLUSH);
}
}
}
intset_Parity(intfd,intdatabits,intstopbits,intparity)
{
structtermiosoptions;
if(tcgetattr(fd,&options)!=0){
perror("SetupSerial1");
return(FALSE);
}
options.c_cflag&=~CSIZE;
switch(databits)
{
case7:
options.c_cflag|=CS7;
break;
case8:
options.c_cflag|=CS8;
break;
default:
fprintf(stderr,"Unsupporteddatasize ");return(FALSE);
}
switch(parity)
{
case'n':
case'N':
options.c_cflag&=~PARENB;/*Clearparityenable*/
options.c_iflag&=~INPCK;/*Enableparitychecking*/
break;
case'o':
case'O':
options.c_cflag|=(PARODD|PARENB);
options.c_iflag|=INPCK;/*Disnableparitychecking*/
break;
case'e':
case'E':
options.c_cflag|=PARENB;/*Enableparity*/
options.c_cflag&=~PARODD;
options.c_iflag|=INPCK;/*Disnableparitychecking*/
break;
case'S':
case's':/*asnoparity*/
options.c_cflag&=~PARENB;
options.c_cflag&=~CSTOPB;break;
default:
fprintf(stderr,"Unsupportedparity ");兆悄
return(FALSE);
}
switch(stopbits)
{
case1:
options.c_cflag&=~CSTOPB;
break;
case2:
options.c_cflag|=CSTOPB;
break;
default:
fprintf(stderr,"Unsupportedstopbits ");
return(FALSE);
}
/*Setinputparityoption*/
if(parity!='n')
options.c_iflag|=INPCK;
tcflush(fd,TCIFLUSH);
options.c_cc[VTIME]=150;
options.c_cc[VMIN]=0;/*UpdatetheoptionsanddoitNOW*/
if(tcsetattr(fd,TCSANOW,&options)!=0)
{
perror("SetupSerial3");
return(FALSE);
}
return(TRUE);
}
intmain()
{
printf("Thisprogramupdateslasttimeat%s%s ",__TIME__,__DATE__);
printf("STDIOCOM1 ");
intfd;
fd=open("/dev/ttyS0",O_RDWR);
if(fd==-1)
{
perror("serialporterror ");
}
else
{
printf("open");
printf("%s",ttyname(fd));
printf("succesfully ");
}
set_speed(fd,115200);
if(set_Parity(fd,8,1,'N')==FALSE){
printf("SetParityError ");
exit(0);
}
charbuf[]="fe55aa07bc010203040506073d";
write(fd,&buf,26);
charbuff[512];
intnread;
while(1)
{
if((nread=read(fd,buff,512))>0)
{
printf(" Len:%d ",nread);
buff[nread+1]='