// Simple application which drives one Tx message and receives two messages void Task( void ) { while (1) { WaitEvent(EVENT_MASK_Event1); LinIf_MainFunction(); Com_MainFunctionRx(); Com_MainFunctionTx(); ClearEvent(EVENT_MASK_Event1); Com_ReceiveSignal(Signal_Rx_1, &valuerx1); Com_ReceiveSignal(Signal_Rx_2, &valuerx2); Com_ReceiveSignal(word_1, &valuerx3); Com_ReceiveSignal(word_2, &valuerx4); valuetx1++; valuetx2--; valuetx3 = valuetx2 ^ 0xFFFFFF ; Com_SendSignal(Signal_Tx_1, &valuetx1); Com_SendSignal(Signal_Tx_2, &valuetx2); Com_SendSignal(Signal_Tx_3, &valuetx3); } }
void Task2( void ) { Com_MainFunctionRx(); Com_ReceiveSignal(CanDB_Signal_32_21_BE_Tester, &CanDB_Signal_32_21_BE_buffer); Com_ReceiveSignal(CanDB_Signal_1_4_LE_Tester, &CanDB_Signal_1_4_LE_buffer); Com_ReceiveSignal(CanDB_Signal_45_12_LE_Tester, &CanDB_Signal_45_12_LE_buffer); Com_ReceiveSignal(CanDB_Signal_29_12_BE_Tester, &CanDB_Signal_29_12_BE_buffer); Com_SendSignal(CanDB_Signal_32_21_BE, &CanDB_Signal_32_21_BE_buffer); Com_SendSignal(CanDB_Signal_1_4_LE, &CanDB_Signal_1_4_LE_buffer); Com_SendSignal(CanDB_Signal_45_12_LE, &CanDB_Signal_45_12_LE_buffer); Com_SendSignal(CanDB_Signal_29_12_BE, &CanDB_Signal_29_12_BE_buffer); Com_MainFunctionTx(); TerminateTask(); }
void CanFunctionTask(void) { printf("CanFunctionTask\r\n"); for(;;){ WaitEvent(EVENT_MASK_CanFunctionEvent); ClearEvent(EVENT_MASK_CanFunctionEvent); #if !CAN_INTERRUPT Can_MainFunction_Read(); #endif Com_MainFunctionRx(); if (ComWrite == true) { Com_MainFunctionTx(); ComWrite = false; } } }