Linux 串列埠配置,初始化及使用

2021-08-20 22:26:37 字數 1934 閱讀 4871

【檢視串列埠】

4412採用 ttysac*系列串列埠裝置節點 ,即 ttysac0 , ttysac1 , ttysac2 , ttysac3

【開啟串列埠裝置節點】

「/dev/ttysac3」

形成fd 與 裝置節點的/dev/ttysac3鏈結

【初始化配置串列埠】

#include

#include

struct termio ;

int tcgetattr(int fd, struct termios *termios_p); //獲取fd所代表的串列埠的 termios 結構體值

int cfsetispeed(struct termios *termios_p, speed_t speed);

//設定termios_p b2400,b4800,b9600,b115200,b460800 

speed_t cfgetispeed(const struct termios *termios_p)

//獲取 termios_p 的波特率

int tcflush(int fd, int queue_selector);

/*清除串列埠中沒有完成輸入或輸出的資料

tciflush  清除正收到的資料,且不會讀取出來

tcoflush  清除正寫入的資料,且不會傳送至終端

tcioflush 清除所有正在發生的 i/o 資料*/

int tcsetattr(int fd, int optional_actions , const struct termios *new_termios_p);

/*配置 fd 所鏈結的串列埠

optional_actions : tcsanow:  不等資料傳輸完畢就立即改變屬性

tcsadrain:等待所有資料傳輸結束才改變屬性

tcsaflush:清空輸入輸出緩衝區才改變屬性

new_termios_p : 新的串列埠配置資料,傳遞給 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;

}【串列埠收發】

/*發-write*/

char *buffer = "which you want to send";

fd = open("/dev/ttysac3" , o_rdwr|o_noctty|o_ndelay)

write(fd,buffer, strlen(buffer));

/*收-read*/

char buffer[512];

nbyte = read(fd, buffer, 512);

nbyte返回所讀位元組數

串列埠的初始化和使用

新增全域性變數 handle hcomport 函式oninitdialog中的 bool cmycomdlg oninitdialog else msdn msdn library mobile and embedded development windows embedded windows e...

Spring Schedule配置及初始化

我們選擇這乙個 上面的xml的task已經加上了 xmlns task 那剛剛選的時候一定不要選錯schema,雖然都是同乙個annotaion driven 這個location我們怎麼新增呢,首先我們先填上classpath,然後把這個配置閉合 首先我們建立乙個類,這個類我們就叫closeord...

關於初始化及初始化順序

首先,類的成員變數會被自動初始化,並且會在構造器被呼叫前發生,如下 public class testinitialization public static void main string args 如下 主類 public class staticinitialization 呼叫main之前...