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.
hi all it may seem very easy but i can't initialize my code constants with binary value in c51 ver 3.20 franklin DOS version i want to: code char bin_code[3]={ 0b1100110011,0b1111110011,0b1100111011}; but compiler doasn't accept. any one can help me?
I'm afraid you just can't do this directly in 'C'. I think this has been discussed before - why don't you search the forum to see if someone came up with some sort of macro solution? Stefan
Looks like hitech c compiler accepts binary as well as decimal, octal, hex etc... I haven't tried it in Keil C but here is a code snippet from a working program using PIC microcontroller:
/****************************************************************************** * Name : initialize * * Description : This function initializes the PIC to the following : * * 1. PORTA as output * * 2. PORTB as Input * * 3. Clears interrupt flags and sets timer0 to int every 1msec * * 4. Stops the motor. * * 5. sets the RB0 Interrupt to falling edge. * * 6. sets the timeOut variable to set speed required. * * 7. Clears the 1 msec flag * * 8. Enables both RB0 and Timer interrupts. * * Input : None * * Outout : None * ******************************************************************************/ void initialize() { TRISA = 0; // SET PORTA AS OUTPUT PORTA = 0; // STOP MOTOR flag1Msec = 0; // initialise 1 msec flag engOkFlag = 1; // initialise engage ok flag overSpdReg = 0; // set speed trigger to 30km/hr OPTION = 0b00010111; // Prescaler /256 inc timer every 128usec TMR0 = 248; // 128 usec x 8 = 1.024 msec INTCON = 0B00110000; // ENABLE INTERRUPTS AND CLR FLAGS clockA = 0; clockB = 0; debouncedState = 1; oldSwitchState = 0; startTiming = 0; GIE = 1; overSpdCntr = 0; // initialise speed counter underSpdCntr = 0; systemState = 0; // initialize state to state0 }