linux下串列埠收發16進製制資料需要設定的引數

2021-09-07 02:27:29 字數 554 閱讀 9648

這幾天在arm開發板上除錯串列埠通訊,作業系統是linux(ubuntu),寫了乙個串列埠通訊的程式收發字串是正常的,但是在收發16進製制資料時會發現有些資料收不到,有些資料收到的不對。

除錯的環境是自己寫的程式在arm+linux平台執行,pc上用串列埠除錯助手。乙個現象是除錯助手傳送的0x01,0x02,0x03,0x04在arm端列印不出來(收不到),這是因為這幾個資料的ascii有自己的含義,比如0x04表示「傳輸結束」,要解決這個問題要使用原始模式並取消軟體流控制。另乙個現象是傳送的0x0d接收到的是0x0a,傳送0x0a收到的是0x0d,解決這一現象就是設定不要回車換行轉換。

可以通過以下設定解決問題:

opt.c_iflag &= ~(inlcr | icrnl); //不要回車和換行轉換

opt.c_iflag &= ~(ixon | ixoff | ixany); //不要軟體流控制

opt.c_oflag &= ~opost;

opt.c_lflag &= ~(icanon | echo | echoe | isig); //原始模式

16進製制位址進製

16進製制 1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 乙個位址表示乙個byte,即8bit 0x8000000033221100 77665544 bbaa9988 ffeeddcc 0x8000001076543210 0x80000000 00000000 0x80000001...

UIColor的16進製制色值,16進製制字串擴充套件

inte ce uicolor hex 16進製制字串轉化為顏色 param hexstr 16進製制字串 支援 0x.0x.return uicolor uicolor colorwithhexstring nsstring hexstr 16進製制字串轉化為顏色 param hexstr 16進...

16進製制運算

問題描述 對16進製制的字串進行加減操作.方法1 biginteger new biginteger string value,int 進製 返回biginteger值。add biginteger value 進行加運算操作。tostring int 進製 返回指定進製型別字串。這些方法組合在一起...