R2_UP/User/task/Calc_task.c

65 lines
1.6 KiB
C
Raw Permalink Normal View History

2025-03-12 10:46:02 +08:00
#include "Calc_task.h"
#include "cmsis_os.h"
#include "user_task.h"
#include "chassis.h"
#include "remote_control.h"
#include "map.h"
#include "usart.h"
////·<><C2B7><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
//void path_select(void)
//{
// current_path = rc_ctrl.sw[2];
// if(current_path!=last_path)
// {
// switch (current_path)
// {
// //<2F><>ǰ<EFBFBD><C7B0>
// case POINT_CURRENT:
//// chassis_pos->IS_SICK = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sick<63><6B>λ
// path_state.path = &path_current;//ѡ<><D1A1>·<EFBFBD><C2B7>
// path_state.points_num = 1;//ȷ<><C8B7>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// break;
// //<2F><><EFBFBD><EFBFBD><E8B6A8>
// case POINT_LEFT:
//// chassis_pos->IS_SICK = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sick<63><6B>λ
// path_state.path = &path_left;//ѡ<><D1A1>·<EFBFBD><C2B7>
// path_state.points_num = 1;//ȷ<><C8B7>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//// chassis_pos->sick.dis_set[2] = SICK_PATH_LEFT_Y;//sick<63>趨ֵX<D6B5>ḳֵ
//// chassis_pos->sick.dis_set[3] = SICK_PATH_LEFT_X;//sick<63>趨ֵY<D6B5>ḳֵ
// break;
// //ǰ<><EFBFBD><E8B6A8>
// case POINT_FRONT:
//// chassis_pos->IS_SICK = 1;//<2F><><EFBFBD><EFBFBD>sick<63><6B>λ
// path_state.path = &path_front;//ѡ<><D1A1>·<EFBFBD><C2B7>
// path_state.points_num = 1;//ȷ<><C8B7>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//// chassis_pos->sick.dis_set[2] = SICK_PATH_FRONT_Y;//sick<63>趨ֵX<D6B5>ḳֵ
//// chassis_pos->sick.dis_set[3] = SICK_PATH_FRONT_X;//sick<63>趨ֵY<D6B5>ḳֵ
// break;
// }
// chassis_pos->POS_IS_CPT = NO;
//// chassis_pos->SICK_IS_CPT = NO;
// }
// last_path = current_path;
//}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Task_Calc(void *argument)
{
(void)argument; /* δʹ<CEB4><CAB9>argument<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_CALCULATE;
uint32_t tick = osKernelGetTickCount(); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʵļ<CAB5>ʱ */
while(1)
{
tick += delay_tick; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
osDelayUntil(tick); /* <20><><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>һ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD> */
}
}