在ROS中与其他器件使用十六进制串口通信
来源:互联网 发布:sql have count 编辑:程序博客网 时间:2024/06/01 08:09
第一次自己写博客,有什么问题请@我。
首先非常感谢一位网友的博客(点击打开链接),他在ros上使用了串口通信,不过使用的是字符串,因为项目需要,我在其基础了改成十六进制,并发布接收十六进制数组主题。
需要特别说明的是,你根据上面这个博客(点击打开链接)在进行自定义你的消息时,如果是同一工作空间
add_dependencies(test1 test_msgs_gencpp)#调用同一工作空间的自定义消息类型时注明依赖关系,防止发生头文件找不到报错在添加上面一行代码后还找不到头文件时,需要在CMakeLists.txt 文件中添加这行代码,否则找不到msg.h文件 在
(点击打开链接)我在这里卡了好久,一直找不到自己生成信息的.h文件,后来才发现的。
现在说到主题了,如何传输十六进制数。
首先 定义自定义.msg文件。
uin8[] serial此类数组实际上是vector类型,它并没有定义长度,你可以使用几种方法赋值,具体参考(点击打开链接)。vector类型还有一个很好的文章是(点击打开链接)写的很nice,收益很多。从串口读写数据的函数为serial包中的
ser.read(r_buffer,rBUFFERSIZE);
ser.write(r_buffer,rBUFFERSIZE);具体可参考链接(点击打开链接)
还有一个小的知识点,如果你编译时找不到catkin包中安装的头文件,即就是你在catkin-ws中安装了serial包,但是在安装其他包时需要serial/serial.h的头文件却找不到时,需要在CMakeLists.txt 文件中添加这行代码,否则找不到catkin空间中的包
Include_directiones(catkin_include_dirs)
总结一下,学好C++,感谢各位博主。
最后放上我的源码链接(点击打开链接)
阅读全文
0 0
- 在ROS中与其他器件使用十六进制串口通信
- ros中使用串口
- ROS中使用串口
- ros中串口的使用
- 使用Fragment创建一个动态UI - 与其他Fragment通信
- 十六进制字符串与其他类型的转换
- Training--与其他APP通信
- WSS(SharePoint) 在IIS中与其他网站并存
- json在iOS中与其他的转化解析
- Sqlite中使用SQL与其他数据库的区别
- 【android】Sqlite中使用SQL与其他数据库的区别
- 【android】Sqlite中使用SQL与其他数据库的区别
- 串口通信程序中十六进制格式发送和接收实现
- 串口通信程序中十六进制格式发送和接收实现
- 串口通信程序中十六进制格式发送和接收实现
- 在VC中使用SerialPort类实现串口通信
- 在C#中使用SerialPort类实现串口通信
- 在C#中使用SerialPort类实现串口通信
- java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy
- Func<T> 委托
- spring boot 打包成jar 在服务器上运行
- ARKit从入门到精通(5)-ARScnView介绍
- C++遍历文件夹下的所有文件
- 在ROS中与其他器件使用十六进制串口通信
- 关于play从jdk1.6换到jdk1.8时报错问题的解决办法
- cmake使用示例与整理总结
- 使用Eclipse中的logcat对Android中的项目调试
- Linux-文件IO
- HttpServlet
- iOS开发 HealthKit初步探索
- HEVC
- android 为listview设置自定义adapter