[SOLVED] Individual bit access MikroC

Status
Not open for further replies.
Possibly but a more universal way would be to use:
if(TEMP & 0x08)
using 0x08 as the value represented by the bit you are checking. You can use a variable as well as a constant.
Brian.
 
Reactions: M.Rehan

    M.Rehan

    Points: 2
    Helpful Answer Positive Rating
Yes, you can access bit of a PORT or regiset or a 1 byte variable using below format.

Code:
unsigned char myVar = 0;

TRISA.F0 = 1;

myVar.B0 = 1;

ANSELA.B0 = 1;

PORTB.B0 = 0;
 
Reactions: M.Rehan

    M.Rehan

    Points: 2
    Helpful Answer Positive Rating
Possibly but a more universal way would be to use:
Code:
if(TEMP & 0x08)

The PIC16F’s instruction set provides (individual) bit mapped access to I/O ports, so the code in post #1 could reach the same result, but I fully agree with you that in order to turn the whole code portable to other cores without this feature, if the sacrifice of some cycles is not any issue, I would prefer your suggestion.
 

If TEMP.F4 and TEMP & (1<<4) means the same, then it will never be equal to 1.
So, if(TEMP.F4 ==1) is incorrect. Have to be if(TEMP.F4)
 

TEMP.F4 or TEMP.B4 is referring to only 4th bit of TEMP variable

while TEMP & (1<<4) is comparing all zero too(left and right side)

but i think results will be same
 
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…