B bryan Member Dec 25, 2009 #1 Hello all: Trying to port some code from sourceboost to C18. Why am I receiving a syntax error. Thanks in advance Code: void wait_for_zero_cross() { if(X10_ZERO_CROSS) //c:17:Error: syntax error { while(X10_ZERO_CROSS); } else { while(!X10_ZERO_CROSS); } }
Hello all: Trying to port some code from sourceboost to C18. Why am I receiving a syntax error. Thanks in advance Code: void wait_for_zero_cross() { if(X10_ZERO_CROSS) //c:17:Error: syntax error { while(X10_ZERO_CROSS); } else { while(!X10_ZERO_CROSS); } }
P Pommie Well-Known Member Most Helpful Member Dec 25, 2009 #2 What is X10_ZERO_CROSS defined as? Mike.
B bryan Member Dec 25, 2009 #3 Thanks Mike. That appears to be the problem. It was defined as #define X10_ZERO_CROSS portb.0 I changed it to #define X10_ZERO_CROSS LATBbits.LATB0 and it compiled until the next error <g> Oh well getting there.!! -=Bryan=- Last edited: Dec 25, 2009
Thanks Mike. That appears to be the problem. It was defined as #define X10_ZERO_CROSS portb.0 I changed it to #define X10_ZERO_CROSS LATBbits.LATB0 and it compiled until the next error <g> Oh well getting there.!! -=Bryan=-
P Pommie Well-Known Member Most Helpful Member Dec 25, 2009 #4 And therein lies your problem, in C18 you access bits by using SFRnamebits.bitname and so your define should be, #define X10_ZERO_CROSS PORTBbits.RB0; You will also find that C18 requires all SFR names in upper case. Mike. Last edited: Dec 25, 2009
And therein lies your problem, in C18 you access bits by using SFRnamebits.bitname and so your define should be, #define X10_ZERO_CROSS PORTBbits.RB0; You will also find that C18 requires all SFR names in upper case. Mike.