#include "nucTask.hpp" #include "nuc.h" #include "userTask.h" #include "TopDefine.h"//事件组的一些东西 #include "FreeRTOS.h" #include #include #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); } }