Oh, fantastico, xò ora x un dubbio risolto me ne si è aperto un altro, xkè messo così sto programmino x i numeri primi non mi pare abbia troppo senso...
#include "prime.h"
#include "global.h"
#include "uart.h"
unsigned int primenumbers[MAXPRIME];
void prime_calc(void)
{
unsigned int count;
unsigned int search;
unsigned int nodiv;
unsigned int i;

primenumbers[0] = 2;
primenumbers[1] = 3;
i = 2;
for (count = 5; (count < MAXSEARCH) && (i < MAXPRIME); count += 2)
{
nodiv = 1;
for (search = 3; (search < (count / 2)) && nodiv; search += 2)
{
nodiv = count % search;
}
if (nodiv)
{
primenumbers[i] = count;
i++;
}
}
}



Insomma, mi pare che la var. nodiv sia sempre e per forza diversa da 0 e la posizione I di primenumbers viene sempre riempita con un numero dispari...anche xkè l'if è fuori dal secondo for....non so, è il codice passatomi da un collega, ma mi ha lasciato perplesso....che ne dite?

p.s. Maxprime = 1500 e Maxsearch = 60000.

Grazie mille cmq per adesso, attendo le vostre opinioni^^