工具与软件:
您好!
我想让传感器控制器使用 FreeRTOS、使用 Sensor Controller Studio 提供的 DPL 和 OSAL。
我遇到的问题是我使用"scifStartTasksNbl"启动任务、然后等待 scifWaitOnNbl、但这不符合指定的超时要求。 它始终直接返回 SCIF_NOT_READY 错误。
UART_PRINT("[DEBUG] Starting Touch task with ID: %d", SCIF_CAPACITIVE_TOUCH_TASK_ID); // Configure capacitive touch parameters scifTaskData.capacitiveTouch.cfg.isrcCurrent = SCIF_CAPACITIVE_TOUCH_D_ISRC_CURRENT; scifTaskData.capacitiveTouch.cfg.maxSmplPeriod = SCIF_CAPACITIVE_TOUCH_D_MAX_SMPL_PERIOD; scifTaskData.capacitiveTouch.cfg.minSmplPeriod = SCIF_CAPACITIVE_TOUCH_D_MIN_SMPL_PERIOD; if (scifStartTasksNbl(1 << SCIF_CAPACITIVE_TOUCH_TASK_ID) != SCIF_SUCCESS) { UART_PRINT("[ERROR] Failed to start Capacitive Touch task"); return 0; } ret = scifWaitOnNbl(200001); if (ret != SCIF_SUCCESS) { UART_PRINT("[ERROR] Capacitive Touch task start timeout: %d", ret); return 0; } UART_PRINT("[DEBUG] Touch task started");
我对 FreeRTOS 还比较陌生、那么你有什么建议吗? 什么会导致不遵守超时要求?
请注意、它未在 ISR 内执行。
谢谢!
C é dric