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 ---
liaison serie (uart)-excel
Bonjour
Télécharge ce programme ICI
Une fois téléchargé et décompressé, tu lances le programme Osc-Rs232.exe, tu sélectionnes le port que tu as ? com1, com2, com3 ....... et tu appuis sur le bouton OFF
Tu nous diras ce qui se passe une fois cette manipulation faite, avec une capture d'écran de préférence
A+
Télécharge ce programme ICI
Une fois téléchargé et décompressé, tu lances le programme Osc-Rs232.exe, tu sélectionnes le port que tu as ? com1, com2, com3 ....... et tu appuis sur le bouton OFF
Tu nous diras ce qui se passe une fois cette manipulation faite, avec une capture d'écran de préférence
Modifié en dernier par Temps-x le jeu. 22 févr. 2024 18:33, modifié 1 fois.
liaison serie (uart)-excel
- paulfjujo

Maître- Messages : 3256
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
J'ai refais un test ce matin avec EXCEL UART .. RScomm.dll
je suis sous WIN10 , et un vieux Excel 97 rs1
J'utilise VBray terminal avec ce script pour envoyer des datas via un
cordon prolific USB /TTL =COM12 liaison hardware TTL <-----> RX TX 0V ---cordon prolific TTL/USB =COM4
avec EXCEL en COM4 115200bds
en voi des datas en ascii sous la forme
Entete Header "#" data ... fin avec "&"
Excel recoit bien les datas ..voir grafique et feuille Datas
J'ai refais un test ce matin avec EXCEL UART .. RScomm.dll
je suis sous WIN10 , et un vieux Excel 97 rs1
J'utilise VBray terminal avec ce script pour envoyer des datas via un
cordon prolific USB /TTL =COM12 liaison hardware TTL <-----> RX TX 0V ---cordon prolific TTL/USB =COM4
avec EXCEL en COM4 115200bds
en voi des datas en ascii sous la forme
Entete Header "#" data ... fin avec "&"
Excel recoit bien les datas ..voir grafique et feuille Datas
Code : Tout sélectionner
//******************************
// Terminal Script
// TEST EXCEL avec RSCOM.DLL
// Created: 22/02/2024 09:01:42
//******************************
program test_RSAPI;
// rev 22/02/2024
var datum: string;
var i: integer;
var j: integer;
var k: integer;
var str: string;
var checksum : char ;
begin
ShowMessage('Simule envoi valeur ascii depuis un PIC via COM12'
+chr(10)+chr(13)+ 'format UART 115200,N,8,1 ' +chr(10)+chr(13));
Delay(1500);
begin
j:=0;
i:=0;
k:=0;
while (j<1000) do
begin // boucle en environ 1 seconde
if k>9 then k:=0;
if i>9 then k:=k+1;
if i>9 then i:=0;
str:= '#0' + chr(k+48)+ chr(i+48) + '&' ;
i:= i+1;
j:=j+1;
writeln( str);
ComSendStr(str);//ComSendChr(13);ComSendChr(10);
Delay(2000);
end;
end;
end.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
liaison serie (uart)-excel
- paulfjujo

