Hello everyone,
I have a amall project which take some float values and display them on 7 segment . Using multiplexing segment on serial line. when I run simple loop and get char from my array of segment dat its ok but when I try to get segment data from same array with other char variable it didnot get correct data. I am stuck with getting right data from my char array for 7 segment here is snp of my code please point out problem.
`void getDigitsFromFloat(float number)
{
//char digits[10];
char digit;
char numberStr[8];
dtostrf(number,6, 2, numberStr);
Serial.print("converotF: ");
Serial.println(numberStr);
for (char i=0;i<8;i++ )
{
if (isdigit(numberStr[i]))
digNumber[i] = (char)numberStr[i];
//else
// digit = (digit || 0b00001000);// add decimal point with last digits
//digNumber[i] = digit;
}
//digNumber = digits;
}
void print7seg(float cost)
{
getDigitsFromFloat(cost);
char lop=0;
for(char i = 0;i<4;i++)
{
lop = (char)digNumber[i];
shiftData(numTable[lop]); //shif data byte to serial for t segment
// Serial.print("lop: ");
//Serial.println(lop);
// Serial.print("TableNum: ");
//Serial.println(numTable[lop]); //in serial monitor its shows correct lop no but it did not take right no from numTable array??
}
//for(int i =0;i<13;i++)
shiftData(0);
//Latch the data
digitalWrite(Latch,LOW);
delay(5);
digitalWrite(Latch,HIGH);
}
`
Here is my serial monitor display please guide whats wrong with this code