|
@@ -7,6 +7,17 @@
|
|
|
#include "AppTaskCan.h"
|
|
|
static void CanDataAsk(QueueDataTrans_Type AskData);
|
|
|
uint8 DataPackCounter[21] = {1,1,7,5,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
|
|
|
+
|
|
|
+static void vCanRxCallback(TimerHandle_t pxTimer)
|
|
|
+{
|
|
|
+ uint32 ulTimerID;
|
|
|
+ ulTimerID = (uint32)pvTimerGetTimerID(pxTimer);
|
|
|
+ if(ulTimerID==0)
|
|
|
+ {
|
|
|
+ Can_MainFunction_Read();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void CanTask()
|
|
|
{
|
|
|
CanRecvQueueHandle = xQueueCreate(16, sizeof(Can_Msg_Type_Data)); // CAN获取消息队列创建
|
|
@@ -16,31 +27,37 @@ void CanTask()
|
|
|
CanIf_bRxFlag = false;
|
|
|
Can_Msg_Type_Data CanRxMsg;
|
|
|
QueueDataTrans_Type CanAskData={0,NULL};
|
|
|
+
|
|
|
+ TimerHandle_t monitorTimer1ms;
|
|
|
+ monitorTimer1ms = xTimerCreate("monitor1ms",1,pdTRUE,(void *)0,vCanRxCallback);
|
|
|
+ xTimerStart(monitorTimer1ms,0);
|
|
|
+
|
|
|
while (TRUE)
|
|
|
{
|
|
|
switch (CanState)
|
|
|
{
|
|
|
- case 0:
|
|
|
- {
|
|
|
- CanState = 1;
|
|
|
- break;
|
|
|
- }
|
|
|
- case 1:
|
|
|
- {
|
|
|
- memset(&CanRxMsg, 0, sizeof(CanRxMsg));
|
|
|
- Can_MainFunction_Read();
|
|
|
- BaseType_t ret = xQueueReceive(CanRecvQueueHandle, &CanRxMsg, 0);
|
|
|
- if (ret == pdPASS)
|
|
|
+ case 0:
|
|
|
{
|
|
|
- BleCanTransmit(CanRxMsg.id, CanRxMsg.data);
|
|
|
+ CanState = 1;
|
|
|
+ break;
|
|
|
}
|
|
|
- BaseType_t ret2 = xQueueReceive(Uart2ToCanDataHandle,&CanAskData,10);//带有校验码
|
|
|
- if (ret2 == pdPASS)
|
|
|
+ case 1:
|
|
|
{
|
|
|
- CanDataAsk(CanAskData);
|
|
|
+ memset(&CanRxMsg, 0, sizeof(CanRxMsg));
|
|
|
+ // Can_MainFunction_Read();
|
|
|
+ BaseType_t ret = xQueueReceive(CanRecvQueueHandle, &CanRxMsg, 0);
|
|
|
+ if (ret == pdPASS)
|
|
|
+ {
|
|
|
+ BleCanTransmit(CanRxMsg.id, CanRxMsg.data);
|
|
|
+ }
|
|
|
+ BaseType_t ret2 = xQueueReceive(Uart2ToCanDataHandle,&CanAskData,10);//带有校验码
|
|
|
+ if (ret2 == pdPASS)
|
|
|
+ {
|
|
|
+ CanDataAsk(CanAskData);
|
|
|
+ }
|
|
|
+// vTaskDelay(pdMS_TO_TICKS(10));
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|