Off the top of my head again, what if you concatenate the numbers?
510512
511512
No matter what you have in the last 3 positions, 510 will always be in front of 511.
Robert
Off the top of my head again, what if you concatenate the numbers?
510512
511512
No matter what you have in the last 3 positions, 510 will always be in front of 511.
Robert
Maybe for every entry have an array of 4 words?
Sorting based on the second element of the array.
Ioannis
Thanks for the feedback.
Demon, not sure I follow your idea?
Ioannis, I think this is the way. An array of arrays.
Are you suggesting a 4 word array as a Long variable?
Every data base or logger must deal with this problem. So I'm sure there
is a standard way. Most examples show the data being processed in a
pc using excel or VB and not in a pic.
Thanks again
As you move the AN0 samples, move the AN1 samples the same way...
Code:SAMPLE_AN0 WORD [12] SAMPLE_AN1 WORD [12] CounterA var BYTE DataTemp var WORD Getsamples: For A = 1 to 12 adcin 0 SAMPLE_AN0[A] adcin 1 SAMPLE_AN1[A] NEXT A Sortdata: 'THIS WILL SORT SAMPLES_AN0 CounterA=0 SortArrayLoop: If SAMP_AN0[CounterA+1] < SAMP_AN0[CounterA] then DataTemp = SAMP_AN0[CounterA] SAMP_AN0[CounterA] = SAMP_AN0[CounterA+1] SAMP_AN0[CounterA+1]= DataTemp DataTemp = SAMP_AN1[CounterA] SAMP_AN1[CounterA] = SAMP_AN1[CounterA+1] SAMP_AN1[CounterA+1]= DataTemp If CounterA > 0 then CounterA = CounterA - 2 endif CounterA = CounterA + 1 If CounterA < 11 then goto SortArrayLoop END
DT
As Darrel replied, there is no need for a long variable. Besides you have 4 discrete variable that you have to treat as a whole.
Ioannis
Bookmarks