亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

ros與下位機通信常用的c++ boost串口通信

2019-11-06 10:03:23
字體:
來源:轉載
供稿:網友

(運行串之前請先安裝串口驅動minicom)

一.首先移植c++ boost 庫:

1. 先去 Boost官網 下載最新的Boost版本, 我下載的是boost_1_63_0版本, 解壓.

2. 進入解壓后目錄: cd boost_1_63_0, 執行下面的命令:

$ ./bootstrap.sh --PRefix=path/to/installation/prefix

prefix 的值是你希望安裝boost的路徑, 不開啟此參數的話默認安裝在 /usr/local 下. 我安裝在 /home/hl/boost_1_63_0 目錄下:

$ ./bootstrap.sh --prefix=/home/hl/boost_1_63_0

Note: 家目錄不要用 ~ 表示, 編譯腳本不識別 ~, 會在當前目前新建一個名為 '~' 的目錄.

接著執行:

$ ./b2 install

這條命令把boost的頭文件文件夾 include/ 安裝在prefix定義的目錄中, 并且會編譯所有的boost模塊, 并將編譯好的庫文件夾 lib/ 也放在prefix定義的目錄中. 所有如果成功編譯的的話, prefix目錄即 /home/hl/boost_1_63_0目錄應當包含有 include/ 和 lib/ 兩個文件夾.

3. 測試,在你得ros工作空間的任意功能包中src/目錄下,創建boost_bode.cpp文件,內容如下:

先測試只依賴頭文件的功能模塊:

ASIO不僅支持網絡通信,還能支持串口通信。要讓兩個設備使用串口通信,關鍵是要設置好正確的參數,這些參數是:波特率、奇偶校驗 位、停止位、字符大小和流量控制。兩個串口設備只有設置了相同的參數才能互相交談。

ASIO提供了boost::asio::serial_port類,它有一個set_option(const SettableSerialPortOption& option)方法就是用于設置上面列舉的這些參數的,其中的option可以是:

serial_port::baud_rate 波特率,構造參數為unsigned intserial_port::parity 奇偶校驗,構造參數為serial_port::parity::type,enum類型,可以是none, odd, even。serial_port::flow_control 流量控制,構造參數為serial_port::flow_control::type,enum類型,可以是none software hardwareserial_port::stop_bits 停止位,構造參數為serial_port::stop_bits::type,enum類型,可以是one onepointfive twoserial_port::character_size 字符大小,構造參數為unsigned int復制代碼
#include <iostream>#include <boost/asio.hpp>#include <boost/bind.hpp>#include <ros/ros.h>using namespace std;using namespace boost::asio;int main(int argc, char* argv[]){          io_service iosev;//節點文件serial_port sp(iosev, "/dev/ttyUSB0");// 設置參數sp.set_option(serial_port::baud_rate(115200));sp.set_option(serial_port::flow_control(serial_port::flow_control::none));sp.set_option(serial_port::parity(serial_port::parity::none));sp.set_option(serial_port::stop_bits(serial_port::stop_bits::one));sp.set_option(serial_port::character_size(8));// 向串口寫數據write(sp, buffer("Hello world", 12));// 向串口讀數據char buf[1];read(sp, buffer(buf));printf("buf[0]= %c/n",buf[0]);iosev.run();return 0;}復制代碼

添加編譯選項:在你得功能包中的CMakeLists.txt 文件中添加:

