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.

[参考译文] CC1312R:如何为 TIRTS7设置 RTC (CH1)处理器?

Guru**** 2542200 points
Other Parts Discussed in Thread: SYSCONFIG, SYSBIOS

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1087451/cc1312r-how-to-set-the-rtc-ch1-handler-for-tirtos7

部件号:CC1312R
在“Thread:sysconfigSysBIOS”中讨论的其它部件
你好。
我在任何地方都找不到我的问题的答案。
在我的程序中,我使用一个未使用的 RTC 通道来满足我的需求。
我需要如何以及在哪里为 TIRTS7编写处理程序函数?

在常规 TIRTOS 中,我在.cfg 文件中设置了它
,我可以在其中设置 TIRTS7的处理程序吗? 


例如,在 TIRTOS 中,我从文件夹 TIRTOS 设置文件 relese.cfg 中的处理程序
var Timer = xdc.module('ti.sysbios.family.arm.cc26xx.Timer');
Timer.funcHookCH1 = "&myRTC_IRQ_Handler";


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

    伊戈尔,你好,  

    要在 TIRTS7中使用相同的功能,我们必须在代码中而不是在 cfg 或 sysconfig 中设置此设置。  

    目前,您将在代码中启用 API 和通道并启动计时器(可能在 main()中)。 例如,这些行:

    AONRTCEventClear (AON_RTC_CH1);
    AONRTCCompareValueSet (AON_RTC_CH1,0x40000);
    AONRTCChannelEnable (AON_RTC_CH1); 

    您需要将计时器挂钩功能添加到代码中的指针 Timer_funcithookCH1中。在上述行之后。
    此致, 
    SID  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。 我使用   SimpleLink CC13xx CC26xx SDK 版本 5.40.00.40
    和 从资源管理器清空项目。

    据我所知,我需要将#include <ti/SysBIOS/系列/arm/Cc26xx/Timers.h>文件包含到项目中,其中有 Timer_funciHookCH1声明,但在该声明中声明为 const,并且在我尝试分配此变量 myHookCH1函数指针时编译器给出错误。

    simplelink_cc13xx_cc26xx_sdk_5_40_00_40\kernel\tirtos7\packages \ti\SysBIOS\famili\arm\cc26xx\Timer.c

    /* funcHookCH1 */
    const Timer_FuncPtr Timer_funcHookCH1;
    
    /* funcHookCH2 */
    const Timer_FuncPtr Timer_funcHookCH2;
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    下面是我需要获得的功能的工作示例。 它基于使用常规 TI-RTOS 的空项目。 
    请帮助我使用 TI-RTOS7执行相同的示例。 请提前感谢。 


    e2e.ti.com/.../EmptyWakeUp.zip
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    与基本示例的所有差异仅包含在2个文件中。
    首先,我在 release.cfg 中添加了 myHookCH1函数。 
    其次,在 empty.c 文件中,我添加了配置和 myHookCH1工作函数本身。
    例如,my国民 通道1功能中的程序切换 LED 并确定下一次唤醒时间。

    release.cfg
    var Timer = xdc.module('ti.sysbios.family.arm.cc26xx.Timer');
    Timer.funcHookCH1 = "&myHookCH1";



    empty.c
    /*
     *  ======== empty.c ========
     */
    
    /* For usleep() */
    #include <unistd.h>
    #include <stdint.h>
    #include <stddef.h>
    
    /* Driver Header files */
    #include <ti/drivers/GPIO.h>
    
    /* Driver configuration */
    #include "ti_drivers_config.h"
    
    #include <ti/devices/DeviceFamily.h>
    #include DeviceFamily_constructPath(driverlib/aon_rtc.h)
    #include DeviceFamily_constructPath(driverlib/aon_event.h)
    
    #define RTC_1_MS_VALUE          (0x40)
    #define WAKEUP_INTERVAL_VALUE   (200 * RTC_1_MS_VALUE) // 200 ms
    
    /*
     *  ======== myHookCH1 ========
     */
    void myHookCH1(void)
    {
        // Recharge RTC wakeup after WAKEUP_INTERVAL_VALUE
        AONRTCCompareValueSet(AON_RTC_CH1, AONRTCCompareValueGet(AON_RTC_CH1) + WAKEUP_INTERVAL_VALUE);
        GPIO_toggle(CONFIG_GPIO_LED_0);
    }
    
    /*
     *  ======== mainThread ========
     */
    void *mainThread(void *arg0)
    {
        /* Call driver init functions */
        GPIO_init();
    
        /* Configure the LED pin */
        GPIO_setConfig(CONFIG_GPIO_LED_0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    
        /* Turn on user LED */
        GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_ON);
    
        AONRTCEventClear(AON_RTC_CH1);
        // Charge RTC wakeup period WAKEUP_INTERVAL_VALUE
        AONRTCCompareValueSet(AON_RTC_CH1, AONRTCCompareValueGet(AON_RTC_CH1) + WAKEUP_INTERVAL_VALUE);
        AONRTCCombinedEventConfig(AON_RTC_CH0 | AON_RTC_CH1);
        AONEventMcuWakeUpSet(AON_EVENT_MCU_WU1, AON_EVENT_RTC_CH1);
        AONRTCChannelEnable(AON_RTC_CH1);
    
        while (1) {
            // loop forever
            sleep(1);
        }
    }

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

    您好,Igor,谢谢您提供的文件。  
    我将测试这些内容,并很快返回给您。