Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Donner un Nom evolutif à une variable
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Re,
Alors voila , je vous passe les détails du programme et ne met que l'essentiel . Il s'agit du programme de test , rien n'est optimisé hein ...
Voila la partie App inventor . J'ai rajouter le mot chrono devant , pour différencier par la suite , l'envoie ou l’arrêt ou tout autre option . Ainsi quand on reçoit "chrono" on sait ou se trouve nos valeurs à interpréter.
Ce programme fonctionne très bien . ( a part le premier appui sur le bouton qui bug , ensuite tout rentre dans l'ordre).
J'ai bien la somme de toute mes valeurs qui s'affiche sur le LCD et le PORTD
Alors voila , je vous passe les détails du programme et ne met que l'essentiel . Il s'agit du programme de test , rien n'est optimisé hein ...
Code : Tout sélectionner
char txt2[7];
char txt[20];
unsigned short Index_Buffer, tmp, DataReady, i, j;
char CMD_mode, BT_state, response_rcvd, responseID, response = 0 ;
unsigned short variable0, variable1, variable2 ;
unsigned int somme;
// Interruption
void interrupt(){
if (RCIF_bit == 1) { // Do we have uart rx interrupt request?
tmp = UART1_Read(); // Get received byte
if (CMD_mode){
...
}
else {
if (tmp == 13) {
txt[Index_Buffer] = 0; // Terminateur de string
DataReady = 1; // Une donnée à été reçue et est prête
}
else {
txt[Index_Buffer] = tmp; // On place la donnée dans le tableau txt[]
Index_Buffer++; // Incrémente l' du tableau
}
RCIF_bit = 0; // Disable UART RX interrupt
}
}
}
.......
while (1) {
if (DataReady) // Si une donnée est recue
{
GIE_bit = 0; // Interdit les Interutpions
DataReady = 0; // RAZ le flag
LCD_Cmd(_LCD_CLEAR); // Efface l'ecran
Lcd_Out(1,1,"Received:"); // Display message
Lcd_Cmd(_LCD_SECOND_ROW); // Write in second row
Index_Buffer = 0; // Reset counter
variable0 = txt[7];
variable1 = txt[9];
variable2 = txt[11];
somme = variable0 + variable1 + variable2;
PORTD = somme;
IntToStr (somme,txt2);
Lcd_Out(2,1,txt2);
Index_Buffer = 0; // Raz l'index du buffer
memset(txt, 0, 16); // Clear array of chars
GIE_bit = 1; // Active les INT sur reception UART
}
}
Voila la partie App inventor . J'ai rajouter le mot chrono devant , pour différencier par la suite , l'envoie ou l’arrêt ou tout autre option . Ainsi quand on reçoit "chrono" on sait ou se trouve nos valeurs à interpréter.
Ce programme fonctionne très bien . ( a part le premier appui sur le bouton qui bug , ensuite tout rentre dans l'ordre).
J'ai bien la somme de toute mes valeurs qui s'affiche sur le LCD et le PORTD
Donner un Nom evolutif à une variable
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
A la vue de ton programme Appinventor , je comprends mieux le different ..
dans un poste precedent tu disais envoyer
;1;42;25
dans la mesure ou je vois un ; j'en ai deduit que c'etait une chaine de caractere
donc par exemple 42 => 2 caracteres
alors que tu envoies finalement des Bytes
1 byte pour 59 (le ; )
1 byte pour la valeur 1
1 byte pour le ;
1 byte pour la valeur 42
.. etc ...
auquel cas, effectivement il n'y a pas besoin de faire des transformation ascci -> numerique
par contre il manque les multiplication par 3600 et 60 pour la somme en secondes
somme = (int) variable0 *3600 + variable1 *60 + variable2;
A la vue de ton programme Appinventor , je comprends mieux le different ..
dans un poste precedent tu disais envoyer
;1;42;25
dans la mesure ou je vois un ; j'en ai deduit que c'etait une chaine de caractere
donc par exemple 42 => 2 caracteres
alors que tu envoies finalement des Bytes
1 byte pour 59 (le ; )
1 byte pour la valeur 1
1 byte pour le ;
1 byte pour la valeur 42
.. etc ...
auquel cas, effectivement il n'y a pas besoin de faire des transformation ascci -> numerique
par contre il manque les multiplication par 3600 et 60 pour la somme en secondes
somme = (int) variable0 *3600 + variable1 *60 + variable2;
Donner un Nom evolutif à une variable
Donner un Nom evolutif à une variable
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
suite à cette perte d'energie des 2 bords .. (mais quand meme instructive par ailleurs)
Remarque à peut etre à deplacer dans langage C general ?
D'où l'utilité de bien formaliser l'ecriture
par ex : sous cette forme pour une serie d'envoi de datas numeriques :
59,1,59,45,59,23,59
on devrait comprendre que la virgule ici , designe simplement la separation des nombres , et non une donnee
Question: est-ce evident pour tout le monde ?
ou dans le cas d'un string , reconnaissable par les 2 guillements
";1;45;23;"
tout ce qui est entre les guillement sont des caracteres (au format ascii)
Là je pense qu'il n'y a pas d'ambiguité .
Question: est-ce là aussi, evident pour tout le monde ?
On pourrait y rajouter d'autres items.. du meme genre
surmikroE
j'ai posé une question sur strok et le parametre dit "separateur" .. mais là on parle de chaine ascii (string)
Avantage pour strok , par rapport à une recherche char par char,
strok evite les "espaces vides" entre les separateurs.
Penses tu publier ton appli Appinventor2 ou poster le fichier *.aia sur ce forum ?
suite à cette perte d'energie des 2 bords .. (mais quand meme instructive par ailleurs)
Remarque à peut etre à deplacer dans langage C general ?
D'où l'utilité de bien formaliser l'ecriture
par ex : sous cette forme pour une serie d'envoi de datas numeriques :
59,1,59,45,59,23,59
on devrait comprendre que la virgule ici , designe simplement la separation des nombres , et non une donnee
Question: est-ce evident pour tout le monde ?
ou dans le cas d'un string , reconnaissable par les 2 guillements
";1;45;23;"
tout ce qui est entre les guillement sont des caracteres (au format ascii)
Là je pense qu'il n'y a pas d'ambiguité .
Question: est-ce là aussi, evident pour tout le monde ?
On pourrait y rajouter d'autres items.. du meme genre
surmikroE
j'ai posé une question sur strok et le parametre dit "separateur" .. mais là on parle de chaine ascii (string)
Avantage pour strok , par rapport à une recherche char par char,
strok evite les "espaces vides" entre les separateurs.
Penses tu publier ton appli Appinventor2 ou poster le fichier *.aia sur ce forum ?
Donner un Nom evolutif à une variable
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Je suis d'accord qu'il faut bien formaliser l’écriture, mais n'étant pas encore très à l'aise j'avoue m'embrouiller les pinceaux avec l'acsii les strings et tout, et tout , ça commence à venir mais je pense qu'il me manque encore un peu de travail .
j'ai pas mal avancer sur l'application, maintenant j'arrive a recevoir des données . Il me reste la mise en forme qui reste compliqué quand on travaille avec des choses basiques et la vérification des erreurs de saisis .
Je posterais le tout le fichier mais je ne suis pas pour poster des fichiers peu de gens sont intéresser par le téléchargement? On est à l'heure ou tout va trés vite, il faut avoir un aperçu tout de suite ; Je mettrais donc aussi des screen de l'application ;
Mais surtout je ferais un tuto App inventor dédié à la communication avec un PIC .
Puis un tuto sur le module bluetooth RN-41
Puis enfin un projet de prise électrique connecté si achileT ne donne pas signe de vie ; Car j'en aurais moi aussi l'utilité
Penses tu publier ton appli Appinventor2 ou poster le fichier *.aia sur ce forum ?
j'ai pas mal avancer sur l'application, maintenant j'arrive a recevoir des données . Il me reste la mise en forme qui reste compliqué quand on travaille avec des choses basiques et la vérification des erreurs de saisis .
Je posterais le tout le fichier mais je ne suis pas pour poster des fichiers peu de gens sont intéresser par le téléchargement? On est à l'heure ou tout va trés vite, il faut avoir un aperçu tout de suite ; Je mettrais donc aussi des screen de l'application ;
Mais surtout je ferais un tuto App inventor dédié à la communication avec un PIC .
Puis un tuto sur le module bluetooth RN-41
Puis enfin un projet de prise électrique connecté si achileT ne donne pas signe de vie ; Car j'en aurais moi aussi l'utilité
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 54 invités