C Struct Fehler

Folienkondensator

Neues Mitglied
28. Mai 2012
89
0
0
Sprachen
  1. ANSI C
  2. Assembler
Hallo

Ich habe die letzten Tage mal versucht ein LIN Signal zu "decodieren". Klappt soweit ganz gut, nur wollte ich das ganze jetzt etwas universeller gestalten und hab für 8 Bytes die gesendet werden + Datenlänge, eine Struktur angelegt

Code:
//Struktur der LIN Botschaft
typedef struct
	{
		uint8_t length;			// Datenlänge (Byte)
		uint8_t data[8];  		// Data field 8 Byte
	}LIN_messageType;

LIN_messageType msg_LIN;
LIN_messageType recMsg_LIN;

Die Daten werden in einem Interrupt mit Werten beladen und dann wird in ein Unterprogramm gesprungen, wo dann die 8 Bytes auf den UART gelegt werden.

Jetzt bringt mir AVRstudio folgenden Fehler. und ich weis nicht woran es liegt:

Fehler.JPG

Da das Bild (zu mindest bei mir) nicht funktioniert:

Warning 1 type of 'msg_LIN' defaults to 'int' [enabled by default]
Error 2 request for member 'length' in something not a structure or union
Error 3 request for member 'data' in something not a structure or union
Warning 4 suggest parentheses around assignment used as truth value [-Wparentheses]

Code:
	//Put data into buffer, sends the data
	UDR1 = data;
}


void LIN_tx (msg_LIN)
{
	LIN_tx_cnt=0;
	
	for( LIN_i2 = 0; LIN_i2 < msg_LIN.length; LIN_i2++)
	{
		USART1_Transmit(msg_LIN.data[LIN_tx_cnt]);
		LIN_tx_cnt++;
	}
}



// Start des Hauptprogramms
int main()
{


Kann mir da jemand helfen?

Gruß
Folienkondensator
 
Hallo

Jetzt hab ich den Fehler gefunden.

Das Unterprogramm muss so aussehen:
(Den roten Text hatte ich vergessen.

Code:
void LIN_tx ([COLOR="#FF0000"]LIN_messageType [/COLOR]msg_LIN)
{
	LIN_tx_cnt=0;
	
	for( LIN_i2 = 0; LIN_i2 < msg_LIN.length; LIN_i2++)
	{
		USART1_Transmit(msg_LIN.data[LIN_tx_cnt]);
		LIN_tx_cnt++;
	}
}

Gruß
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)