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