程序方面很薄弱,我将CAN的数据发送出去,是给结构体每次都赋值的方式进行的,发送程序如下:TX.message_type=CAN_MSG_DATA;
TX.frame_type=CAN_FRAME_STD;
TX.buffer=0;
TX.id=0x124;
TX.data[0]='a';
TX.data[1]='a';
TX.data[2]='a';
TX.data[3]='a';
TX.data[4]='a';
TX.data[5]='a';
TX.data[6]='a';
TX.data[7]='a';
TX.data_length=8;
TX1.message_type=CAN_MSG_DATA;
TX1.frame_type=CAN_FRAME_STD;
TX1.buffer=0;
TX1.id=0x124;
TX1.data[0]='b';
TX1.data[1]='b';
TX1.data[2]='b';
TX1.data[3]='b';
TX1.data[4]='b';
TX1.data[5]='b';
TX1.data[6]='b';
TX1.data[7]='b';
TX1.data_length=8;
TX2.message_type=CAN_MSG_DATA;
TX2.frame_type=CAN_FRAME_STD;
TX2.buffer=0;
TX2.id=0x124;
TX2.data[0]='c';
TX2.data[1]='c';
TX2.data[2]='c';
TX2.data[3]='c';
TX2.data[4]='c';
TX2.data[5]='c';
TX2.data[6]='c';
TX2.data[7]='c';
TX2.data_length=8;
TX3.message_type=CAN_MSG_DATA;
TX3.frame_type=CAN_FRAME_STD;
TX3.buffer=0;
TX3.id=0x124;
TX3.data[0]='d';
TX3.data[1]='d';
TX3.data[2]='d';
TX3.data[3]='d';
TX3.data[4]='d';
TX3.data[5]='d';
TX3.data[6]='d';
TX3.data[7]='d';
TX3.data_length=8;
TX4.message_type=CAN_MSG_DATA;
TX4.frame_type=CAN_FRAME_STD;
TX4.buffer=0;
TX4.id=0x124;
TX4.data[0]='e';
TX4.data[1]='e';
TX4.data[2]='e';
TX4.data[3]='e';
TX4.data[4]='e';
TX4.data[5]='e';
TX4.data[6]='e';
TX4.data[7]='e';
TX4.data_length=8;
TX5.message_type=CAN_MSG_DATA;
TX5.frame_type=CAN_FRAME_STD;
TX5.buffer=0;
TX5.id=0x124;
TX5.data[0]='f';
TX5.data[1]='f';
TX5.data[2]='f';
TX5.data[3]='f';
TX5.data[4]='f';
TX5.data[5]='f';
TX5.data[6]='f';
TX5.data[7]='f';
TX5.data_length=8;
TX6.message_type=CAN_MSG_DATA;
TX6.frame_type=CAN_FRAME_STD;
TX6.buffer=0;
TX6.id=0x124;
TX6.data[0]='g';
TX6.data[1]='g';
TX6.data[2]='g';
TX6.data[3]='g';
TX6.data[4]='g';
TX6.data[5]='g';
TX6.data[6]='g';
TX6.data[7]='g';
TX6.data_length=8;
TX7.message_type=CAN_MSG_DATA;
TX7.frame_type=CAN_FRAME_STD;
TX7.buffer=0;
TX7.id=0x124;
TX7.data[0]='h';
TX7.data[1]='h';
TX7.data[2]='h';
TX7.data[3]='h';
TX7.data[4]='h';
TX7.data[5]='h';
TX7.data[6]='h';
TX7.data[7]='h';
TX7.data_length=8;
TX8.message_type=CAN_MSG_DATA;
TX8.frame_type=CAN_FRAME_STD;
TX8.buffer=0;
TX8.id=0x124;
TX8.data[0]='i';
TX8.data[1]='i';
TX8.data[2]='i';
TX8.data[3]='i';
TX8.data[4]='i';
TX8.data[5]='i';
TX8.data[6]='i';
TX8.data[7]='i';
TX8.data_length=8;
TX9.message_type=CAN_MSG_DATA;
TX9.frame_type=CAN_FRAME_STD;
TX9.buffer=0;
TX9.id=0x124;
TX9.data[0]='j';
TX9.data[1]='j';
TX9.data[2]='j';
TX9.data[3]='j';
TX9.data[4]='j';
TX9.data[5]='j';
TX9.data[6]='j';
TX9.data[7]='j';
TX9.data_length=8;
while(1)
{
sendECAN(&TX);
delayms(10000);
sendECAN(&TX1);
delayms(10000);
sendECAN(&TX2);
delayms(10000);
sendECAN(&TX3);
delayms(10000);
sendECAN(&TX4);
delayms(10000);
sendECAN(&TX5);
delayms(10000);
sendECAN(&TX6);
delayms(10000);
sendECAN(&TX7);
delayms(10000);
sendECAN(&TX8);
delayms(10000);
sendECAN(&TX9);
delayms(10000);
}
这样的发送方式,发送数据时只能发送固定的数据,如果要进行实时的数据发送,怎么解决呢。如果进行循环发送,又该怎么设计。请大家提示一下,谢谢了。