【TI毫米波雷达笔记】SOC外设中断监听功能(Listen)初始化配置及驱动(以IWR6843AOP为例)

news2024/11/15 10:53:10

【TI毫米波雷达笔记】SOC外设中断监听功能(Listen)初始化配置及驱动(以IWR6843AOP为例)

#include <ti/drivers/soc/soc.h>

SOC初始化以后 可以配置监听以配置中断回调来查看当前运行情况:

采用函数SOC_registerSysIntListener
进行配置

注意这个函数只能配置非系统中断 否则运行时报错:
在这里插入图片描述

在这里插入图片描述

The system interrupt specified in the argument is not handled by the SOC module

系统中断(硬件中断)则需要其他的方式配置

结构体SOC_SysIntListenerCfg 中指定中断类型 回调函数 和 传参
比如chirp有效中断SOC_XWR68XX_MSS_CHIRP_AVAIL_IRQ
在这里插入图片描述
表示chirp数据有效时的中断

另外还有一个可用:
表示frame开始时的中断SOC_XWR68XX_MSS_FRAME_START_INT

配置函数:

void Init_Listen(void)
{
    int32_t         errCode;
    SOC_SysIntListenerCfg   listenerCfg;

    /* Register Chirp Available Listener */
    memset ((void*)&listenerCfg, 0, sizeof(SOC_SysIntListenerCfg));

    listenerCfg.systemInterrupt   = SOC_XWR68XX_MSS_CHIRP_AVAIL_IRQ;
    listenerCfg.listenerFxn       = MMWave_chirpIntCallback;
    listenerCfg.arg               = 0;
    MMWave_Global_Params.handle.chirpIntHandle = SOC_registerSysIntListener (MMWave_Global_Params.handle.socHandle, &listenerCfg, &errCode);
    if (MMWave_Global_Params.handle.chirpIntHandle == NULL)
    {
        System_printf ("Error: Unable to register the Chirp Available Listener [Error code %d]\n", errCode);
    }

    /* Register Frame Start Listener */
    memset ((void*)&listenerCfg, 0, sizeof(SOC_SysIntListenerCfg));

    listenerCfg.systemInterrupt   = SOC_XWR68XX_MSS_FRAME_START_INT;
    listenerCfg.listenerFxn       = MMWave_frameStartIntCallback;
    listenerCfg.arg               = 0;
    MMWave_Global_Params.handle.frameStartIntHandle = SOC_registerSysIntListener (MMWave_Global_Params.handle.socHandle, &listenerCfg, &errCode);

    if (MMWave_Global_Params.handle.frameStartIntHandle == NULL)
    {
        System_printf("Error: Unable to register the Frame start Listener [Error code %d]\n", errCode);
    }

另外 亲测发现中断SOC_XWR68XX_MSS_FRAME_START_INT其实是在每次发送chirps时调用(也就是一帧内会调用很多次)
而中断SOC_XWR68XX_MSS_CHIRP_AVAIL_IRQ则是每次chirp发送后 数据有效时调用 这两个其实差不多 所以只用一个就可以了
比如中断SOC_XWR68XX_MSS_CHIRP_AVAIL_IRQ 可以在每次数据有效时通过ADCBuf移动数据

static uint8_t chirp_updata_flag=0;
void MMWave_chirpIntCallback(uintptr_t arg)
{
    int32_t         errCode;
    uint8_t channel=0;
    uint32_t add=0;

    for(channel=0;channel<4;channel++)
    {
        add = ADCBuf_getChanBufAddr(MMWave_Global_Params.handle.adcbuf_handle,channel,&errCode);
        memset(&L3_RAM_Buf[chirp_updata_flag*2048+channel*512],0,512);
        memcpy(&L3_RAM_Buf[chirp_updata_flag*2048+channel*512],(void *)add,512);
    }
    chirp_updata_flag++;
    if(chirp_updata_flag==96)
    {
        chirp_updata_flag=0;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/973409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

书单怎么制作?有哪些技巧和注意事项?

书单是指将自己喜欢的书籍、影视作品等进行整理和推荐&#xff0c;供他人参考的清单。它可以是一个人的私人书单&#xff0c;也可以是一个团队或者社群共享的书单&#xff0c;我们在一些短视频媒体上应该都有看到过一些制作的书单视频分享&#xff0c;那么如果我们也想上传书单…

7 个适合初学者的项目,可帮助您开始使用 ChatGPT

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 从自动化日常任务到预测复杂模式&#xff0c;人工智能正在重塑行业并重新定义可能性。 当我们站在这场人工智能革命中时&#xff0c;我们必须了解它的潜力并将其整合到我们的日常工作流程中。 然而。。。我知道开始使…

【真题解析】系统集成项目管理工程师 2023 年上半年真题卷(案例分析)

本文为系统集成项目管理工程师考试(软考) 2023 年上半年真题(全国卷),包含答案与详细解析。考试共分为两科,成绩均 ≥45 即可通过考试: 综合知识(选择题 75 道,75分)案例分析(问答题 4 道,75分)案例分析(问答题*4)试题一试题二试题三试题四案例分析(问答题*4) …

SwiftUI实现iPad多任务分屏

1. 概述 iPadOS引入了多任务分屏功能&#xff0c;使用户能够同时在一个屏幕上使用多个应用程序。这为用户提供了更高效的工作环境&#xff0c;可以在同一时间处理多个任务。 iPad多任务分屏有两种常见的模式&#xff1a;1/2分屏和Slide Over&#xff08;滑动覆盖&#xff09;…

sentinel blockHandler不生效

sentinel blockHandler不生效: package org.bc.sentinel.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockException; import org.apache.commons.lang3.RandomUtils; import org.springfram…

blender 场景灯光基础设置

在 blender 中&#xff0c;打光分为两个部分&#xff0c;一个是世界光&#xff0c;一个是场景光&#xff1b; 世界光&#xff1a; 世界光&#xff1a;在 Blender 中&#xff0c;世界光指的是用于设置场景整体照明的环境光。它可以通过调整颜色、强度、阴影等参数来影响场景的…

JAVA:错误: 找不到或无法加载主类 xx.xx.xx类

报错图片&#xff1a; 报错原因&#xff1a; 加载是没有定义项目的根目录或主要代码的位置。这个根目录是整个项目的起点&#xff0c;包含了所有的源代码文件和其他必要的资源文件 解决方法&#xff1a;定义根目录

449. 序列化和反序列化二叉搜索树

诸神缄默不语-个人CSDN博文目录 力扣刷题笔记 Python3版代码提示&#xff1a; # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right None# Your Codec object will…

Promise 解决 Vue 中父子组件的加载问题!

前言 关于Promie我这里就不多解释了&#xff0c;不懂得可以看看官方文档。下面文章重点介绍项目中遇到的问题解决方法。 需求 组件b初始化某个用到的库&#xff0c;只有在初始化完成后才能调用其API&#xff0c;不然会报错。a页面负责调用。 // a.vue <template><d…

微服务架构基础--第4章Spring Boot核心功能2

第4章Spring Boot核心功能2 一.预习笔记 1.静态资源访问 1-1&#xff1a;resource下的static文件夹会被视为默认的根目录&#xff08;默认静态资源文件夹&#xff09; 1-2&#xff1a;index.html是SpringBoot的默认首页(默认配置了的) 1-3&#xff1a;修改网页logo&#xf…

文件上传漏洞全面渗透姿势

0x00 文件上传场景 (本文档只做技术交流) 文件上传的场景真的随处可见&#xff0c;不加防范小心&#xff0c;容易造成漏洞&#xff0c;造成信息泄露&#xff0c;甚至更为严重的灾难。 比如某博客网站评论编辑模块&#xff0c;右上角就有支持上传图片的功能&#xff0c;提交带…

飞行动力学 - 第17节-part2-机翼对航向静稳定性的影响 之 基础点摘要

飞行动力学 - 第17节-part2-机翼对航向静稳定性的影响 之 基础点摘要 1. 上反角贡献2. 后掠角贡献3. 机身贡献4. 参考资料 1. 上反角贡献 总体来说&#xff0c;略微降低稳定性。 2. 后掠角贡献 总体来说&#xff0c;略微增加稳定性。 3. 机身贡献 机身也是降低航向静稳定性&…

潜艇来袭(Qt官方案例-2维动画游戏)

一、游戏介绍 1 开始界面 启动程序&#xff0c;进入开始界面。 2 开始新游戏 点击菜单&#xff1a;File》New Game &#xff08;或者CtrlN&#xff09;进入新游戏。 开始新游戏之后&#xff0c;会有一个海底的潜艇&#xff0c;和水面舰艇对战。 计算机&#xff1a;自动控制…

尖端AR技术如何在美国革新外科手术实践?

AR智能眼镜已成为一种革新性的工具&#xff0c;在外科领域具有无穷的优势和无限的机遇。Vuzix与众多医疗创新企业建立了长期合作关系&#xff0c;如Pixee Medical、Medacta、Ohana One、Rods & Cones、Proximie等。这些公司一致认为Vuzix智能眼镜可有效提升手术实践&#x…

java+ssm+mysql水费管理系统

项目介绍&#xff1a; 使用javassmmysql开发的用户水费管理系统&#xff0c;系统包含超级管理员&#xff0c;系统管理员、用户角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理、用户管理、用水管理&#xff08;用水记录、缴费提醒&#xff09;、水费…

通讯编程006——NodeJS OPC UA Client开发简单教程

本文介绍如何在NodeJS环境下开发OPC UA Client&#xff0c;通过本文可以对OPC UA的基本概念有所了解&#xff0c;掌握OPC UA的本质。相关软件请登录网信智汇(wangxinzhihui.com)。 开发步骤如下&#xff1a; 1&#xff09;首先需要安装nodejs&#xff0c;要求版本至少是12。 …

实战系列(二)| MybatisPlus详细介绍,包含代码详解

目录 1. MybatisPlus 的基本功能2. 基本用法3. MybatisPlus 的配置4. MybatisPlus 的实体类、Mapper 接口、Service 类和 Controller 类 MybatisPlus 是一个功能强大的 MyBatis 增强工具&#xff0c;它提供了丰富的特性来简化操作数据库的代码。它主要用于简化 JDBC 操作&#…

《Generative Agents: Interactive Simulacra of Human Behavior》全文翻译

《Generative Agents: Interactive Simulacra of Human Behavior》- 生成式代理:人类行为的交互式拟真 论文信息摘要1. 引言2. 相关工作2.1 人机交互2.2 可信的人类行为代理2.3 大型语言模型与人类行为 3. 生成式代理行为和交互3.1 代理形象和交流3.1.1 代理间交流 3.2 环境交互…

PDU是什么?

PDU&#xff0c;即功率分配单元(Power Distribution Unit)&#xff0c;它是一种能够对电源进行管理、监控来保障电力质量与供电可靠性的电源扩展设备。它广泛应用于数据中心、IT机房、机房领域等&#xff0c;可以实现对电源进行远程监控、电源管理和电源分配&#xff0c;为IT设…

阿里 通义千问LLM Qwen-7B-Chat与Qwen-VL-Chat 使用

参考&#xff1a; https://github.com/QwenLM/Qwen-7B https://github.com/QwenLM/Qwen-VL 下载模型&#xff1a; https://huggingface.co/Qwen 1、Qwen-7B-Chat 下载好代码与模型后运行&#xff1a; python ./Qwen-7B-main/web_demo.py -c ./qwen-6b-4bit/ --server-name…