Gast
#385055
Und zwar weiss ich nun nicht wie ich diese C Schnippsel in C#
realisieren kann. Der Visual Studio 2003.NET C# Compiler mekert bei
"uint byte[8]" sowie bei "struct message_write *ptransmit".
Was müsste ich unter C# ändern fdamit dies funktioniert?
Unter C funktioniert es prima. Ich weiss halt nicht genau wie ich das
uint Array sowie Strukturübergabe in einer Funktion in C# verwirklichen
kann.
public struct message_write
{
uint id;
uint rtr;
uint dlc;
uint byte[8];
}
public void canmessage_write(struct message_write *ptransmit)
{
uint id_1,id_2,id_3;
uint id_1_hilf,id_2_hilf,id_3_hilf;
uint trdscr_wert;
uint i;
id_3=(ptransmit->id)&0x0f;
id_2=((ptransmit->id)/16)&0x0f;
id_1=((ptransmit->id)/256)&0x0f;
id_1_hilf=id_1*32;
id_2_hilf=id_2*2;
id_3_hilf=id_3/8;
trdscr_wert=(id_1_hilf)|(id_2_hilf)|(id_3_hilf);
canreg_write(10,trdscr_wert);
id_3=(ptransmit->dlc)&0x0f;
id_2=(ptransmit->rtr)*16;
id_1=((ptransmit->id)&0x0f)*32;
trdscr_wert =(id_3)|(id_2)|(id_1);
canreg_write(11,trdscr_wert);
for (i=0;i<=7;i++)
{
canreg_write (12+i,ptransmit->byte[i]);
}
canreg_write (1,0x01); //Sendung auslsen
do
{}
while (((canreg_read(2))&0x08)==0);
}