begin process at 2012 05 30 11:13:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ReadFile rs232


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

ReadFile rs232

lundi 24 octobre 2005 à 10:21:06 | ReadFile rs232

ekinox17

Salut a tous,
J'ai un petit problème, j'envoie un requête rs232 et ensuite je recupere son retour pour mesurer une valeur sur le periph ... enfin bref
le fait est que je reçoit mes valeur dans un char buffer[256]
et j'aimerai l'afficher dans un une textbox en gros il faut qu eje recupere la valeur d'un element du tableau et que je le cast en un type decimal sachant que cest de l'hexadecimal que je reçoit .Par exemple, je reçoit dans mon buffer a l'adresse 4 et 5 du buffer
B8 0B. Mais dans ma variable buffer : a quoi ressemble cette valeur etant donner que je l'ai declarer entant que char ?j'ai essayer ceci: AfxMessageBox(buffer[4]); mais en fait cela me fait une exception. j'ai essayer aussi ceci: AfxMessageBox((CString)buffer[4]); mais la je reçoit le caractere correspondant a la valeur ASCII de buffer[4]
Alors sil vous plait aider moi a afficher cette valeur en Hexadecimal.

lundi 24 octobre 2005 à 10:44:21 | Re : ReadFile rs232

ekinox17

Rectification
je viens de decouvrir a quoi cela ressemblai mais il me reste toujours un probleme ...
if(buffer[0]== '\xaa' )
        AfxMessageBox("UP");
    else
        AfxMessageBox("DOWN");
donc voila mes valeur de mon buffer sont de la forme '\x00' jusqu'a '\xff'
la question suivante est : Comment je fait pour la convertir en int ?
car je vais devoir l'affichai dans un fichier texte et dans une interface MFC, merci de votre aide. je posterai ma progression ici pour aider ceux qui ont le meme probleme que moi. :)

lundi 24 octobre 2005 à 11:20:17 | Re : ReadFile rs232

BruNews

Administrateur CodeS-SourceS
chaine hexa vers int:
DWORD __stdcall HexaToDecimal(const char* pszHexa)
{
  DWORD ret = 0, t = 0, n = 0;
  const char *c = pszHexa;
  while(*c && (n < 16)) {
    if((*c >= '0') && (*c <= '9')) t = (*c - '0');
    else if((*c >= 'A') && (*c <= 'F')) t = (*c - 'A' + 10);
    else if((*c >= 'a') && (*c <= 'f')) t = (*c - 'a' + 10);
    else break;
    n++; ret *= 16; ret += t; c++;
    if(n >= 8) break;
  }
  return ret;
}

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : buffer, valeur, rs232, readfile, reçoit


Répondre à ce message

Sujets en rapport avec ce message

rs232 : pb avec ReadFile() [ par jujunio ] Frelon Bonjour, j'utilise la fonction Readfile pour lire sur le port serie rs232. Mon pb c'est que pour cette fonction, il faut rentrer en paramètre base de registre : fonction gerenumvalue [ par Daimadoshi ] mo code : while (ERROR_NO_MORE_ITEMS!=RegEnumValue(//trouve le nombre de valeurs contenues dans la cle m_CleOuverte,//Handle de la cle ouverte ind caracteres chelous avec ReadFile() ???? [ par SnOOpss ] Salut j'ai un probleme tout con avec Readfile()                 HANDLE hdl;                 hdl=CreateFile(data3,GENERIC_RE lire un octet [ par th62d ] Bonjour,Je dois lire la valeur se trouvant dans buffer. char buffer[10]; printf("%x\r\n",buffer[1]); La comment passer un buffer en binaire avec avec readfile [ par youpiyoyo ] bon j'ai besoin ke mon buffer lu par readfile soit en binaire et unicodedonc j'ai essayé caif (ReadFile(hFile, lpBuffer, dwFileSize, &dwBytesRead, NUL Question théorique [ par Ziman ] Bonjour,la question va sans doute paraitre débile et sans interet, mais je me la pose et je préfère ne pas me baser sur ma seule opinion pour m'en fix Besoin d'aide [ par romainbisson ] Bonjour,j'ai besoin de faire un programme qui lit ligne par ligne un fichier en recuperant a certains emplacement de la ligne, la valeur :exemple de l [Win32] Problème Static / Scrollbar [ par Iphelias ] Bonjour,Voila j'ai un petit Soucis en fait dans mon application win32, j'ai une scrollbar et j'aimerais mettre à jour un champ correspondant à la vale Changer le type d'une variable [ par dayvid75014 ] Bonjour à tous,J'aimerais rechercher des octets dans un tableau : 0x47. MAIS, lorsque je définis "int valeur=47" et que je fais dans ma boucle Buffer[ programation [ par techwood ] bonjour voila j'ai un souci: je doi utilisé hyperterminal et une liason rs232 et un convertisseur CNA et un afficheur. je doit taper au clavier un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,390 sec (3)

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