openmv串口数据 串口助手_STM32与OPENMV串口通信---吃堑长智

博主在尝试将32位代码移植到匿名飞控与OpenMV进行串口通信时遇到困难,发现通信失败。经过长时间排查,发现原因是STM32和OpenMV的比特率设置不一致导致,调整后通信成功。后来发现OpenMV程序中存在两个不同波特率的初始化,进一步解释了通信成功的原因。总结经验,强调异步通信参数一致性的重要性。
摘要由CSDN通过智能技术生成

真是个难忘的一个晚上,事情经过:

之前已经二开完成一部分匿名飞控自主飞行和遥控To程控飞行。

今晚上准备二开匿名飞控由openmv巡色块循迹,首先需要通信成功,对吧。

在暑假电赛之前,我与班里同学就已做出了MV方与32方数据的通信与错误校正。

然后今晚上任务是把32的代码直接移植到匿名飞控上和写出追踪代码然后明天试飞,多简单一件事情。

结果光移植那小几十行代码足足废了5个小时(死鱼脸):

先移植到USART3,一切准备就绪。结果通信失败。-----我又在中断服务函数入口加了一个变量自加,以判断程序指针到底有没有进中断服务函数。结果是有的。但服务函数里面的数据解算硬是不执行!然后又拿仿真器设断点、单步运行。发现一些应该拉高的标志位硬是没拉高。找了半天毛病还是不见效,NN个腿,气得要死(不知道大家有没有:明明理论就是这样没错,而且程序一个字母一个字母的扣,也没错。但他就是结果不对!。。。这种我是经常遇见,但今天这种真的又把我气坏了)。

6a1bbb1b2910b9a9f1ff493e0c2f9b98.png

上图ACC-X和ACC-Y原显示加速度计数据。现被我修改为显示:飞控接收到OPENMV发来的目标的X、Y坐标。即ACC-X=目标X坐标。ACC-Y=目标Y坐标。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值