Temat: Wiadomości CAN

Cześć. Jestem początkujący i szukam pomocy z przesyłaniem wiadomości przez CAN.
Używam Codesys 3.5.
Chciałbym wysyłać i odbierać wiadomości jedno bitowe np.: 8 wiadomości w jednym bajcie. Używam
ARRAY ale nie wiem jak wyciągnąć i wsadzić pojedyncze bity.

I druga sprawa to chciałbym też odbierać wiadomości np 16 bitowe. Znalazłem rozwiązanie na wysyłkę wiadomości 16 bitowych lub większych:

fb_can1_Tx.ot_Msg.au8_Data[0]:=UINT_TO_USINT(.gu16_depth/256);  
fb_can1_Tx.ot_Msg.au8_Data[1]:=UINT_TO_USINT(.gu16_depth);

lecz z odbiorem nadal sobie nie poradziłem.
Dzięki za wszelkie sugestie.

2

Odp: Wiadomości CAN

Odbiór większych wiadomości opanowałem:

k:=au8_Rx_Data[0]; //pierwszy bajt
i:=au8_Rx_Data[1]; //drugi bajt

gu16_test:=k+i*256; //liczba 16 bitówa

pozostało jeszcze przesyłanie pojedynczych bitów.

3

Odp: Wiadomości CAN

A to rozwiązanie na przesyłanie pojedynczych bitów. np. zmiennych BOOL

k:=au8_Rx_Data[0.0]; //pierwszy bit
i:=au8_Rx_Data[1].1; //drugi bit
g:=au8_Rx_Data[1].2; //trzeci bit

itd.