Hello,
I am working with serial communication interrupt in LPC1768. In that I am receiving a three parameter data in the form of string as X:2341Y:114Z:75 via serial interrupt.
After receiving I am splitting this string and storing 2341 in array1[],114 in array2[] and 75 in array3[] and converting into integer and using in the main function as follows.
int main(){ .... .... .... while(1){ cut_count = (((int)(cut_preset_value[0]-0x30)*1000)+((int)(cut_preset_value[1]-0x30)*100)+((int)(cut_preset_value[2]-0x30)*10)+((int)(cut_preset_value[3]-0x30))); duty_count = (((int)(duty_cycle_value[0]-0x30)*10)+((int)(duty_cycle_value[1]-0x30))); TOTAL_TIME = ceil((ONE_MIN_IN_MSEC)/(cut_count)); //ceil func. is to round off the value dividend_value = ((TOTAL_TIME)*(duty_count)); ON_TIME_VALUE = ceil(dividend_value/PERCENT_DIVISOR_VALUE); //ceil func. is to round off the value OFF_TIME_VALUE = ceil(((TOTAL_TIME)-(ON_TIME_VALUE))); //ceil func. is to round off the value
} }
Note:Here cut_preset_value[],suction_preset_value[] and duty_cycle_value[] are the three globally defined arrays for storing values.
Within the while loop the arrays are not updating without board reset.
kindly provide some solution for this. Thank you.
"also doesn't work" doesn't tell any reader anything useful about your problem.
And you are posting a tiny bit of your source code, making impossible to see if your code have other interesting bugs. You haven't even shown us the declaration of that new flag variable.
And you haven't explained what a correct message should look like. And if your code is written in a way that it can correctly resynchronize if you connect the cable in the middle of a message or if one character for some reason gets corrupted.
Is "C" a unique character terminating a message but never used anywhere else? In that case, the code should be able to do alternative things if str_count does not match TOTAL_CHAR_LENGTH when the 'C' is received.
Anyway - what results do _you_ see when _you_ are busy debugging _your_ code? What did you expect would happen, and what does actually happen? And what are your conclusions from the difference between what was expected and the reality?