I need to extract eight values from a string I'm receiving from my serial port. I have the following code:
unsigned char xdata *p_ch; unsigned int xdata ch = 0; // Get command p_ch = strtok( com_buffer, "," ); // Get status while ( p_ch != NULL ) { // Get string p_ch = strtok( NULL, "," ); // Convert to float ad_value[ch] = atof( p_ch ); ch++; if ( ch > 8 ) break; } //__while ( p_ch != NULL )__
It works very intermittently. Can anyone suggest a better way to decode my serial string?
Thanks.
It works very intermittently.
That's no way to describe a problem. It's not even beginning to tell anyone what actually happens.
So here we have code that makes no effort at catching problems, and its author making no effort either. How do you think that could possibly lead to anybody ever figuring out what's going wrong?