linux串列埠接收不到0x11解決

2021-06-25 10:28:14 字數 806 閱讀 9766

**:

linux串列埠接收不到0x11解決

網上許多流行的linux串列埠

程式設計的版本中都沒對c_iflag(termios成員變數)這個變數進行有效的設定,這樣傳送ascii碼時沒什麼問題,但傳送二進位制資料時遇到0x0d,0x11和0x13卻會被丟掉。不用說也知道,這幾個肯定是特殊字元,被用作特殊控制了。關掉icrnl和ixon選項即可解決。

www.2cto.com  

c_iflag &= ~(icrnl | ixon);

0x0d 回車符cr

0x11 ^q vstart字元

0x13 ^s vstop字元

icrnl 將輸入的cr轉換為nl  

ixon 使起動/停止輸出控制流起作用

在《unix環境高階程式設計第二版》第18章第11小節看到把終端i/o設定為原始模式(串列埠通訊就是終端i/o的原始模式)時輸入屬性設定為

term.c_iflag &= ~(brkint | icrnl | inpck | istrip | ixon);

遮蔽了許多屬性,怪不得有人說如果是使用串列埠通訊c_iflag和c_oflag都設定為0就行了!  www.2cto.com  

以下是我的設定的一些重要的串列埠屬性

term.c_cflag |= clocal | cread;

term.c_lflag &= ~(icanon | echo | echoe | isig);

term.c_oflag &= ~opost;

term.c_iflag &= ~(brkint | icrnl | inpck | istrip | ixon);

Linux下接收串列埠資料0x0d變0X0a問題

許多流行的linux串列埠程式設計的版本中都沒對c iflag termios成員變數 這個變數進行有效的設定,這樣傳送ascii碼時沒什麼問題,但傳送二進位制資料時遇到0x0d,0x11和0x13卻會被丟掉。不用說也知道,這幾個肯定是特殊字元,被用作特殊控制了。關掉icrnl和ixon選項即可解決...

CSS布局 0x1 盒模型和box sizing

所有html元素可以看作盒子,在css中,box model 這一術語是用來設計和布局時使用。css盒模型本質上是乙個盒子,封裝周圍的html元素,它包括 邊距,邊框,填充,和實際內容。盒模型允許我們在其它元素和周圍元素邊框之間的空間放置元素。人們慢慢的意識到傳統的盒子模型不直接,所以他們新增了乙個...

2018 10 10 pwn的學習0x1 引數傳遞

在32位程式當中,函式的傳遞是通過棧來進行傳遞。構造shellcode 的方式是 padding fake ebp p32 system p32 返回位址 p32 system 的引數 在64位程式當中,函式的傳遞是通過暫存器進行傳遞。在64位程式當中,引數先是找rdi,rsi,rdx,rcx,r8...