r1upper/User/task/nucTask.cpp
2025-04-16 16:24:23 +08:00

56 lines
1.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "nucTask.hpp"
#include "nuc.h"
#include "userTask.h"
#include "TopDefine.h"//事件组的一些东西
#include "FreeRTOS.h"
#include <cmsis_os2.h>
#ifdef DEBUG
NUC_t cmd_fromnuc;
//int send[3]={1,2,3};
float send[3]={1,2,3};
#endif
void Function_nuc(void *argument)
{
(void)argument; /* 未使用argument消除警告 */
const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_AI;
NUC_Init(&cmd_fromnuc);
uint32_t tick = osKernelGetTickCount();
while(1)
{
#ifdef DEBUG
task_struct.stack_water_mark.nuc = osThreadGetStackSpace(osThreadGetId());
#endif
NUC_StartReceiving();
NUC_RawParse(&cmd_fromnuc);
NUC_SendPacket(&send, sizeof(send)); // 发送数据包
//掉线处理有空写
// if(NUC_WaitDmaCplt())
// {
// NUC_RawParse(&cmd_fromnuc);
// }
// else
// {
// NUC_HandleOffline(&cmd_fromnuc);
// }
osMessageQueueReset(task_struct.msgq.nuc); // 清空消息队列
osMessageQueuePut(task_struct.msgq.nuc,&(cmd_fromnuc),0,0);
osDelay(2);
tick += delay_tick; /* 计算下一个唤醒时刄1ķ*/
osDelayUntil(tick);
}
}