- 博客(6)
- 收藏
- 关注
原创 c语言中树莓派can和485通信中<asm/termbits.h>和<termios.h>关于重定义struct termios冲突如何解决?
在我写树莓派can通信的时候,因为can通信的波特率是1M,就不能使用平常的通信库<termios.h>的termios去初始化串口(例如波特率为9600,115200等等),应该使用<asm/termbits.h>中的termios2去初始化串口,因为<asm/termbits.h>是用来,但是当我们要同时使用这两种通信的时候,同时导入<asm/termbits.h>和<termios.h>,编译过程中会产生重定义struct termios的报错。
2025-05-14 11:02:22
155
原创 树莓派同时进行can通信和485通信该如何实现?
最近遇到了一些项目上的问题,用树莓派控制canopen通信类型的电机以及485通信类型的电机和传感器,这里我用的是树莓派5,其实树莓派4,5外观差不多,5的cpu和视频渲染能力强一点。我们可以看一下这里的树莓派有4给usb接口,两个3.0,两个2.0。
2025-05-14 10:49:20
245
原创 谐波减速器的减速比如何推算,为什么会有101这样的?
最近在调试电机的时候发现了一个严重的问题,我一直以为谐波减速器的减速比为30,50,80,100,120这样的,但是后面做实验加上咨询技术得知,选择不同的轮(柔轮/刚轮)输出,减速比也略有差别。比如减速比为100的谐波减速器也可以实现减速比为101。
2025-05-12 16:46:52
743
原创 主站(树莓派)与从站(多个电机)进行设备通信的时候总是会读取到之前缓存的报文的解决方法
前一段在用树莓派控制电机的时候想去读取各个电机是否与树莓派通信正常,于是利用通信canopen协议中的心跳保护去验证每个从站是否能往主站发回消息,从而判断通讯的正常,这里遇到了一些问题,当我用树莓派去读取从站发回的消息时,前100条(数量大概)消息总是前面缓存的报文,导致我无法通过返回的报文去正确判断主站与其他从站的通信是否正常,现象如下:上图是我接收到的报文,此时我刚刚断开了4号节点的通讯线,但是还能接收到704报文发回的心跳保护的报文,这就是前面树莓派缓存的断开之前的报文,在继续读取完缓存区后我们可以
2025-04-28 17:36:06
273
原创 树莓派与arduino通过usb串口进行通信
树莓派与 Arduino 通过 USB 接口通信是一种方便且常用的方式,本质上还是基于串口通信原理。
2025-04-15 14:58:25
794
原创 树莓派通过usb接口与各种模块通信(传感器,通信转换模块,控制器)
在树莓派上,ttyUSB*这类串口设备的编号在每次重启或者设备插拔后可能会发生变化,这是因为系统会根据设备的插入顺序动态分配编号。为了固定串口号,可以通过以下几种方法实现。一共有两种方法,一种是使用设备唯一标识符,一种是根据物理位置,两种方法各有优劣。如果说你的usb外设较多,或者使用了拓展坞扩展usb接口,且不用批量生产,建议使用方法一,他是识别插入模块的标识符实现串口编号的固定;
2025-04-15 14:31:47
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人