J'essaie d'utiliser la fonction readfile pour lire le port série en C++. Je parviens à ouvrir et lire le port série en C++. le problème que je fais face maintenant est le décodage des données après que j'ai lu du port série. Les ci-dessous sont mes codes. Lorsque je cours mon code, ma boucle de décodage ne peut pas détecter ((* & szChar == '$')), et il quitte la boucle en raison d'une erreur d'impression. Mai je sais comment pourrais-je décoder les données gps que je lis de mon port série? grâceProblème de décodage du GPS série à l'aide de la fonction de lecture de fichier
char szChar[100];
int nRet;
DWORD dwBytesRead = 10;
char ReadBuffer[BUFFERSIZE] = {0};
nRet = ReadFile(hCom,&szChar,BUFFERSIZE-1,&dwBytesRead,NULL);
if((*&szChar == '$'))
{
printf("%s\n", &szChar);
}
else
{
printf("error\n");
Peut-être pourriez-vous commencer par éliminer certaines des données que vous recevez. Vous pourriez trouver (par exemple) que vous n'avez pas réglé le GPS en mode NMEA, donc ce que vous obtenez est différent. –
J'ai obtenu le msg quelque chose comme ce $ GPGGA, 123519,4807,038, N, 01131,000, E, 1,08,0,9,545,4, M, 46,9, M ,, * 47 de la lecture du port série. mais le problème est que je pense que les données de & szChar sont toutes dans la chaîne plutôt que dans le tableau. Y at-il de toute façon je pourrais le décoder? merci – kevin
Quelle est la valeur de szChar [0]? (Initialiser le tableau avant un appel à ReadFile(), puis imprimer szChar [0]) – Reno