TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310: 关于Sensor controller studio 里的RTC_BASE任务执行有些疑问

Part Number:CC1310

首先对于传感器控制器我采用了基于RTC的任务执行方式,设置RTC周期为60秒(60s采集一次传感器数据),并在主程序循环之前调用一次 scifStartTasksNbl(),Sensor controller studio里的初始化代码为    fwScheduleTask(1);

执行代码里主要采集数据,并且最后加了条 fwScheduleTask(1);      终止代码无内容。 看完规格书后,我的疑问是scifStartTasksNbl()不是应该只触发初始化代码吗,为什么我一上电就执行了执行代码(而不是60S后的RTC唤醒后才调用执行代码),难道它也触发了执行代码?,

Galaxy Yue:

您好,

您的传感器控制器任务本身必须通过 RTC 调度或事件触发调度安排下一个任务迭代。 根据您提供的实验过程描述判断您正在使用 RTC 调度。 这意味着 SC 任务中的执行代码必须在每次迭代后调用 fwScheduleTask(),在 TI-RTOS 应用程序中,在配置 RTC 后调用 scifStartTasksNbl()。

fwScheduleTask (N)计划在将来执行代码 N 个 RTC 周期的一次执行。 因此、如果你在初始化代码中调用 fwScheduleTask (N)、那么执行代码将在未来执行 N 个 RTC 周期。 如果您在执行代码中继续调用 fwScheduleTask (N)、则运行执行代码将保留计划本身、从而连续运行。

此外,在初始化代码或执行代码中,fwSchedule Task()是第一行还是最后一行调用无关紧要。fwSchedule Task()在运行的代码完成后生效。

希望能对您有所帮助。

,

?? ?:

您好,首先感谢您的解答,我的确用的RTC调度,另外我通过查看相关资料,发现在每个RTC的周期都会唤醒SC,所以想确定下,每次唤醒后会主动去执行execution code 里的代码吗,另外,如果我调用   fwScheduleTask(5) 使其5个周期后执行一次任务,那么前5次的唤醒SC去做什么事了?

,

Galaxy Yue:

您好,我需要时间来回复您的问题,请稍等。

,

Galaxy Yue:

您好,建议您看一下此链接

https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_1GHz_node

其中的task 3、4关于您的问题做出了回答。

以下是我为您翻译的重要片段

终止代码仅在应用处理器停止任务时 ( scifStopTasksNbl()) 或在所有任务代码块的单次迭代结束时 ( scifExecuteTasksOnceNbl()) 运行一次。在“ADC 窗口监视器”示例中,终止代码从不运行,因此留空。

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: 关于Sensor controller studio 里的RTC_BASE任务执行有些疑问
分享到: 更多 (0)