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

shifting bits

I'm trying to read the data from an ADC. I'm getting the error message error C193 '+=' bad operand type. If I use '=+' I don't get the error but my data is shifting. My result is a 0 or 1. It should be in the range from 0 to 255. CONVST is the convert command I'm sending to the ADC, SCLK is the clock pulse I'm sending to the ADC, DOUT is the data coming from the ADC, and ad_in is my variable. Any help would be appreciated.

Here it the part of the program that's giving me the trouble.


void read_ad(void)
{
data byte i;

SCLK = 1;
CONVST = 0;
ad_in = 0;
CONVST = 1;

i=8;

do
{
SCLK = 0;
ad_in<<=1;
SCLK = 1;
ad_in += DOUT;
}
while(--i);
}

Parents
  • "I'm getting the error message error C193 '+=' bad operand type"

    When you get an error message, select it in the Build Output window, then press F1.
    This will bring up the help for that specific message.

    You can also open the help file directly; it's HLP\errors.chm in your C51 installation folder.
    The same text also appears in Chapter 7, "Error Messages" in the Manual

Reply
  • "I'm getting the error message error C193 '+=' bad operand type"

    When you get an error message, select it in the Build Output window, then press F1.
    This will bring up the help for that specific message.

    You can also open the help file directly; it's HLP\errors.chm in your C51 installation folder.
    The same text also appears in Chapter 7, "Error Messages" in the Manual

Children
No data