begin process at 2012 05 30 15:52:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

RFID skyetek developer kit


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

RFID skyetek developer kit

mardi 29 janvier 2008 à 16:14:45 | RFID skyetek developer kit

chibi59

Salut à tous,
J'ai un projet à mener pour mes études il sagit de déveloper une aplication en C++ capable de se connecter à un lecteur RFID de lire des tags RFID et d'écrire dessus.
Je me suis fait acheter (lol la chance) le kit skyetekmodule developer M2. Avec ce kit est fournit un exemple mais j'avoue que je séche lamentablement à le comprendre! C'est pourquoi je demande votre aide. Il s'agit d'un exemple qui lit les tag en boucle si j'ai bien compris. Je met le code à la suite si quelqu'un comprend et qu'il veux bien m'expliquer ce qu'il en est.
merci beaucoup par avance!
Voila le code:
 

#include "stdafx.h"
#include "SkyeTekAPI.h"
#include "SkyeTekProtocol.h"

// stop flag

bool isStop = false;

// FUNCTION: SelectLoopCallback(LPSKYETEK_TAG, void *)

// PURPOSE: Callback called by SkyeTek_SelectTags whenever

// a tag is selected. This returns 1 to continue

// and zero to stop.

unsigned char SelectLoopCallback(LPSKYETEK_TAG lpTag, void *user)

{

if( !isStop )

{

if( lpTag != NULL )

{

printf("Tag: %s; Type: %s\n", lpTag->friendly,

SkyeTek_GetTagTypeNameFromType(lpTag->type));

SkyeTek_FreeTag(lpTag);

}

}

return( !isStop );

}

//

// FUNCTION: ThreadProc(LPVOID)

// PURPOSE: Main thread function. It sits in a loop until the

// reader is discovered and then it calls the

// SkyeTek_SelectTags function, which does not return

// until the loop stops. To stop the loop, the

// SelectLoopCallback needs to return zero.

DWORD WINAPI ThreadProc(LPVOID lpParameter)

{

LPSKYETEK_DEVICE *devices = NULL;

LPSKYETEK_READER *readers = NULL;

SKYETEK_STATUS st;

unsigned int numDevices;

unsigned int numReaders;

printf("Discovering reader...\n");

while( !isStop )

{

numDevices = SkyeTek_DiscoverDevices(&devices);

if( numDevices == 0 )

{

Sleep(100);

continue;

}

if( isStop )

return 1;

numReaders = SkyeTek_DiscoverReaders(devices, numDevices, &readers);

if( numReaders == 0 )

{

SkyeTek_FreeDevices(devices,numDevices);

OCTOBER 6, 2006 SELECT LOOP SAMPLE

SKYETEK, INC. WWW.SKYETEK.COM PAGE 7 OF 7

Sleep(100);

continue;

}

break;

}

// set reader info

printf("Found reader: %s\n", readers[0]->friendly);

// the SkyeTek_SelectTags function does not return until the loop is done

printf("Entering select loop...\n");

st = SkyeTek_SelectTags(readers[0],AUTO_DETECT,SelectLoopCallback,0,1,NULL);

if( st != SKYETEK_SUCCESS )

printf("Select loop failed\n");

printf("Select loop done\n");

// clean up readers

SkyeTek_FreeReaders(readers, numReaders);

SkyeTek_FreeDevices(devices, numDevices);

return 1;

}

int main(int argc, char* argv[])

{

DWORD id1;

HANDLE h;

char line[128];

printf("SkyeTek API Loop Example\n");

printf("Hit return to exit\n");

if( (h=CreateThread(NULL,0,ThreadProc,NULL,0,&id1)) == NULL )

return FALSE;

gets(line);

CloseHandle(h);

printf("Done\n");

isStop = true;

return 0;

}


 

jeudi 31 janvier 2008 à 14:57:55 | Re : RFID skyetek developer kit

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

