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.

[参考译文] 如何在适用于 cc26xx 的传感器控制器中使用比较器

Guru**** 2581345 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/587346/how-to-use-comparator-in-sensor-controller-for-cc26xx

Thread 中讨论的其他器件:CC2650

大家好、

我正在使用 CC2650 Launchpad。 连接到 cc2650模拟引脚的模拟传感器。

我想将传感器控制器的比较器用作中断。 当模拟输入变为高电平并且比较器触发 CPU 时(CPU 处于睡眠模式)。 CPU 将从睡眠模式唤醒。

如何在 Sensor Controller Studio 中使用比较器来配置模拟输入并获取触发信号?

任何帮助都将非常好。

谢谢、

Raj

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

    我们有 simplelink Academy、讨论传感器控制器工作室和培训。 我相信您可以从中受益匪浅。

    请找到 Simplelink Academy 的链接: software-dl.ti.com/.../overview.html

    software-dl.ti.com/.../sc_01_project_from_scratch.html

    此外、还有一个开箱即用的 ADC 项目与 Sensor Controller Studio 一起提供、您可以查看它并从中进行修改。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    当引脚电压从阈值变为高电平时、我将使用 ADC 窗口监控器传感器控制器示例代码生成 ADC 引脚中断。

    现在、我可以成功地将传感器控制器驱动程序与 simpleBLEPeripheral 示例代码集成在一起、并且工作正常。

    当 GPIO 电压变为高电平时 调用 scTaskAlertCallback()回调。

    当我从 scTaskAlertCallback()调用 i2c 相关函数时,传感器控制器任务会卡住。

    以下是我的代码:

    void scTaskAlertCallback (void){

    //唤醒操作系统任务
    Semaphore_post (semaphore_handle (&semScTaskAlert));

    //调用 i2c 函数,如 i2c_transfer (..)  -->传感器控制器任务卡住

    }// scTaskAlertCallback

    void taskFxn (UArg a0、UArg A1){
    PIN_Handle hLedPins;

    //启用 LED 引脚
    hLedPins = PIN_OPEN (&ledPinState、pLedPinTable);

    //初始化传感器控制器
    scifOsalInit();
    scifOsalRegisterCtrlReadyCallback (scCtrlReadyCallback);
    scifOsalRegisterTaskAlertCallback (scTaskAlertCallback);
    scifInit (&scifDriverSetup);
    scifStartRtcTicksNow (0x00010000 / 8);

    //配置并启动传感器控制器的 ADC 窗口监控任务(不要与操作系统任务混淆)
    scifTaskData.adcWindowMonitor.cfg.adcWindowHigh = 800;
    scifStartTasksNbl (BV (SCIF_ADC_WINDOW_MONITOR_TASK_ID));

    //主循环
    while (1){

    //等待警报回调
    Semaphore_pend (Semaphore_handle (&semScTaskAlert)、BIOS_wait_forever);

    //清除警报中断源
    scifClearAlertIntSource();

    //确认警报事件
    scifAckAlertEvents ();

    }// taskFxn

    您是否知道调用 i2c 相关 API 后传感器控制器任务为何卡住。

    谢谢。

    Raj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否先初始化 I2C? 如果是、您能否发布代码片段?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Christin

    是的、我初始化 i2c。

    假设、

    i2cFxn()

    当我从 simpleBLEPeripheral 调用 i2cFxn()时,它的工作正常。 当我从传感器控制器任务调用 i2cFxn()时,它不起作用。

    根据我的想法、任务从传感器控制器切换到 M3应用程序时可能会出现问题(simpleBLEPeripheral 任务)。

    如果您可以在这种情况下为我提供帮助、请帮我。

    谢谢

    Raj