37 lines
720 B
C++
37 lines
720 B
C++
/**
|
||
* can发送与解码任务
|
||
*/
|
||
#include "TopDefine.h"
|
||
#include "userTask.h"
|
||
#include "encodeCan.hpp"
|
||
#include "djiMotor.h"
|
||
|
||
/**
|
||
* \brief can任务
|
||
*
|
||
* \param argument 未使用
|
||
*/
|
||
void FunctionCan(void *argument)
|
||
{
|
||
(void)argument; /* 未使用argument,消除警告 */
|
||
|
||
const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_CAN;
|
||
|
||
djiInit();
|
||
|
||
uint32_t tick = osKernelGetTickCount();
|
||
while(1)
|
||
{
|
||
#ifdef DEBUG
|
||
task_struct.stack_water_mark.can = osThreadGetStackSpace(osThreadGetId());
|
||
|
||
#endif
|
||
waitNewDji();
|
||
djiMotorEncode();
|
||
can2MotorEncode();
|
||
|
||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||
osDelayUntil(tick);
|
||
}
|
||
}
|