Hallo,
ich übertrage per SPI verschiedene Befehle die aus mehreren Bytes
bestehen. Dazu dachte ich mir die Befehle als Arrays aus Bytes in
Konstanten abzulegen und dann einer Funktion zu übergeben die Byte für
Byte sendet.
Der Befehl als Konstante:
1 | unsigned char const SET_CURSOR_AM_1[] = {0x11, 0x04, 0x1B, 0x4D, 0x4E, 0x32, 0xFD};
|
Die Funktion zum Senden der Bytes der Array-Konstanten:
1 | void SPI_SendBytes(unsigned char* arData)
|
2 | {
|
3 | for (uint8_t i=0; i<sizeof(arData); i++){
|
4 | SPI_MasterTransmit(arData[i]);
|
5 | }
|
6 | //Dummy-Byte senden
|
7 | _delay_us(10);
|
8 | SPI_MasterTransmit(0xFF);
|
9 | }
|
Und der Funktionsaufruf:
1 | SPI_SendBytes(*SET_CURSOR_HM_1);
|
beim Funktionsaufruf kriege ich die Warnmeldung:
"warning: passing argument 1 of 'SPI_SendBytes' makes pointer from
integer without a cast".
Ein Typecast hat mir hier aber nicht weiter geholfen. Ich habe auch
schon gelesen dass man die Fehlermeldung ignorieren könne, lieber hätte
ich sie aber schon weg.
hoffe auf Hilfe
mfg