当前位置: 首页 > article >正文

TI毫米波雷达开发——High Accuracy Demo 串口数据接收及TLV协议解析 matlab 源码

TI毫米波雷达开发——串口数据接收及TLV协议解析 matlab 源码

  • 前置基础
  • 源代码功能说明
  • 功能演示视频
  • 文件结构
    • 01.bin / 02.bin
    • ParseData.m
    • read_file_and_plot_object_location.m
    • read_serial_port_and_plot_object_location.m
  • 函数解析
    • configureSport(comportSnum)
    • readUartCallbackFcn(sphandle, 0);
    • 缓冲区控制
    • TLV协议解析
      • Magic Word 搜索及确认
      • TLV Header 解析
      • TLV Body 解析
    • 协议解析
      • 数据处理函数及绘图
  • 源代码

前置基础

需熟悉TLV 协议 并对TI 基本的 TLV 输出套路有基本的概念。

源代码功能说明

一个使用matlab对6843 High Accuracy Demo 进行数据解析的Demo Project。


适用于TI 毫米波雷达 TLV 协议架构解析的Matlab上位机代码走读博客。

功能演示视频

Matlab mmWave TLV 协议解析功能演示

文件结构

在这里插入图片描述

01.bin / 02.bin

通过串口捕获到的原始数据保存在当前bin文件中。

ParseData.m

函数执行入口

read_file_and_plot_object_location.m

读取bin文件并且绘图

read_serial_port_and_plot_object_location.m

读取串口并保存数据

函数解析

configureSport(comportSnum)

配置串口

% 配置串口号及波特率。
% 串口接收的数据存在InputBufferSize中。
function [sphandle] = configureSport(comportSnum,BaudRate)
    global BYTES_AVAILABLE_FCN_CNT;

    if ~isempty(instrfind('Type','serial'))
        disp('Serial port(s) already open. Re-initializing...');
        delete(instrfind('Type','serial'));  % delete open serial ports.
    end
    comportnum_str = ['COM' num2str(comportSnum)];
    sphandle = serial(comportnum_str,'BaudRate',BaudRate);
    set(sphandle,'InputBufferSize', 2^20);
    set(sphandle,'Timeout',10);
    set(sphandle,'ErrorFcn',@dispError);
    set(sphandle,'BytesAvailableFcnMode','byte');
    set(sphandle,'BytesAvailableFcnCount', 2^20+1);%BYTES_AVAILABLE_FCN_CNT);
    set(sphandle,'BytesAvailableFcn',@readUartCallbackFcn);
    fopen(sphandle);
return

readUartCallbackFcn(sphandle, 0);

串口数据接收并放入缓冲区并控制


function [] = readUartCallbackFcn(obj, event)
global bytevecAcc;
global bytevecAccLen;
global readUartFcnCntr;
global BYTES_AVAILABLE_FLAG
global BYTE_VEC_ACC_MAX_SIZE
global EX

http://www.kler.cn/a/231450.html

相关文章:

  • k8s上部署redis高可用集群
  • 【分布式技术】ES扩展知识-Elasticsearch分词器的知识与选择
  • WPF的基础控件详解
  • std::sort的底层原理(混合排序算法)
  • Ubuntu22.04基于ROS2-Humble安装moveit2教程(亲测)
  • 经验笔记:Git 基础操作指南
  • JAVA的学习Day1
  • uniapp /微信小程序 使用map组件实现手绘地图方案
  • LeetCode 刷题【Java常用API与数据结构总结】(持续更新……)
  • 92.使用数组形式的责任链模式实现项目配置初始化
  • 深度学习(14)--x.view()详解
  • Kubernetes 是什么?
  • 【算法题】95. 不同的二叉搜索树 II
  • ChatPromptTemplate和AI Message的用法
  • C语言第二十弹---指针(四)
  • vue3-内置组件-KeepAlive
  • Android:IntentActivity,Service,BroadcastReceiver
  • FANUC机器人外部远程启动的相关参数设置示例
  • docker proxy 【docker 代理】
  • ChatGPT实战100例 - (14) 打造AI编程助手 Code Copilot
  • 相机图像质量研究(8)常见问题总结:光学结构对成像的影响--工厂调焦
  • BUGKU-WEB 留言板
  • 大数据环境搭建(一)-Hive
  • FFMPEG推流到B站直播
  • VRRP配置
  • 零基础学编程系列,从入门到精通,中文编程开发语言工具下载,编程构件容器件之控制面板构件用法