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 ---
Idée, bugs, propositions .......
liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#51 Message par Temps-x » sam. 2 mars 2024 17:21

Voila j'ai terminé, normalement tu peux lire ton pic avec ça, reste à voir avec toi pour le reste, mais avant d'aller plus loin on va contrôler si ça fonctionne

La première chose à faire c'est de renomé ton fichier Mon_RapidQ.rqw par le nom que tu veux, car j'ai refait le même fichier chez moi

Tu décompresses les fichier dans le dossier récement créer, une fois fait, tu vas te retrouver avec un fichier nomé Mon_RapidQ.rqw
et 2 autre dossier qui se nome "son" et "Ico"

Tu ouvres Mon_RapidQ.rqw avec RqWork.exe et tu l'executes, il va se compiler, après tu as pu cas faire les essais avec ton pic.

Tu dois avoir au total 4 dossiers avant la compilation, Inc, Dll, Son, Ico

Téléchargement ICI

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

liaison serie (uart)-excel
francknvs

#52 Message par francknvs » sam. 2 mars 2024 20:27

Bonsoir temps-x
Excellent!!! :bravo: Merci !
je me suis permis dans changer la couleur :langue:
j'ai hate de voir la suite...
apparemment il y a des clic_button que l on doit voir ensemble...
l'enregistrement des données
le type de fichier.
Capture d'écran 2024-03-02 202434.png


un grand merci pour le temps et la patience

j'ai bien mes data qui s'incremente sur "ma fenetre" de l'application,
les valeurs ne correspondent pas à celles du format de sortie sur la fenetre terminal.
une histoire de format et de conversion j'imagine...
voici le code de mon pic:

Code : Tout sélectionner