Maître- Messages : 3256
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Temps-x a écrit :
C'est quand même curieux ce que tu nous dit, car... il me semble que paulfjujo à essayé sous Windows 11, et sa fonctionne chez lui
...
Appli RapidQ EDFinfo developpée sous WIN10 mais utilisée avec WIN XP ...
.... tourne tres bien depuis 3 ans ... ..liaison BlueTooth RN41 avec
PIC relié au Linky ))) .... (((( et cle USB BlueTooth sur Portable EEPC
tourne sous win XP
Usage de BlueSoleil coté PC pour interface BlueTooth UART virtuel ... RsCom.dll
liaison serie (uart)-excel
-
francknvs
Bonsoir Paul,
Merci pour tes réponses et ton aide...
malheureusement pas mieux.
j'ai bien ma connection uart entre PIC & Terminal sur com 3: de ce coté pas de souci (j'ai donc bien mon port COM 3 qui communique)
au lancement du fichier "RS232_Test_2024.xls" et apres avoir instalé la dll "Rscom.dll" à l'emplacement indiqué, j'ai tjrs ce bug.
j'ajoute avoir bien enlevé la securité des macro..
enfin et pour faire une levée de doute, j'ai refait cette procedure sur un Pc qui tourne en WIN10 également...pas mieux
je joins mes copies d'ecran au cas où qqc m'echappe..
Merci pour tes réponses et ton aide...
malheureusement pas mieux.
j'ai bien ma connection uart entre PIC & Terminal sur com 3: de ce coté pas de souci (j'ai donc bien mon port COM 3 qui communique)
au lancement du fichier "RS232_Test_2024.xls" et apres avoir instalé la dll "Rscom.dll" à l'emplacement indiqué, j'ai tjrs ce bug.
j'ajoute avoir bien enlevé la securité des macro..
enfin et pour faire une levée de doute, j'ai refait cette procedure sur un Pc qui tourne en WIN10 également...pas mieux
je joins mes copies d'ecran au cas où qqc m'echappe..
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
liaison serie (uart)-excel
liaison serie (uart)-excel
-
francknvs
Bonsoir Temps-X,
desolé...
oui j'ai essayé: rien ne transite, je suis sur le bon port,etc...
voici une capture d'ecran:
je vous fourni le code complet de mon projet mais je ne pense pas qu'il cloche:
j'aimerai récupérer les valeurs du convertisseur A/D de AN0 sur un tableau excel via le port com.
desolé...
oui j'ai essayé: rien ne transite, je suis sur le bon port,etc...
voici une capture d'ecran:
je vous fourni le code complet de mon projet mais je ne pense pas qu'il cloche:
j'aimerai récupérer les valeurs du convertisseur A/D de AN0 sur un tableau excel via le port com.
Code : Tout sélectionner
/*
* File: Ihm_Temp.c
* Author: Acer_Franck
*
* Crée le 15 février 2021, 18:59
*/
#include <xc.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "config_intosc.h" //Inclusion du fichier d'en tete pour les Bits de Configuration du Pic
//Prototype des Fct ADC
void ADC_Init();
int ADC_Read(int);
//Prototype de Gestion du Temps
void MS_delay(unsigned int );
//Prototype des Fct USART
void USART_Init(long baud_rate);
void USART_TxChar(char);
void USART_SendString(const char *);
#define V_Ref 5.00 //Tension de Référence- 5Volts
#define F_CPU 8000000/64
#define Baud_value (((float)(F_CPU)/(float)baud_rate)-1)
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);
/*
//--> 2me Conversion A/D sur AN01
digital_Adc = ADC_Read(1); // Appel de la Fct de Lecture du canal 1
voltage = digital_Adc * ((float) V_Ref / (float) 1023); //Calcul de la Conversion des valeurs Analogique en Numerique
sprintf(data_Capt_An01, "AN01%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
USART_SendString(data_Capt_An01); // 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(10);
//--> 3me Conversion A/D sur AN02
digital_Adc = ADC_Read(2); // 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_An02, "AN02%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
USART_SendString(data_Capt_An02);// 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(10);
//--> 4me Conversion A/D sur AN03
digital_Adc = ADC_Read(3); // Appel de la Fct de Lecture du canal 1
voltage = digital_Adc * ((float) V_Ref / (float) 1023); //Calcul de la Conversion des valeurs Analogique en Numerique
sprintf(data_Capt_An03, "AN03%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
USART_SendString(data_Capt_An03); // 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(10);
//--> 5me Conversion A/D sur AN04
digital_Adc = ADC_Read(4); // Appel de la Fct de Lecture du canal 1
voltage = digital_Adc * ((float) V_Ref / (float) 1023); //Calcul de la Conversion des valeurs Analogique en Numerique
sprintf(data_Capt_An04, "AN04%.2f", voltage); //Conversion de la valeur Entiere en Chaine ASCII
USART_SendString(data_Capt_An04); // 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(10);
*/
}
// FIN DU PROGRAMME PRINCIPAL
//------------------------------------------------------------------------------
}
/*****************************Initialisation du Convertisseur A/D***********************/
void ADC_Init() {
TRISA = 0xff; /*PortA en Entrée*/
ADCON1 = 0x0E; // La reference de Tension est VDD - Configuration des Pin en Mode Analogique
ADCON2 = 0x92; // Justification du resultat à Droite, 4Tad and Fosc/32.
ADRESH = 0; //Effacer le registre d'Adresse de poids Fort de sortie de l'ADC
ADRESL = 0;//Effacer le registre d'Adresse de poids Faible de sortie de l'ADC
}
/*****************************Lecture du Convertisseur A/D***********************/
int ADC_Read(int channel)
{
int digital_Adc;
ADCON0 = (ADCON0 & 0b11000011) | ((channel << 2) & 0b00111100); //Inibition de la conversion ( ADON=0) et Canal 'int channel'selectionné ex:(CHS3CHS2CHS1CHS0=0000)
ADCON0 |= ((1 << ADON) | (1 << GO)); //Validation de ADC et debut de conversion
while (ADCON0bits.GO_nDONE == 1); // Delai d'attente de Fin de Conversion: Go/done=0 Conversion Terminée
digital_Adc = ((ADRESH * 256) | ADRESL); //Combinaison des 8-bit de poids faibles et des 2-bit de poids forts
return (digital_Adc);
}
/*****************************USART Initialisation*******************************/
void USART_Init(long baud_rate)
{
float temp;
TRISC6 = 0; //Pin RC6 en Sortie Tx
TRISC7 = 1; //Pin RC7 en Entrée Rx
temp = Baud_value;
SPBRG = (int) temp; //Baud rate=9600, SPBRG = (F_CPU /(64*9600))-1
TXSTA = 0x20; //Registre de 8 Bit pour la validation de l'Emission(TX) enable
RCSTA = 0x80; //Registre de 8 Bit pour la validation de la Reception(RX) enable
}
/******************Fonction d'EMMISION d'un Caractere sur HYPERTERMINAL*****************************************/
void USART_TxChar(char out)
{
while (TXIF == 0); //attente du drapeau d'interruption de transmission
TXREG = out; //attendre que le drapeau d'interruption de transmission soit activé,indiquant que TXREG est prêt pour une autre transmission
}
/******************Fonction d'EMMISION de la DATA sur HYPERTERMINAL*****************************************/
void USART_SendString(const char *out)
{
while (*out != '\0')
{
USART_TxChar(*out);
out++;
}
}
/******************Fonction de Gestion du Temps*****************************************/
void MS_delay(unsigned int val)
{
unsigned int i,j;
for(i=0;i<=val;i++)
for(j=0;j<81;j++);//Ce compteur assigne 1 ms pour une freq de 8MHz
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
liaison serie (uart)-excel
- paulfjujo

Maître- Messages : 3256
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
Nota : je suis en mode administrateur sur mon PC ....
sur la feuille excel, ne pas oublier de definir un Header ( ici #0) et un tail (ici &)
encadrant chaque mesure definies en en ascii.
Nota : je suis en mode administrateur sur mon PC ....
sur la feuille excel, ne pas oublier de definir un Header ( ici #0) et un tail (ici &)
encadrant chaque mesure definies en en ascii.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
liaison serie (uart)-excel
Bonsoir francknvs, paulfjujo, et tout le forum,
Pas de message d'erreur, donc Rscom.dll fonctionne..... dans le programme Osc-Rs232.exe il y a un test pour savoir si ton port(Com3) fonctionne
Rien ne peut transiter car c'est un programme qui demande un microcontroleur Pic, le bute de cette manoeuvre été de tester Rscom.dll
Rscom.dll se trouve maintenant sur ton disque dur, dans un dossier nomé Tmps ou tu as décompresser Osc-Rs232.zip
Il est inclu dans le programme, donc invisible tand que le programme n'est pas lancé, pas besoin de le mettre dans un dossier system de Windows, il faut juste lui indiqué le chemin
Exemple sur mon programme
Attention c'est déclaration son faite en RapidQ, il faut les refaire pour VB
Maintenant on peut essayer on envoyant des données sur le port Com3, je vois cela demain, si ça fonctionne tu as un problème avec excel
Mon programme est écrit en Basic(RapidQ) paulfjujo l'a déjà tester, et sa fonctionne sur son PC
Si les donées transite par la suite, tu pourras mettre Rscom.dll hors de cause
A+
francknvs a écrit :Source du message oui j'ai essayé: rien ne transite, je suis sur le bon port,etc...
Pas de message d'erreur, donc Rscom.dll fonctionne..... dans le programme Osc-Rs232.exe il y a un test pour savoir si ton port(Com3) fonctionne
Rien ne peut transiter car c'est un programme qui demande un microcontroleur Pic, le bute de cette manoeuvre été de tester Rscom.dll
Rscom.dll se trouve maintenant sur ton disque dur, dans un dossier nomé Tmps ou tu as décompresser Osc-Rs232.zip
Il est inclu dans le programme, donc invisible tand que le programme n'est pas lancé, pas besoin de le mettre dans un dossier system de Windows, il faut juste lui indiqué le chemin
Exemple sur mon programme
Code : Tout sélectionner
if fileexists("Tmps\RSCOM.dll") > 0 then
Declare Function OPENCOM Lib "Tmps\RSCOM.dll" alias "OPENCOM"(ByVal OpenString$) As Integer 'ouvre le port
Declare Sub CLOSECOM Lib "Tmps\RSCOM.dll"alias "CLOSECOM" () 'fermer le port com
Declare Sub TXD Lib "Tmps\RSCOM.dll" alias "TXD" (ByVal b%) 'broche 3 envoie, Emission de données
Declare Sub DTR Lib "Tmps\RSCOM.dll" alias "DTR" (ByVal b%) 'broche 4 envoie, Terminal prêt.
Declare Sub RTS Lib "Tmps\RSCOM.dll" alias "RTS" (ByVal b%) 'broche 7 envoie, Demande d'emmission
Declare Function DCD Lib "Tmps\RSCOM.dll" alias "DCD" As Integer 'broche 1 lecture, Dectection de porteuse
Declare Function DSR Lib "Tmps\RSCOM.dll" alias "DSR" As Integer 'broche 6 lecture, Emmission prête
Declare Function CTS Lib "Tmps\RSCOM.dll" alias "CTS" As Integer 'broche 8 lecture, Prêt à emettre
Declare Function RI Lib "Tmps\RSCOM.dll" alias "RI" As Integer 'broche 9 lecture, Indicateur de sonnerie
Declare Sub CLEARBUFFER Lib "Tmps\RSCOM.dll" alias "CLEARBUFFER"() 'nettoye le buffer en entrée
Declare Function INBUFFER Lib "Tmps\RSCOM.dll" alias "INBUFFER" () As Integer 'nombre de caractère dans le buffer d'entré
Declare Function OUTBUFFER Lib "Tmps\RSCOM.dll" alias "OUTBUFFER" () As Integer 'nombre de caractère dans le buffer de sortie
Declare Sub BUFFERSIZE Lib "Tmps\RSCOM.dll" alias "BUFFERSIZE" (ByVal b%) 'taille du buffer pour stockage des données reçus
Declare Sub DELAY Lib "Tmps\RSCOM.dll" alias "DELAY" (ByVal ms As Double) 'delai en micro seconde // duree d'un bit
Declare Function INPUTS Lib "Tmps\RSCOM.dll" alias "INPUTS" () As Integer '?
Declare Sub REALTIME Lib "Tmps\RSCOM.dll" alias "REALTIME" () '?
Declare Function READSTRING Lib "Tmps\RSCOM.dll" alias "READSTRING" () As String 'lire une chaine
Declare Function READBYTE Lib "Tmps\RSCOM.dll" alias "READBYTE" As Integer 'lire un caratère
Declare Sub NORMALTIME Lib "Tmps\RSCOM.dll" alias "NORMALTIME" ()
Declare Sub SENDBYTE Lib "Tmps\RSCOM.dll" alias "SENDBYTE" (ByVal Dat%) 'envoyer un caratère
Declare Sub SENDSTRING Lib "Tmps\RSCOM.dll" Alias "SENDSTRING" (ByVal Dat$) 'envoyer une chaine
Declare Sub TIMEINIT Lib "Tmps\RSCOM.dll" alias "TIMEINIT" () 'reinit le temps
Declare Function TIMEREAD Lib "Tmps\RSCOM.dll" alias "TIMEREAD" () As Double 'donne le temps d'ouverture du port ?
Declare Sub TIMEOUTS Lib "Tmps\RSCOM.dll" alias "TIMEOUTS" (ByVal b%) 'depassement du temps ?
end if
Attention c'est déclaration son faite en RapidQ, il faut les refaire pour VB
Maintenant on peut essayer on envoyant des données sur le port Com3, je vois cela demain, si ça fonctionne tu as un problème avec excel
Mon programme est écrit en Basic(RapidQ) paulfjujo l'a déjà tester, et sa fonctionne sur son PC
Si les donées transite par la suite, tu pourras mettre Rscom.dll hors de cause
liaison serie (uart)-excel
-
francknvs
Bonjour à tous,
Temps-x:
je viens de faire ta procedure d extraction du ZIP.
J'ai bien un dossier nommé tmps dans lequel il y a les fichiers attendus.
je lance Osc-rs232.exe en mode admin: l'appli s'ouvre, je choisi mon port (com3), je clique sur "off" qui se met en bleu mais aucune données ne transite.
Aussi par rapport à ton poste, je ne vois pas où ni comment intergrer ces lignes de code
(j'utilise un pic 18f4550 avec une procedure UART sur com3 à 9600)
Temps-x:
je viens de faire ta procedure d extraction du ZIP.
J'ai bien un dossier nommé tmps dans lequel il y a les fichiers attendus.
je lance Osc-rs232.exe en mode admin: l'appli s'ouvre, je choisi mon port (com3), je clique sur "off" qui se met en bleu mais aucune données ne transite.
Aussi par rapport à ton poste, je ne vois pas où ni comment intergrer ces lignes de code
(j'utilise un pic 18f4550 avec une procedure UART sur com3 à 9600)
Code : Tout sélectionner
if fileexists("Tmps\RSCOM.dll") > 0 then
Declare Function OPENCOM Lib "Tmps\RSCOM.dll" alias "OPENCOM"(ByVal OpenString$) As Integer 'ouvre le port
Declare Sub CLOSECOM Lib "Tmps\RSCOM.dll"alias "CLOSECOM" () 'fermer le port com
Declare Sub TXD Lib "Tmps\RSCOM.dll" alias "TXD" (ByVal b%) 'broche 3 envoie, Emission de données
Declare Sub DTR Lib "Tmps\RSCOM.dll" alias "DTR" (ByVal b%) 'broche 4 envoie, Terminal prêt.
Declare Sub RTS Lib "Tmps\RSCOM.dll" alias "RTS" (ByVal b%) 'broche 7 envoie, Demande d'emmission
Declare Function DCD Lib "Tmps\RSCOM.dll" alias "DCD" As Integer 'broche 1 lecture, Dectection de porteuse
Declare Function DSR Lib "Tmps\RSCOM.dll" alias "DSR" As Integer 'broche 6 lecture, Emmission prête
Declare Function CTS Lib "Tmps\RSCOM.dll" alias "CTS" As Integer 'broche 8 lecture, Prêt à emettre
Declare Function RI Lib "Tmps\RSCOM.dll" alias "RI" As Integer 'broche 9 lecture, Indicateur de sonnerie
Declare Sub CLEARBUFFER Lib "Tmps\RSCOM.dll" alias "CLEARBUFFER"() 'nettoye le buffer en entrée
Declare Function INBUFFER Lib "Tmps\RSCOM.dll" alias "INBUFFER" () As Integer 'nombre de caractère dans le buffer d'entré
Declare Function OUTBUFFER Lib "Tmps\RSCOM.dll" alias "OUTBUFFER" () As Integer 'nombre de caractère dans le buffer de sortie
Declare Sub BUFFERSIZE Lib "Tmps\RSCOM.dll" alias "BUFFERSIZE" (ByVal b%) 'taille du buffer pour stockage des données reçus
Declare Sub DELAY Lib "Tmps\RSCOM.dll" alias "DELAY" (ByVal ms As Double) 'delai en micro seconde // duree d'un bit
Declare Function INPUTS Lib "Tmps\RSCOM.dll" alias "INPUTS" () As Integer '?
Declare Sub REALTIME Lib "Tmps\RSCOM.dll" alias "REALTIME" () '?
Declare Function READSTRING Lib "Tmps\RSCOM.dll" alias "READSTRING" () As String 'lire une chaine
Declare Function READBYTE Lib "Tmps\RSCOM.dll" alias "READBYTE" As Integer 'lire un caratère
Declare Sub NORMALTIME Lib "Tmps\RSCOM.dll" alias "NORMALTIME" ()
Declare Sub SENDBYTE Lib "Tmps\RSCOM.dll" alias "SENDBYTE" (ByVal Dat%) 'envoyer un caratère
Declare Sub SENDSTRING Lib "Tmps\RSCOM.dll" Alias "SENDSTRING" (ByVal Dat$) 'envoyer une chaine
Declare Sub TIMEINIT Lib "Tmps\RSCOM.dll" alias "TIMEINIT" () 'reinit le temps
Declare Function TIMEREAD Lib "Tmps\RSCOM.dll" alias "TIMEREAD" () As Double 'donne le temps d'ouverture du port ?
Declare Sub TIMEOUTS Lib "Tmps\RSCOM.dll" alias "TIMEOUTS" (ByVal b%) 'depassement du temps ?
end ifliaison serie (uart)-excel
-
francknvs
bonjour Paul,
merci pour ta réponse.
tu me dis d'inclure
je ne vois pas où l'inclure ni dans quelle sheet et ni dans quelle cellule.
je travaille avec un pic 18f4550 avec une procedure UART sur com3 pour envoyer les valeurs qui ont fait l'objet d'une conversion A/D au prealable.
voici ma routine qui converti et envoi sur UART vers un trminal:
1- utilisant cette fonction A/D pour conversion de la valeur:
2- Puis cette fonction pour envoyer la valeur converti vers Uart:
dans ce programme ,j'ai essayé de modifier ma routine d'appel USART_SendString comme suit:
pas mieux..
je seche. sourire
merci pour ta réponse.
tu me dis d'inclure
sur la feuille excel, ne pas oublier de definir un Header ( ici #0) et un tail (ici &)
encadrant chaque mesure definies en en ascii.
je ne vois pas où l'inclure ni dans quelle sheet et ni dans quelle cellule.
je travaille avec un pic 18f4550 avec une procedure UART sur com3 pour envoyer les valeurs qui ont fait l'objet d'une conversion A/D au prealable.
voici ma routine qui converti et envoi sur UART vers un trminal:
Code : Tout sélectionner
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);
1- utilisant cette fonction A/D pour conversion de la valeur:
Code : Tout sélectionner
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
2- Puis cette fonction pour envoyer la valeur converti vers Uart:
Code : Tout sélectionner
/******************Fonction d'EMMISION de la DATA sur HYPERTERMINAL*****************************************/
void USART_SendString(const char *out)
{
while (*out != '\0')
{
USART_TxChar(*out);
out++;
}
}
dans ce programme ,j'ai essayé de modifier ma routine d'appel USART_SendString comme suit:
Code : Tout sélectionner
USART_SendString('#0'+data_Capt_An00+'&');// Appel de la Fct USART de Transmission de la chaine ASCII pas mieux..
je seche. sourire
Retourner vers « Le forum Fantas-PIC »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