L'indentation qui saute...

Le main :

Créé un thread et attend que l'utilisateur tape quelque chose.
Quand l'utilisateur a taper quelque chose, isStop passe à true pour demander l'arrêt du thread.

La fonction de départ du thread est ThreadProc :

Cherche les device.
Cherche les heu... lecteurs de ses devices.
Appelle SelectTags.

SelectTags prend en argument une callback. Une callback est une fonction qui sera appelée par la librairie qu'on appelle.

SelectLoopback ()
{
}

ThreadProc()
{
  SelectTags(SelectLoopBack);
}

SelectLoopBack est alors appelée une ou plusieurs fois par la lib de Skyetek.

Quand on fait renvoyer 0 par SelectLoopBack, on demande à la lib Skyetek de ne plus appeler SelectLoopBack.

Je ne suis pas sûr d'avoir été super claire, m'enfin...
Remarque -> CreateThread prend une fonction en callback sur le même principe : windows appelle ThreadProc à ta place.

vendredi 1 février 2008 à 15:35:31 | Re : RFID skyetek developer kit

chibi59

merci pour c'est info, je vais essayer de reprendre à partir de là!

C++ c'est plus fort que toi ! ou moi d'ailleurs!
jeudi 28 février 2008 à 17:46:54 | Re : RFID skyetek developer kit

zerabbit

tu feras attention  que dans ton copier/pompé il y a 2 lignes qui ne sont pas du code , mais l'entete et le pied de page du pdf ! ;-)

(

OCTOBER 6, 2006 SELECT LOOP SAMPLE

SKYETEK, INC. WWW.SKYETEK.COM PAGE 7 OF 7


)



sinon , t'as pu avancer sur cet exemple fournit par Skytek ?




Cette discussion est classée dans : printf, return, loop, if, skyetek


Répondre à ce message

Sujets en rapport avec ce message

Table de hachage avec patronyme [ par guitoontruant ] Bonjour, Désolé, j'avais d'abord poster dans les discussions libres.Voilà je dois créer une table de hashage de patronymes par le biais de N entrées, Simple Hook (DLL) qui plante GetMessage ! Je suis nul ou quoi ? [ par dam1dam1 ] Bonjour. Je ne suis pas un pro du Hook et j’ai un peu oublié tout ca, mais vu toutes les bonnes sources et annotations qui trônent ici, je pensais po Problème compréhension du programme le compte est bon [ par echec ] Bonjour,Je cherchai un programme c++ sur internet qui permettait de calculer la solution du jeu le compte est bon, j'en est finalement trouvé un, mais 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 tableau [ par ngabou98 ] bonjour à tous c'est encore moi svp j'ai besoin de votre aide je travaille sur la méthode de simplification d'une fonction booléene par la méthode de Probleme avec select [ par Phoenix2025 ] Bonjour, Je viens à vous car j'ai un problème avec un code où j'ai incorporer la fonction "select". Mon problème est que je suis bloqué à cette derni ce code ne marche pas?????????? [ par banak3181 ] s'il vous plait les gars je veux que quelqu'un me disent pourquoi ce code ne marche sur dev C++:#include #include #include #include # include<myconio. besoin d'aide sur communication [ par keast ] salut tout le monde, Voila je suis vraiment nul en info et j'ai un problème en ce moment sur un projet. Je dois piloté un appareil qui celui-ci fonct Question gestion bibliotheque code c [ par nicolas92c ] Bonjour, j'ai un code non fini qui permet de gérer une bibliotheque. Ajouter ou supprimer un lecteur ou un livre : ok mais pour consulter les lecteurs musique qui grésille [Console] [ par BastienL21 ] Bonjour à tous,    Je programme actuellement une console qui fait un peu tout...bref en gros il contient une boucle while( !kbhit()) où se trouve deda


Nos sponsors


Sondage...

Comparez les prix

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,218 sec (4)

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