//--> 1ere Conversion A/D sur AN00
        digital_Adc = ADC_Read(0); // Appel de la Fct de Lecture du canal 0   
        voltage = digital_Adc * ((float) V_Ref / (float) 1023); //Calcul de la Conversion des valeurs Analogique en Numerique
        sprintf(data_Capt_An00, "%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
        USART_SendString(data_Capt_An00);// Appel de la Fct USART de Transmission de la chaine ASCII 
        USART_TxChar(0x0D); // Appel de la Fct USART de Transmission du Caractere (\r), de retour chariot comme separateur
        MS_delay(1000);


Capture d'écran 2024-03-02 203513.png


en tout cas, un grand merci

franck
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#53 Message par Temps-x » sam. 2 mars 2024 21:20

Bonsoir francknvs, et tout le forum,

Sur ton terminal il y a un truc de bizarre, 258 ça ne peut pas exister, ou alors il faut travailler en mode 16 bits.

Une donnée fait 8 bits, ça représente 255 possibilités,

Faut que tu m'expliques le pourquoi de la chose ?

Si il y a quelqu'un qui peut m'expliquer, je suis preneur, ce qui permeterais de corriger le programme.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

liaison serie (uart)-excel
francknvs

#54 Message par francknvs » sam. 2 mars 2024 21:38

2.58 (volts) et non 258 (sourire)
c'est la valeur decimal de mon potar que je fais evoluer entre 0.02 et 5v

liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#55 Message par Temps-x » sam. 2 mars 2024 21:44

Je crois avoir compris, les données sont comptées quand il rencontre 13, donc par 4

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#56 Message par Temps-x » sam. 2 mars 2024 22:11

Re

Essai cette nouvelle version téléchargement ICI

Tu le mets sur 13, tu comprendras quand tu l'exécuteras

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

liaison serie (uart)-excel
francknvs

#57 Message par francknvs » sam. 2 mars 2024 22:41

RE,

j'ai executé ta nouvelle version..
j'imagine que 13 equivalent à 0x0D soit retour chariot \r permet d'indiquer un separateur au travers du buffer.
mais je n'obtiens pas le meme format comme attendu sur le terminal.exe en effectuant une variation de 0.02 à 5volt
mes variables de data mise dans un tableau de char sont de type float:

Code : Tout sélectionner

void main() {
//--> Déclaration des variables
    int digital_Adc; //Variable de lecture directe 
    float voltage; //Variable de type Float pour la conversion  
    char data_Capt_An00[6];// Tableau de 06 Char
    char data_Capt_An01[6];// Tableau de 06 Char    
    char data_Capt_An02[6];// Tableau de 06 Char
    char data_Capt_An03[6];// Tableau de 06Char
    char data_Capt_An04[6];// Tableau de 06Char
    
//--> Initialisation des Options d'Oscillateur OSCCON
    OSCCON = 0x72; /*Oscillateur Interne sur 8 MHz*/

//--> Initialisation des Fct
    ADC_Init(); /*Initialisation du Convertisseur 10-bit ADC*/
    USART_Init(9600); /*Initialisation del'USART à 9600 baud rate*/

//------------------------------------------------------------------------------  
    // DEBUT DU PROGRAMME PRINCIPAL
    while (1) 
    
{
        
//--> 1ere Conversion A/D sur AN00
        digital_Adc = ADC_Read(0); // Appel de la Fct de Lecture du canal 0   
        voltage = digital_Adc * ((float) V_Ref / (float) 1023); //Calcul de la Conversion des valeurs Analogique en Numerique
        sprintf(data_Capt_An00, "%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
        USART_SendString(data_Capt_An00);// Appel de la Fct USART de Transmission de la chaine ASCII 
        USART_TxChar(0x0D); // Appel de la Fct USART de Transmission du Caractere (\r), de retour chariot comme separateur
        MS_delay(1000);


Capture d'écran 2024-03-02 223520.png


A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#58 Message par Temps-x » dim. 3 mars 2024 01:04

Bonjour francknvs, et tout le forum,

Le langage C pour Pic je n'y connait rien, j'arrrive un peu à le lire, mais c'est tout, je pratique pour les Pic que le langage ASM.

Maintenant je pense qu'il faut multiplier par 0,02, je vais mettre cette option dans le programme.

De toute façon on va réusir à résoudre se problème, car c'est juste une histoire de convertion :wink:

==> A+
Modifié en dernier par Temps-x le dim. 3 mars 2024 10:47, modifié 1 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

liaison serie (uart)-excel
francknvs

#59 Message par francknvs » dim. 3 mars 2024 09:14

Bonjour temps-x

oui c'est une histoire de conversion....
je me pose juste cette question: doit on faire la conversion dans ton programme ou bien dois je le faire directement à la source( pic). :roll:
j'essaye de trouver une coherence de valeur affichée entre ton programme et terminal.exe: je pense que ton programme affiche les data en valeur decimale..

whaou en Assembleur!!....j'en ai fait un peu au tout debut, puis je me suis mis au C,...C++
ça a ses avantages et ses inovenients. mais il est clair que pour certain programme, si on veut de la préciion de chez précision, l'ASM est interressant, mais ça fait bcp de ligne: instruction par instruction...

dans ton programme j'essaye de trouver la fonction qui extrait et lis les datas en provenance du port com---> via un buffer j'imagine.
aussi, existe il un tuto relatif à RapidQ?

franck

liaison serie (uart)-excel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#60 Message par Temps-x » dim. 3 mars 2024 10:41

Re

francknvs a écrit :Source du message je me pose juste cette question: doit on faire la conversion dans ton programme ou bien dois je le faire directement à la source( pic). :roll:

Disons que ça évite de faire travailler le Pic, un PC c'est beucoup plus puissant.
francknvs a écrit :Source du message j'essaye de trouver une coherence de valeur affichée entre ton programme et terminal.exe: je pense que ton programme affiche les data en valeur decimale..

Exact, mais avec la nouvelle option ça va changer
francknvs a écrit :Source du message dans ton programme j'essaye de trouver la fonction qui extrait et lis les datas en provenance du port com---> via un buffer j'imagine.

La fonction qui extrait les datas elle s'appelle READBYTE

Utilisation

Code : Tout sélectionner



  DIm BitLecture as integer  

        BitLecture 
= -1                                     ' initialiser la variable
       
       Clearbuffer                                           '
vider le buffer

       Buffersize 
= 65535                               'allouer un espace pour y déposer les données

do
      doevents                                                  '
permet de ne pas bloquer le programme

      BitLecture 
= READBYTE                            'lecture sur le port Com

   if BitLecture > 0 then                                '
controler si une donnée est présente
      listbox1
.AddItems str$(BitLecture)        'ajouter dans la liste
      BitLecture = -1                                      '
réinitialiser la variable
   end if

  loop until Utilisation 
= 0                          'boucle tant que utilisation n'est pas à 1



francknvs a écrit :Source du message aussi, existe il un tuto relatif à RapidQ?


Il y a un lien ou toutes les fonctions sont expliqués, avec exemple, mais tout en anglais :furieux: la Voici

Il y aussi ICI le mieux c'est de pratiqué,

Le seule langage de programmation qui tourne pratiquement sur tout les systémes d'exploitation, compatible avec les dernières version de Windows (et de Linux, puisqu'il existe des versions multiplateforme).

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:


Retourner vers « Le forum Fantas-PIC »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités