本人所在战队刚刚经历了自定义控制器通信的洗礼,觉得已经把所有可能犯得错误都犯了一遍,所以发此文帮大家避坑,我尽量把所有内容讲明白,如果还有不懂的在QQ群里问问题,各位大佬会帮助大家的。
一.自定义控制器接线
我用的是新图传VT03那一套,遥控器接到电脑上,需要提前下载好客户端,并且可以登录,不会下载配置的问队长或者自己去官网学习一下,自定义控制器连接到c板上(根据队伍实际需求连接),c板接出一根串口线连接ttl转rs232,rs232再转usb连接电脑,ttl转rs232的板子上我用的是需要接3.3v,应该都是需要的。
二.机器人接线
图传的串口线直接接到板子的串口上,航空线连电管上,其他的我就不说了。
三.自定义控制器发包
在很多开源代码中我看到很多学校都用内存相关的函数memcpy什么之类的,但是在我实际测试时不知道为什么发包总是错误,所以我更加建议大家直接用数组去写,写起来简单容易还好理解
四.机器人收包
收包不需要考虑串口号需要跟发包的串口号一致,只需要随便接到一个串口就可以,这是很多小灯的一个误区。那么收包我建议和裁判系统一样,写成双缓冲区接收,如果队伍之前就这么写的那就太好了,那么只需要像收裁判系统数据那样接收自定义控制器发包就可以了,这里我就不多说了,大家可以去b站看中科大大佬的视频学习一下。之后收到数据只需要解包,使用就可以了。
备注!!!!!!!
每年的通信协议都会有所改变,最关键还是要以官方通信协议为准去配置各种参数,大家还可以参考之前上海大学的开源去学习。