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 have written a LIB with the following decleration:
idata u_char clock_occ; idata void (*f_ce)(u_char stat); I use it in the LIB in the way as: clock_occ = 1; f_ce(TRUE); so far, no problem, I compile it -> ok: I add the LIB to my project and use it like: extern idata u_char clock_occ; extern idata void (*f_ce)(u_char stat); void SetChipEnable (u_char stat) { ... } void main (void) { clock_occ=0; f_ce = (void *)SetChipEnable; }
Thanks. I have made this solution: In my "lib"
defTyp idata void (code*f_ce_on)(); defTyp idata void (code*f_ce_off)(); void InitClockLib (u_char *p_ce_on, u_char *p_ce_off) { f_ce_on = p_ce_on; f_ce_off = p_ce_off; }
MCO = 1; f_ce_on();
void SetChipEnableOn (void) { P2 = 0xFF; } void SetChipEnableOff (void) { P2 = 0; }
InitClockLib ( (u_char*) &SetChipEnableOn, (u_char*) &SetChipEnableOff);
Read ! (SetChipEnableOn, SetUhrChipEnableOff), Write ! (SetChipEnableOn, SetUhrChipEnableOff)