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.

[参考译文] CC2652R:当脉冲时间较短时,传感器控制器工作室不检测到高输入

Guru**** 2513185 points
Other Parts Discussed in Thread: ADS1234

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1071684/cc2652r-sensor-controller-studio-does-not-detects-high-inputs-when-pulse-time-is-small

部件号:CC2652R
“线程:ADS1234”中讨论的其它部件

您好,

我是该平台的新用户,我正在使用 ads1234模拟到数字转换器将负载单元与 CC2652R1 Launchpad 连接。 为了完成这项任务,我使用的是传感器控制器工作室。 当我读取输出读数时,传感器控制器不会将所有高输入检测为高,除非同时从 ADS 1234释放多个高输入。

以下是从逻辑分析器检测到的 ADS 1234释放到微控制器的输入值。

下图显示了传感器控制器工作室如何检测这些输入。

  

如图所示,传感器控制器工作室未检测到带有小时隙的脉冲。 检测到非数据就绪信号。

注-数据就绪信号的典型时隙为 36us。

以下代码是初始化代码

gpioClearOutput(1);
gpioClearOutput(2);


gpioClearOutput(24);
fwDelayUs(16);
gpioSetOutput(24);
fwDelayUs(30);
gpioClearOutput(24);
fwDelayUs(30);
gpioSetOutput(24);

以下代码是执行代码

gpioGetInputValue(4; output.dataForDecode);
fwDelayUs(40);

for (U16 n = 0; n < 24; n++) {
    

    gpioSetOutput(14);
    fwDelayUs(1);
    
    gpioClearOutput(14);
    fwDelayUs(1);
    
    
   
}

没有终止代码

请帮助我解决此问题,以小时隙检测脉冲,该时隙约为36us 或更小。  

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

    你好,Janidu,

    请查看 传感器控制器工作室文档。  AON_RTC 的每个刻度都会触发执行代码,大约每30个用户触发一次。  但是,执行此代码本身的时间至少为88 us:初始延迟为40 us,循环的24次迭代为48 us 2 us。  您需要从执行代码中删除这些延迟,考虑使用事件处理程序代码(通过触发 GPIO 状态匹配),或为此应用程序使用主 CPU。

    此致,
    瑞安