工具/软件:TI-RTOS
您好!
我最近修改了 MMW 演示代码、以便当物体在距离雷达0.5m 的距离内时、外部 LED 会亮起。 我希望实现某种延迟功能、以使 LED 保持开启2秒。 不幸的是,我无法使用 Task_sleep(),因为它一直给我一个错误。 我认为这是因为它会干扰雷达在延迟有效时收集信息的能力。 是否有其他方法可以在不干扰 CPU 的情况下延迟函数。 请提供任何帮助。
谢谢
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.
工具/软件:TI-RTOS
您好!
我最近修改了 MMW 演示代码、以便当物体在距离雷达0.5m 的距离内时、外部 LED 会亮起。 我希望实现某种延迟功能、以使 LED 保持开启2秒。 不幸的是,我无法使用 Task_sleep(),因为它一直给我一个错误。 我认为这是因为它会干扰雷达在延迟有效时收集信息的能力。 是否有其他方法可以在不干扰 CPU 的情况下延迟函数。 请提供任何帮助。
谢谢
其目的不是通过执行循环来阻止线性调频脉冲处理。 您可以利用的线性调频脉冲和帧事件已经存在-您只需向其中添加代码即可。 例如,在 MMW 演示中,查找函数 MmwDemo_frameStartIntHandler()。 这里已经有一个调试帧计数器。
此外、CLI 传递的帧速率为几毫秒。 因此 fps = 1000/ FRAME_RATE。 您可能已经意识到这一点。
Dave
您好、Dave、
我已经尝试了帧计数方法、它确实会延迟 LED、但 LED 会在延迟时闪烁。 我想知道您能否让我快速了解原因。 函数帧计数器在您提到的调试帧计数器之后被直接调用、以便它能够以适当的速度对帧进行计数。 我觉得这可能是我在 MmwDemo_frameStartIntHandler()中调用 FrameCounter 的问题。 但是、这是唯一允许我重置 frameCnt 变量的方法。
void FrameCounter (void){
if (High = 1){
LED_ON;
frameCnt++;
if (frameCnt = 20){
高电平= 0;
}
}
否则{
frameCnt = 0;
LED_OFF;
}
}
void GPIO_Fxn(){...
if (Range=0.5){//如果对象太近,则将 framecounter 拉高并开始计数。
高= 1;
}
}
感谢你的所有帮助