Share
Setting the transmit Channel for a BC message is done on a message-by-message basis when you setup the BC message. The following code example shows how this is done. The default channel is A, so if you do not select channel B when setting up the BC message all messages go out on channel A.
messno = 0; memset((char*)&bcmessage,0,sizeof(bcmessage)); bcmessage.messno = messno; bcmessage.messno_next = (BT_U16BIT)(messno + 1); bcmessage.control = BC_CONTROL_MESSAGE; // show as a message bcmessage.control |= BC_CONTROL_BUFFERA; // use buffer A //Use this line for send message on channel A bcmessage.control |= BC_CONTROL_CHANNELA; // Transmit on Channel A //Use this line for send message on channel B bcmessage.control |= BC_CONTROL_CHANNELB; // Transmit on Channel B bcmessage.control |= BC_CONTROL_INTERRUPT; bcmessage.control |= BC_CONTROL_MFRAME_BEG; bcmessage.mess_command1.rtaddr = 2; bcmessage.mess_command1.subaddr = 2; bcmessage.mess_command1.wcount = 2; bcmessage.mess_command1.tran_rec = 0; bcmessage.errorid = 0; // Default error injection buffer (no errors) bcmessage.gap_time = 800; // 8 microsecond inter-message gap. bcmessage.data[0][0] = 1; bcmessage.data[0][1] = 1; status = BusTools_BC_MessageWrite(cardnum,messno,&bcmessage); printf("BusTools_BC_MessageWrite status = %d\n"