000
10.02.2007, 13:18 Uhr
EnumTroubles
|
Hallo!
Arbeite unter Keil µvision v2.40a mit mehreren Files und ich hab mehrere States, die ich mit Enumeratoren realisiere!
Beispielsweise ist im Header folgender Enumertor deklariert:
typedef enum { DELIVIDLE, NORMALDATA, SNDFAIL, GETFAIL, GETOK, RESEND } TDeliverState;
Im Main.c deklariere ich nun
TDeliverState aDeliverState;
und weise zb.
aDeliverState=NORMALDATA;
zu!
Nun, wie erwähnt greife ich in mehrere Files auf diesen Enumerator zu und deklariere darum aDeliverstate in den Files in denen ich diesen Enumerator brauche als extern!
extern aDeliverState;
Nun hab ich jedoch folgendes Problem: Im main.c weise ich einen State zu, alles klappt so wie es sein muss. Eine durch main.c aufgerufene Funktion in einem anderen File würde nun wieder aDeliverState einen State zuweisen, jedoch unabhängig davon welchen State ich zuweise, aDeliverState wird immer 0x00 zugewiesen! (1. State, in diesem Fall DELIVIDLE) Hat jemand einen Lösungsvorschlag für mich?
mfg EnumTroubles ;) Dieser Post wurde am 10.02.2007 um 13:18 Uhr von EnumTroubles editiert. |