在simulink中使用串口模块接收数据并解帧延迟性问题解决

山重水复疑无路,柳暗花明又一村。

最近在simulink中搭了一个模型,需要通过串口将外部惯导模块的数据读进来,解帧后输入模型中进行计算,算是半物理仿真。
起初烦恼于不知道如何将这种实时更新的数据实时解算并输出,在请大佬帮忙后,解算的问题解决了,但又遇到了解帧数据更新缓慢,延迟性大的问题。中间因为项目进度缓慢,被老板训斥了一顿。好在经过不断尝试,终于解决了解算数据更新延迟的问题。

一、起初接收解算串口数据的思路
刚开始我甚至不知道simulink模块有串口接收模块,试图通过在simulink中写matlab function调用Serial函数的方式实现串口数据的接收与解算,事实证明是行不通的。
后来查到,simulink中原来有专门的串口模块,晕,早知道就不费那么大周折了,然后在大佬的指导下搭建了下面的模型。

串口数据接收并解帧模型
其思路是:从串口每次一个读取数据,根据我的传感器的串口通信协议,每11个数据为一帧,所以加一个buffer模块,相当于将连续发送的串口数据分割为一帧一帧(每帧11个数据),到状态机中根据帧头判断是什么数据(加速度/角速度)后解帧&#x

  • 18
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值