Tool/software: TI C/C++ Compiler
Hello again,
The pointer into reading back a storage array text string is not being auto incremented by C++ during a while loop serial passing of its cell contents. Only the first few text char (integers) if any are being transfer by the language and loop directives. I noticed UARTprintf() may of had the same issue thus codes a work around (va_start). That increments an array pointer compiler seemingly fails to write proper code for during compile time. C++ is supposed to be a high level language and manipulate address pointers into array cells being passed as data strings to called functions within while loops until '\0' NULL is reached. TI Compilers seem to have issues with passing long text strings of mixed decimal & alpha via (char) combined from array cells typed as char or char*. It would seem this issue has always been a problem with TI compilers and has never been fixed.
while loop call below incorrectly transfers maybe two sometimes six characters of 40 byte text string via storage array ExociteCIK. Why should the designer have to write a separate pointer increment loop in order to empty the text array contents (ExositeCIK[40])? That increment is being done by the called function via the local while loop below passing the array contents character pointer which truncates after passing only two characters. Like char type variables (short integers) passing data into similar handlers does not have this issue that oddly long text strings appear to have.
The text array appears to be ASCII in CCS debug but sending it out without conversion produces the same bad results.
Array string: 3b7da0a42c1a84abd41e0886b65768c9925b5a84
/* Send CIK to text box */
for(i=0; i < 39; i++)
{
//ArrayCik |= ExositeCIK[i];
while(!(NexSendString("t20.txt=", ExositeCIK[i], 1)));
}