修复了一个can的bug
This commit is contained in:
parent
1cb37c4dac
commit
13bb73b72f
@ -28,7 +28,8 @@
|
|||||||
//================任务通知,时间组================//
|
//================任务通知,时间组================//
|
||||||
//事件组
|
//事件组
|
||||||
#define EVENT_RC (1<<1)
|
#define EVENT_RC (1<<1)
|
||||||
#define EVENT_CAN (1<<2)
|
#define EVENT_CAN1 (1<<2)
|
||||||
|
#define EVENT_CAN2 (1<<3)
|
||||||
|
|
||||||
//================任务通知================//
|
//================任务通知================//
|
||||||
//运球
|
//运球
|
||||||
|
@ -215,15 +215,13 @@ static osThreadId_t thread_alert;
|
|||||||
void Dji_Motor_CB()
|
void Dji_Motor_CB()
|
||||||
{
|
{
|
||||||
HAL_CAN_GetRxMessage(&hcan1, CAN_RX_FIFO0, &dji_rx_header, dji_rx_data);
|
HAL_CAN_GetRxMessage(&hcan1, CAN_RX_FIFO0, &dji_rx_header, dji_rx_data);
|
||||||
|
osThreadFlagsSet(thread_alert, EVENT_CAN1);
|
||||||
|
|
||||||
osThreadFlagsSet(thread_alert, EVENT_CAN);
|
|
||||||
// osEventFlagsSet(eventReceive, EVENT_CAN);
|
|
||||||
}
|
}
|
||||||
void can2_Motor_CB(void)
|
void can2_Motor_CB(void)
|
||||||
{
|
{
|
||||||
HAL_CAN_GetRxMessage(&hcan2, CAN_RX_FIFO1, &rx_header, rx_data);
|
HAL_CAN_GetRxMessage(&hcan2, CAN_RX_FIFO1, &rx_header, rx_data);
|
||||||
|
osThreadFlagsSet(thread_alert, EVENT_CAN2);
|
||||||
//osThreadFlagsSet(thread_alert, EVENT_CAN);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -234,9 +232,6 @@ void can2_Motor_CB(void)
|
|||||||
void djiInit(void)
|
void djiInit(void)
|
||||||
{
|
{
|
||||||
thread_alert = osThreadGetId();
|
thread_alert = osThreadGetId();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BSP_CAN_RegisterCallback(BSP_CAN_1, HAL_CAN_RX_FIFO0_MSG_PENDING_CB,
|
BSP_CAN_RegisterCallback(BSP_CAN_1, HAL_CAN_RX_FIFO0_MSG_PENDING_CB,
|
||||||
Dji_Motor_CB);
|
Dji_Motor_CB);
|
||||||
BSP_CAN_RegisterCallback(BSP_CAN_2, HAL_CAN_RX_FIFO1_MSG_PENDING_CB,
|
BSP_CAN_RegisterCallback(BSP_CAN_2, HAL_CAN_RX_FIFO1_MSG_PENDING_CB,
|
||||||
@ -250,11 +245,9 @@ void djiInit(void)
|
|||||||
*/
|
*/
|
||||||
uint32_t waitNewDji()
|
uint32_t waitNewDji()
|
||||||
{
|
{
|
||||||
// return osEventFlagsWait(
|
// 等待CAN1或CAN2任意一个事件
|
||||||
// eventReceive, EVENT_CAN,osFlagsWaitAny, osWaitForever);
|
|
||||||
return osThreadFlagsWait(
|
return osThreadFlagsWait(
|
||||||
EVENT_CAN, osFlagsWaitAll, osWaitForever);
|
EVENT_CAN1 | EVENT_CAN2, osFlagsWaitAny, osWaitForever);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ void FunctionCan(void *argument)
|
|||||||
task_struct.stack_water_mark.can = osThreadGetStackSpace(osThreadGetId());
|
task_struct.stack_water_mark.can = osThreadGetStackSpace(osThreadGetId());
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
waitNewDji();
|
//waitNewDji();
|
||||||
djiMotorEncode();
|
djiMotorEncode();
|
||||||
can2MotorEncode();
|
can2MotorEncode();
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ extern "C" {
|
|||||||
|
|
||||||
/* 所有任务都要define一个“任务运行频率”和“初始化延时” */
|
/* 所有任务都要define一个“任务运行频率”和“初始化延时” */
|
||||||
#define TASK_FREQ_SHOOT (500u)
|
#define TASK_FREQ_SHOOT (500u)
|
||||||
#define TASK_FREQ_CAN (1500u)
|
#define TASK_FREQ_CAN (500u)
|
||||||
#define TASK_FREQ_AI (500u)
|
#define TASK_FREQ_AI (500u)
|
||||||
#define TASK_FREQ_BALL (500u)
|
#define TASK_FREQ_BALL (500u)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user