Pier S. wrote:
> Hallo,
> kann mir bitte jemand sagen wie ich folgende Fehlermeldung weg kriege ??
> ../Fuction.c:74: error: void value not ignored as it ought to be
Wo ist Zeile 74?
>
1 | > //********************************************* SPI_MasterTransmit
|
2 | > **********************************************************************
|
3 | >
|
4 | > void SPI_MasterTransmit(void *cData,uint8_t len)
|
5 | > {
|
6 | > uint8_t i;
|
7 | > PORTB &= ~(1 << PB4); // Start transmission
|
8 |
|
9 | > for (i=0;i<len;i++)
|
10 | > {
|
Es ginge auch 'while (len-- > 0)'.
1 | > SPDR = (*cData); // shift out data
|
Einen Zeiger auf void darf man normalerweise nicht dereferenzieren (*).
1 | > while(!(SPSR & (1<<SPIF))); // Wait for transmission complete
|
2 | > cData++;
|
Das ist auch verboten. Da void keine Größe hat, ist nicht definiert, wie
weit das '++' den cData-Zeiger versetzen soll.
[c]
> }
>
> PORTB |= (1 << PB4); // disable \ss
>
> }
/c]
Mach statt void mal uint8_t oder char.