if(can12->SR & (1<<2) && (!bMsgSent))/*tx is free & msg not sent*/ { can12->TFI1 = MsgBuf_TX.Frame; can12->TID1 = MsgBuf_TX.MsgID; can12->TDA1 = MsgBuf_TX.DataA; can12->TDB1 = MsgBuf_TX.DataB; can12->CMR = m_bCAN_mode; bMsgSent=1; } delay_ms(100); //100 ms delay if((can12->SR & (1<<3)) && bMsgSent) /*transmission complete*/ { bReturn_val=1; } |