add_executable(boost_node src/boost_node.cpp)target_link_libraries(boost_node ${catkin_LIBRARIES}

編譯boost測試程序:在你的工作空間的頂層目錄下

catkin_make如果編譯不通過的話應該是CmakeList沒有加入boost的庫,需要在CMakeLists.txt 文件中添加:set(Boost_INCLUDE_DIR /home/hl/boost_1_63_0/include)set(Boost_LIBRARY_DIR /home/hl/boost_1_63_0/lib)find_package(Boost REQUIRED COMPONENTS system)include_directories(${Boost_INCLUDE_DIR})link_directories(${Boost_LIBRARY_DIR})若運行不成功,報錯:

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::

error_info_injector<boost::system::system_error> >'

what():  open: Permission deniedAborted (core dumped)好像是權限不夠

使用root用戶或sudo chmod 666 /dev/ttyUSB0或者

              sudo chmod a+rw /dev/ttyUSB0

將你的電通和另一臺電腦通過串口連接。運行ros節點,另一臺電腦通過串口發送數據:接收如下:

hl@hl-System-Product-Name:~$ rosrun odom_tf_package boost_node buf[0] = c
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一精品自拍| 亚洲国产97在线精品一区| 国产专区欧美专区| 亚洲高清免费观看高清完整版| 国产成人免费av电影| 亚州精品天堂中文字幕| 曰本色欧美视频在线| www国产91| 成人欧美一区二区三区黑人孕妇| 色av中文字幕一区| 亚洲精品丝袜日韩| 久久精品最新地址| 亚洲精品资源在线| 欧美亚洲第一区| 伊人青青综合网站| 欧美日韩国产精品一区二区三区四区| 有码中文亚洲精品| 精品自拍视频在线观看| 中文字幕日韩高清| 久久偷看各类女兵18女厕嘘嘘| 26uuu另类亚洲欧美日本老年| 久热精品在线视频| 国产成人在线一区| 国产日韩精品视频| 国产视频精品xxxx| 亚洲最大成人网色| 亚洲图片欧洲图片av| 亚洲另类欧美自拍| 青青在线视频一区二区三区| 精品久久久久人成| 欧美黑人国产人伦爽爽爽| 日韩欧美在线免费观看| 性欧美视频videos6一9| 精品国产一区二区三区久久狼5月| 亚洲精品丝袜日韩| 国产欧美精品xxxx另类| 一本色道久久综合狠狠躁篇的优点| 日韩国产欧美精品一区二区三区| 欧美xxxx18国产| 国产婷婷色综合av蜜臀av| 精品成人国产在线观看男人呻吟| 国产精品91久久| 久久中文字幕视频| 78m国产成人精品视频| 俺也去精品视频在线观看| 亚洲国产精品yw在线观看| 中文字幕视频一区二区在线有码| 国模gogo一区二区大胆私拍| 欧美午夜美女看片| 最近2019年好看中文字幕视频| 97欧美精品一区二区三区| 国产精品jvid在线观看蜜臀| 亚洲福利精品在线| 在线观看成人黄色| 日韩在线观看高清| 亚洲国产成人爱av在线播放| 日韩av在线直播| 欧美另类精品xxxx孕妇| 国产精品第2页| 亚洲xxxx妇黄裸体| 国精产品一区一区三区有限在线| 欧美另类69精品久久久久9999| 亚洲国产日韩欧美在线99| 日韩一区二区三区国产| 最新国产精品拍自在线播放| 国产精品日韩欧美综合| 91精品免费看| 欧美午夜精品伦理| 日韩电影中文字幕在线| 成人欧美在线视频| 亚洲精品自拍偷拍| 国产精品福利小视频| 成人情趣片在线观看免费| 国产在线一区二区三区| 日韩成人av一区| 成人性生交大片免费看小说| 国产亚洲精品美女久久久| 亚洲激情中文字幕| 国产精品成人在线| 亚洲欧洲一区二区三区在线观看| 亚洲精品欧美极品| 国产精品扒开腿做爽爽爽的视频| 国产成人精品优优av| 成人妇女淫片aaaa视频| 色yeye香蕉凹凸一区二区av| 日韩中文第一页| 亚洲天堂免费在线| 亚洲一区二区国产| 欧美丝袜第一区| 色七七影院综合| 久久97久久97精品免视看| 精品动漫一区二区三区| 粗暴蹂躏中文一区二区三区| 在线播放日韩专区| 久久九九精品99国产精品| 性欧美视频videos6一9| 欧美一级黄色网| 美女福利精品视频| 777国产偷窥盗摄精品视频| 国产一区二区美女视频| 久久久精品国产网站| 亚洲丁香婷深爱综合| 亚洲另类xxxx| 18性欧美xxxⅹ性满足| 日韩视频免费大全中文字幕| 日韩一区二区三区在线播放| 上原亚衣av一区二区三区| 欧美高清在线播放| 992tv成人免费影院| 久久久久久久国产精品视频| 日韩中文字幕在线观看| 亚洲欧美另类国产| 久久九九亚洲综合| 久久久久久久激情视频| 美日韩精品免费观看视频| 91精品久久久久久久久久| 亚洲人在线视频| 在线视频精品一| 久久亚洲精品一区| 日韩精品免费在线观看| 日韩在线精品一区| 欧洲成人免费aa| 亚洲黄色免费三级| 北条麻妃一区二区在线观看| 日韩精品中文字幕在线观看| 日韩麻豆第一页| 国产女同一区二区| 亚洲欧美中文日韩在线v日本| 精品女厕一区二区三区| 久久免费视频观看| 亚洲精品电影久久久| 亚洲自拍偷拍在线| 亚洲韩国欧洲国产日产av| 成人激情视频在线| 色综合五月天导航| 欧美日韩亚洲一区二区三区| 日本三级韩国三级久久| 中文字幕亚洲欧美| 国产精品91在线观看| 秋霞av国产精品一区| 亚洲韩国欧洲国产日产av| 国产精品999999| 国产精品精品国产| 国产福利视频一区二区| 亚洲色图第一页| 精品国产区一区二区三区在线观看| 精品久久久久久中文字幕| 81精品国产乱码久久久久久| 欧美精品videosex极品1| 国产欧美日韩精品专区| 91精品国产综合久久久久久蜜臀| 亚洲成人av中文字幕| 亚洲a成v人在线观看| 欧美激情精品久久久久久大尺度| 欧美成人午夜剧场免费观看| 精品一区精品二区| 成人中文字幕+乱码+中文字幕| 福利一区视频在线观看| 98精品在线视频| 中文字幕国产精品久久| 91精品国产91久久久久| 日韩精品在线免费观看| 最新国产精品亚洲| 国产精品丝袜久久久久久不卡|