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

Using an Array

Hi I have the following array declared at the start of my program as global:

int number[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};

0 1 2 3 4 5 6 7 8 9

It is for a 7 segment display to display the numbers that I need, the array is from 0-9 in that order.

My code to call the array is:

P2 = number[4];

so in this case it should get the 4th number being 0x99

This works fine if i replace the 4 with 0,1 or 2 but anything greater than 2 all it does is return the data for 8 (80)

If anyone can work out why this is doing this please let me know

Thanks

Parents
  • Hi my array is working correctly if it is declared as an integer in my program, however if I change it as suggested to unsigned char code then what happens is it only diplays for a very quick period of time <1 second then no longer displays. I have tried it in a simple program and it works fine however in my larger program this does not work. Can you suggest why this might be happening? Also I'm trying to display a 2 digit number 1 digit at a time so I'm using the following code:

    P2 = number[set_temp/10]; //Display Tens

    and

    P2 = number[set_temp%10]; //Display Units

    This also doesnt work properly, this time it wont work while trying to access the integer "set_temp" which is defined as:

    int set_temp = 27;

    however if I take out "set_temp" from the code above and replace it with 27 it works fine.

    This also works fine in the simple program however not in my larger program.

    If you would like to see my whole program code to work this out please email me on alex@allsound.com.au

    Thanks

Reply
  • Hi my array is working correctly if it is declared as an integer in my program, however if I change it as suggested to unsigned char code then what happens is it only diplays for a very quick period of time <1 second then no longer displays. I have tried it in a simple program and it works fine however in my larger program this does not work. Can you suggest why this might be happening? Also I'm trying to display a 2 digit number 1 digit at a time so I'm using the following code:

    P2 = number[set_temp/10]; //Display Tens

    and

    P2 = number[set_temp%10]; //Display Units

    This also doesnt work properly, this time it wont work while trying to access the integer "set_temp" which is defined as:

    int set_temp = 27;

    however if I take out "set_temp" from the code above and replace it with 27 it works fine.

    This also works fine in the simple program however not in my larger program.

    If you would like to see my whole program code to work this out please email me on alex@allsound.com.au

    Thanks

Children