begin process at 2012 05 28 19:39:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

[débutant]recevoir et envoyer une chaine de caractère sur un port série en C?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[débutant]recevoir et envoyer une chaine de caractère sur un port série en C?

jeudi 15 février 2007 à 15:17:42 | [débutant]recevoir et envoyer une chaine de caractère sur un port série en C?

makan94

bonjours à tous,sa fait déjas plusieur semaine que je recherche désespérément une solution a ma question sans avoir trouvé de réponse: Comment recevoir et envoyer une chaine de caractère sur un port série RS232C?!?(en C).

Merci.
jeudi 15 février 2007 à 17:04:30 | Re : [débutant]recevoir et envoyer une chaine de caractère sur un port série en C?

max12

Administrateur CodeS-SourceS
Tu es certain d'avoir vraiment cherché ?
http://www.cppfrance.com/recherche.aspx?r=port+com&tr=source

et en plus je te donne une piste

HANDLE patate;

Patate = CreateFile("COM1", ....");
if (Patate == INVALID_HANDLE_VALUE)
{
return; //Problème monumental
}

char* Bob = "Salut bob";
char* Reception[577];
DWORD OctetLu;

WriteFile(Patate, Bob, strlen(Bob), 0); //ÉCrire ce que tu veux sur ton port et pour lire
ReadFile(Patate, Reception, 577, &OctetLu, 0);

CloseHandle(Patate);

Ensuite renseigne toi sur GetCommState et SetCommState pour pourvoir faire le setting du port.

héhé c'est pas beautiful ça ?

http://laptopgun.blogspot.com/
<
jeudi 15 février 2007 à 17:06:56 | Re : [débutant]recevoir et envoyer une chaine de caractère sur un port série en C?

yann_lo_san

Salut, il te faut programmer avec ce genre d'outils Win32 (en bleu) :

// CREATION

int bufferINT[4096] = {0};         // Buf lecture/ecriture
int countArrayINT = 0;               // Compteur lecture/ecriture
DWORD dwReallyWriteOrRead; // Nombre réel de lecture/ecriture

TCHAR name[] = "COM1";
HANDLE port;
COMMTIMEOUTS timeouts;
DCB dcb;

port = CreateFile(name, GENERIC_READ | GENERIC_WRITE,
    0, NULL, OPEN_EXISTING, 0, NULL);

PurgeComm(port, PURGE_TXABORT | PURGE_RXABORT | 
PURGE_TXCLEAR | PURGE_RXCLEAR);
SetupComm(port,4096, 4096);

ZeroMemory(&timeouts, sizeof(COMMTIMEOUTS));
timeouts.ReadIntervalTimeout= 0xFFFFFFFF;
SetCommTimeouts(port,&timeouts);

ZeroMemory(&dcb, sizeof(dcb));
dcb.DCBlength = sizeof(dcb);

GetCommState(port, &dcb);

BuildCommDCB("9600,n,8,1", &dcb);

// OU affecter 1 par 1 et SetCommState(port, &dcb)

// UTILISATION WRITE

WriteFile(port,(void*)bufferINT, countArrayINT, &dwReallyWriteOrRead, NULL);

// UTILISATION READ

ReadFile(port,(void*)bufferINT, countArrayINT, &dwReallyWriteOrRead, NULL);

// FERMETURE

CloseHandle(port);

Attention pour l'assyncrone il faut utiliser la structure :
OVERLAPPED et
CreateEvent()

mercredi 21 février 2007 à 14:54:36 | Re : [débutant]comment recevoir et envoyer une chaine de caractère sur un port série en C?

makan94

tout dabort je vous remercie de m'avoir répondu aussi rapidement!!! mais di moi max12 "GetCommState et SetCommState" ce ne sont pas des fonction de C++?!? désolé yann_lo_san j'ai oublié de préciser que je devai codé en 16bits et no en 32bits!!javascript:Insert_Emoticon('/imgs2/smile.gif'); je tien encors a vous remercier!!!


Cette discussion est classée dans : port, caractère, chaine, envoyer, recevoir


Répondre à ce message

Sujets en rapport avec ce message

Envoyer un caractère de controle en C vers un port série [ par Kurpeus1 ] Bonjour, Voila je ne suis pas un expert en C, mais j'y travaille ^^Je suis en train de programmer un programme qui communique avec un terminal portabl Envoyer et recevoir en RS232 depuis dos... [ par onki ] Bonjour à tous, je cherche à envoyer et recevoir des lignes de caractères par les port COM3 et COM4 du PC, et en recevoir. Le tout, depuis dos, en cr convertir une chaine de caratère en int sans perte de données [ par wantofirst ] bonjour tous le mondej'ai le problème suivant:j'avais une chaine de caractère (0x3de4a7fa) que je devait l'ecrire en (0xfaa7e43d);ce que j'ai réussi a découper chaine caractère en n morceau en c [ par ted21 ] Salut j'ai un petit souci en c. J'ai besoin de crée une liste chainée de la façon suivant:j'ai un grand entier par exemple : 1234567890123.Je dois le Envoyer une simple chaine de caractères sur deux Ports Série [ par agellos ] Bonjour @ tous!Je suis à la recherche d'une librairie, code, fonction, n'importe quoi qui puisse envoyer une vulgaire chaine de caractère de 15 caract Gestion de plusieurs ports RS232 [ par dissezfr ] Bonjour à tous d'abordJ'ai récupéré un code sur le site permettant de géré un port série, j'aimerai piloter 8 (voir +) ports série avec un seul ordina CHAINE de caractère [ par bayrem90 ] salutttttttttt tout le monde.svp aidez moiun programme en C qui permettra dans un menu de faire:1) lire un texte 2) centrer un texte3) aligner a gauch repetition de chaine de caractère dans un tableau [ par Icebibi ] bonjour à tous.voilà j'ai un tableau de chaînes de caractères et j'aimerai verifier en parcourant le tableau si il y a des chaînes qui se répètent. j' Chaine de caractère en paramètre dans une fonction [ par ph87 ] bonjour à tous,j'ai un petit problème pour faire un programme en C, je suis perdu dans les pointeurs :)voila ce que je veux faire :   je veux qu'une f c++ [ par zizota ] bonjour,j'ai un tp pour implémenter l'algorithme de hachage md5 en c++.Je suis débutante en c++.Je doit écrire une classe qui permet de:    -ajouter u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales