envoi une trame de donnée
bonsoir,
je suis en train de développer une application me permet de créer un système d'automatisation.
j'ai une petite problème concernant une commande ; l’opérateur va saisie un nombre décimal par exemple 100000 qui est en hexa 0x186A0 donc il suffit de le diviser en 3 parties 0x01 0x86 0xA0
est ce que vous pouvez m'aidez pour avancer dans mon projet ?
vous trouvez ci joint le code du programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
uint16_t res1 = 0xFFFFFF;
int D = 0;
uint8_t tab[3];
printf("donner valeur decimal: ", D);
cin >> D;
std::stringstream ss;
ss << std::hex << D;
std::string res(ss.str());
std::cout << res;
res1 = (uint16_t)res.c_str();
tab[0] = res1 & 0xFF;
printf("\n val 1: %x", tab[0]);
tab[1] = (res1 & 0xFF, res1 >> 8) ;
printf("\n val 2: %x", tab[1]);
tab[2] = (res1 & 0xFF, res1 >> 16);
printf("\n val 3: %x", tab[2]);
return 0;
} |