Forum: Mikrocontroller und Digitale Elektronik Stm32F107 Programm springt immer in den Default Handler


von Bülent C. (mirki)


Lesenswert?

Moin,

habe ein merkwürdiges Verhalten bei folgendem Code:
Compiler ARM gcc 4.9 2015q3
1
#define MAXSIZE 100
2
3
typedef struct
4
{
5
  uint8_t data[MAXSIZE];
6
  uint8_t size;
7
}UART_MSG;

In der Main Routine
1
UART_MSG *u_msg;

Weiterhin in der Main Routine zum demonstrieren des Verhaltens
1
for(x=0;x<MAXSIZE;x++)
2
  u_msg->data[x] ='0';

Ab hier verabschiedet sich der Controller in die Endlosschleife des 
Default Handlers.

Hat jemand evtl. eine Idee voran das liegen könnte?

VG,
Bülent

von Dr. Sommer (Gast)


Lesenswert?

u_msg nicht korrekt initialisiert, oder irgend ein anderer Fehler in 
Zeile 42.

von hp-freund (Gast)


Lesenswert?

Bis jetzt gibt es nur einen Zeiger, aber keinen Speicher auf den er 
zeigen kann.

Also nach:
1
UART_MSG *u_msg;

noch ein:
1
u_msg = malloc( sizeof(  UART_MSG ));

von Bülent C. (mirki)


Lesenswert?

hp-freund schrieb:
> Bis jetzt gibt es nur einen Zeiger, aber keinen Speicher auf den er
> zeigen kann.
ähhm Jepp..Sowas hatte ich schon befürchtet



oder ein
1
UART_MSG u_msg;
1
for (i=0;i<MAXSIZE;i++)
2
 u_msg.data[i] = 0;

machts auch denk ich.

von hp-freund (Gast)


Lesenswert?

Bülent C. schrieb:
> machts auch denk ich.

Genau. Wer braucht schon Zeiger ;-)

von hp-freund (Gast)


Lesenswert?

Aber:
0 <> '0'

von Bülent C. (mirki)


Lesenswert?

hp-freund schrieb:
> Aber:
> 0 <> '0'

Die Schleife war nur zur Demo

in Wirklichkeit geht es so weiter
1
UART_Read(&u_msg);

von Mehmet K. (mkmk)


Lesenswert?

Bülent, schon mal daran gedacht, dass Deine von Dir nicht erkannten 
Flüchtigkeitsfehler vielleicht daran liegen, dass Deine Arbeitszeit 
nicht synchron mit Deiner inneren Uhr einhergeht?

von Bülent C. (mirki)


Lesenswert?

Mehmet K. schrieb:
> Bülent, schon mal daran gedacht, dass Deine von Dir nicht
> erkannten
> Flüchtigkeitsfehler vielleicht daran liegen, dass Deine Arbeitszeit
> nicht synchron mit Deiner inneren Uhr einhergeht?

Das schreibst Du mir um 05:23 Uhr? :-)

von Mehmet K. (mkmk)


Lesenswert?

Bülent C. schrieb:
> Das schreibst Du mir um 05:23 Uhr? :-)

Ich stehe meist zwischen 5 und 6 Uhr auf. Und nein, nicht um zu beten :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.