This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] IWR6843:如何将 OOB 演示更改为通过 GPIO 中断触发帧?

Guru**** 2551180 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1118319/iwr6843-how-to-change-the-oob-demo-to-trigger-frame-by-gpio-interrupt

器件型号:IWR6843

根据这里的其他主题、6843上的 SYNC_IN 引脚是一个虚拟引脚(尽管在数据表中没有提到它)。 因此帧不能以这种方式触发。
我已经将 GPIO_1中断设置为调用函数。 但我无法正确启动帧。 重点是通过外部脉冲触发每个帧。

如果配置设置为硬件触发器,如 frameCfg 0 128 0 239 2 0 ,并且在中断调用 rlSensorStart 时,它会以以下错误终止:

static void syncinLikeInterrupt(uint32_t index)
{
    int32_t retVal = 0;
    retVal = rlSensorStart (RL_DEVICE_MAP_INTERNAL_BSS);
}

如果使用 SW 触发器,并且使用 frameCfg 0 128 1 239 1 0将其设置为每个触发器1个帧,并且在中断调用 MmwDemo_startSensor()时,它会由于中断中的 printf 而崩溃。

static void syncinLikeInterrupt(uint32_t index)
{
    int32_t retVal = 0;
    retVal = MmwDemo_startSensor();
}

实现此功能的正确方法是什么? 我希望通过 GPIO 或 SYNC_IN 上的外部脉冲以尽可能低的延迟触发每个帧。  (与其他 TI 电路板一起使用时、我使用 SYNC_IN 实现它)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否提供有关所使用的毫米波 SDK 版本的信息? 这将有助于在我们研究时提供上下文。

    此致、
    阿尔茨

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在这里使用了 SDK 3.5

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们将进一步研究这一点、看看我们是否有一个适当的用法布局示例。 通常、最好的做法是、嵌入式软件尽快脱离 ISR 的上下文。 在这种情况下、您将从 ISR 上下文中触发一个非常深入的函数调用。 一个很好的开始位置可能是添加一个新任务、当 MmwDemo_startSensor 收到 从 ISR 发布的信号量时、该任务将调用它。

    此致、
    阿尔茨