Bonjour,
J'ai un sujet de stage sur lequel je doit programmer une carte avec un µC PIC16F1788. (programmation avec mikroC)
un de mes objectif est de faire de l'acquisition analogique du traitement et de l'envoie sur le port serie
j'ai commencé par faire de la lecture analogique et envoie du code binaire sur des LED ==> fonctionnement OK
Ensuite j'ai fait l'envoie sur la liaison serie ==> OK
Pour finir j'ai essayé d'ecrire la fonction suivante
à terme je veux rajouter un paramètre "voie à mesuré" , et la fonction renverra un tableau qui servira à alimenté ma fonction .Code:unsigned int tab[] = {100, 100, 100, 100}; int maFonction( int tab[], int taille){ int i; int moy; int sum = 0; for (i = 0; i < taille; ++i) { toto=tab[i]; // ==> PB ne lis pas les valeurs du tableau (il lis " 0") sprintf(text, "%d", toto); /// convertie en texte UART1_Write_Text(text); // envoie sur la liaison serie sum = sum + tab[i]; moy = sum / taille; return moy; } void main() { UART1_Init(9600); // Initialize UART module at 9600 bps Delay_ms(100); // Wait for UART module to stabilize while (1) { // Endless loop toto=tab[2]; // ====> lis correctement la case du tableau sprintf(text, "%d", toto); UART1_Write_Text(text); maFonctiont(tab[4],4); Delay_ms(1000); } }
Mon tableau contiendra en première case la moyenne des échantillions lu, et en dernière case un indice de pointeur afin que ma fonction puisse réécrire dans l'espace mémoire le plus ancien sans avoir besoin de faire un décalage du tableau.
malheureusement vu que la première partie de mon code ne fonctionne pas sans que je puisse savoir pourquoi, je suis gêné pour la suite.
Auriez vous une idée qui me permettrai de savoir pourquoi je n'arrive pas à lire le tableau à l'intérieur de ma fonction et des conseils pour parvenir à réalisé ma fonction ?
Merci d'avance
-----