This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Impact of using bit instead of sbit for sfr while declaring

Keil compiler doesn't allow us to use sbit in declaration file (.h - header) So I am using bit in declaration of 1-bit variable in my .h (header) file and sbit in definition (.c) file for sfr . I am working on a critical project so will this cause any problem while executing on hardware?? If yes, when??

Parents
  • Please look, I am using as follows:


    File 1: var1.h


    #define a= 0x125D;

    extern unsigned char bdata obc;
    extern unsigned char idata b;

    extern bit val0;
    extern bit val1;
    extern bit val2;
    extern bit val3;
    extern bit val4;
    extern bit val5;
    extern bit val6;
    extern bit val7;


    File 2: var1.c


    #include "var1.h"

    unsigned char bdata obc;
    unsigned char idata b;

    sbit val0= obc^0;
    sbit val1= obc^1;
    sbit val2= obc^2;
    sbit val3= obc^3;
    sbit val4= obc^4;
    sbit val5= obc^5;
    sbit val6= obc^6;
    sbit val7= obc^7;


    File 3: MyProg.c

    #include "var1.h"

    void main

    {..........
    ...........

    if cond...1
    {........
    .........
    ......... }

    else if cond..2
    {......
    .......
    obc=XBYTE[a] & b;
    .......
    ....... }

    else
    {........
    .........
    ......... }

    .........
    .........
    }

Reply
  • Please look, I am using as follows:


    File 1: var1.h


    #define a= 0x125D;

    extern unsigned char bdata obc;
    extern unsigned char idata b;

    extern bit val0;
    extern bit val1;
    extern bit val2;
    extern bit val3;
    extern bit val4;
    extern bit val5;
    extern bit val6;
    extern bit val7;


    File 2: var1.c


    #include "var1.h"

    unsigned char bdata obc;
    unsigned char idata b;

    sbit val0= obc^0;
    sbit val1= obc^1;
    sbit val2= obc^2;
    sbit val3= obc^3;
    sbit val4= obc^4;
    sbit val5= obc^5;
    sbit val6= obc^6;
    sbit val7= obc^7;


    File 3: MyProg.c

    #include "var1.h"

    void main

    {..........
    ...........

    if cond...1
    {........
    .........
    ......... }

    else if cond..2
    {......
    .......
    obc=XBYTE[a] & b;
    .......
    ....... }

    else
    {........
    .........
    ......... }

    .........
    .........
    }

Children