我剛剛完成了乙個串列埠的專案,有一點收穫,就說說著段時間的體會吧!
後來發現,其實串列埠程式設計的實質就是多串列埠屬性的設定。
而屬性也就下面這麼幾個:
c_cflag control options
c_lflag line options
c_iflag input options
c_oflag output options
c_cc control characters
c_ispeed input baud (new inte***ce)
c_ospeed output baud (new inte***ce)
關鍵是理解有那些屬性引數可以設定以及是什麼意思。
當把這篇文章看完之後,基本可以解決串列埠的設定問題了。不過這是乙個英文的版本,本人打算在暑假裡把他翻譯為中文版本。
關於具體的例子:
http://.comptechdoc./os/linux/programming/c/linux_pgcserial.html不錯,很詳細,不過比較複雜。
中文的《linux serial howto 中譯版》上面就有不少,也很值得參考。
下面的是我的程式,乙個串列埠讀取,往mysql資料庫寫資料的程式:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "mysql.h"
#define baudrate b9600
#define device "/dev/ttys0"
#define _posix_source 1
#define false 0
#define true 1
int insertdb(int d1, int d2, int d3, int d4) else
mysql_close(&connect);
} else
return exit_success;
}int main(void)
tcgetattr(fd, &oldtio);
bzero(&newtio,sizeof(struct termios));
newtio.c_cflag|= (clocal | cread);
newtio.c_cflag|=baudrate;
newtio.c_cflag&=~cstopb;
newtio.c_cflag&=~parenb;
newtio.c_cflag&=~csize;
newtio.c_cflag|=cs8;
newtio.c_cflag&=~crtscts;
newtio.c_lflag=0;
newtio.c_oflag=0;
newtio.c_cc[vmin]=4;
newtio.c_cc[vtime]=0;
newtio.c_iflag&=~(ixon|ixoff|ixany);
cfsetispeed(&newtio, baudrate);
cfsetospeed(&newtio, baudrate);
tcsetattr(fd, tcsanow, &newtio);
tcflush(fd, tciflush);
cbuf[0] = 0x00;
// cbuf[1] = 0x00;
j = 0;
for(k = 0; k < 4; k++)
res_w = write(fd, cbuf, 2);
/* debug here
printf("cbuf : %x %x /n", cbuf[0], cbuf[1]);
printf("buf : %x : %x : %x : %x /n", inbuf[0], inbuf[1], inbuf[2], inbuf[3]);
*/res_r = read(fd, &inbuf, 255);
if(res_r != -1)
printf("/n");
if(insertdb(buf[0], buf[1], buf[2], buf[3]))
printf("insert into db success!");
}else // if end here
}// for end here
tcsetattr(fd, tcsanow, &oldtio);
close(fd);
exit(0);
} // main end here
linux下串列埠程式設計的個人心得
後來發現,其實串列埠程式設計的實質就是多串列埠屬性的設定。而屬性也就下面這麼幾個 c cflag control options c lflag line options c iflag input options c oflag output options c cc control charac...
centos下安裝odbc驅動個人心得
centos下安裝odbc驅動個人心得 環境依賴和安裝包版本 我是在centos虛擬機上安裝的,虛擬機器是centos linux release 7.6.1810 core odbc的驅動版本 unixodbc 2.3.4 oracle instantclient12.2 basic 12.2.0...
react專案成型的個人心得
此文是我在react專案搭建後對整個流程的一些環節進行整理和梳理,如有錯誤還請指正。一般目錄結構搭建好後,我們會首先在src中開始工作,因為大多數 都是在src中完成的。這裡要說乙個react專案的構建思想 1 準備工作比較全面的目錄結構如下 關於入口檔案以下是基礎和全面版 2 建立主元件3拆分元件...