We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I use a Cypress Fx2. It's no problem to write a value to dcf.sekunde but if i set dcf.minute to 0 or such a other value, the controller will stops/crash.
I'm not sure if the struct definition is correct or if i must reserver a address block for it. i hope someone can help me.
Thanks
Sorry for my bad English.
FX2_DCF-Clock.h
typedef xdata struct signal { unsigned char sekunde; unsigned char minute; unsigned char stunde; unsigned char tag; unsigned char wochentag; unsigned char monat; unsigned char jahr; unsigned char synkro; unsigned int fehler_zaehler; }tdcf; extern tdcf dcf;
.
FX2_DCF-Clock.c
txdata tdcf dcf;
if(dcf.sekunde>59) { dcf.synkro=KEINSYNK; dcf.sekunde=0;
crash/stop
dcf.minute=0; dcf.stunde=0; }
It is quite common with:
typedef struct tag_1 { } tag_2;
tag_1 is the name it has within the "struct" namespace, i.e.:
struct node { struct node* next; int value; }; struct node *head; // ok node *tail; // invalid - "struct" keyword needed.
tag_2 is the type-defined name of the struct, i.e. intended for:
typedef struct { unsigned char age; char* name; } person_t; person_t charlie; person_t benny;