Accueil > Forum > > > > Remise à l'heure
Remise à l'heure
mardi 30 octobre 2007 à 09:39:54 |
Remise à l'heure

XaThom
|
bonjour, Sous windows XP, je réalise une acquisition de données avec une carte au format PCI, le logiciel est développé avec c++ Builder 6. Lorsque le processeur gere l'acquisition, l'horloge windows n'est pas mise à jour, car tout les processus sont bloqués (ceci est dû à la dll que j'utilise et je dois faire avec).A la fin de l'acquisition, par quel processus forcer windows à aller lire l'horloge CMOS-RTC pour une remise à l'heure. En ce moment j'ai la possibilité de lire l'horloge CMOS par des fonctions In- Out assembleur à l'adresse 0x70-0x71 en implantant giveio.sys. Cela fonctionne mais de temps à autre ma lecture est erronée, et parfois plante windows sur certaines machines. Existe -t-il une api windows qui autorise le forcage de la lecture de la cmos-rtc, ou une autre méthode qui permet une remise à l'heure propre. Merci XaThom
|
|
mercredi 31 octobre 2007 à 00:12:30 |
Re : Remise à l'heure

juju12
|
Essaye d'envoyer un WM_TIMECHANGE à toutes les fenêtres.
|
|
mercredi 31 octobre 2007 à 07:41:43 |
Re : Remise à l'heure

XaThom
|
Bonjour,
Le problème dans un premier temps est de récupérer la bonne heure sauvegardée dans la cmos. Ensuite, effectivement, prévenir par un message à toute les fenetres que l'heure à changer. Cordialement XaThom
|
|
mercredi 31 octobre 2007 à 13:00:22 |
Re : Remise à l'heure

racpp
|
Salut, Tu peux essayer de faire ton propre pilote en Kernel-Mode. Ce pilote utilisera la fonction WRITE_PORT_UCHAR() exportée par hal.dll. Cette fontion te permettra de lire le contenu de la CMOS directement en utilisant les ports 0x70 et 0x71. Elle sera appelée suite à une commade passée en paramètre à DeviceIoControl() depuis ton application en User-Mode. Cette dernière récupère alors l'heure courante et met à jour le système grâce à SetSystemTime(). Cette mise à jour pourra aussi être effectuée au sein même du pilote. Pour faire ton pilote, il te faudra le DDK téléchargeable gratuitement sur le site de Microsoft.
|
|
mercredi 31 octobre 2007 à 17:12:56 |
Re : Remise à l'heure

XaThom
|
Rebonjour,
En fait j'arrive à lire la valeur par l'intermédiaire de "Giveio" et inp/outp, mais ne passant pas par le canal standard j'ai 2 problèmes: Parfois je ne lis pas la bonne valeur: cela semble dire que la sélection interne faite par l'intermédiaire du registre accessible à l'adresse 0x70 a été modifié entre ma programmation et ma lecture effective. Mon programme a t-il été interrompu? et par qui? Sur certaines machines (portable centrino duo) le système d'exploitation se plante. En fait ce que je voudrai c'est utiliser le canal standard du système d'exploitation pour aller lire l'heure et non pas passer par un canal non protégé par des possibles interruptions. Je me demande si la solution que tu me proposes risques d'avoir le meme problème au niveau des interruptions. Cordialement XaThom
|
|
mercredi 31 octobre 2007 à 20:47:26 |
Re : Remise à l'heure

racpp
|
Justement, avec ton propre pilote tu maitriseras mieux l'accès aux ports 0x70 et 0x71. En ce qui concerne les interruptions, tu peux les bloquer momentannément, juste le temps de lire le contenu CMOS, grâce à l'instruction assembleur CLI. L'instruction STI réactive les interruptions materielles. Tu peux aussi donner à ton pilote un IRQL (Interrupt ReQuest Level) maximal (DIRQL) pour interdire à tout autre processus d'interrompre le tien pendant son accès aux ports 0x70 et 0x71. Je reviens à mon post précédent pour ajouter que la fonction WRITE_PORT_UCHAR() sera suivie de READ_PORT_UCHAR() pour la lecture du port 0x71.
|
|
jeudi 1 novembre 2007 à 18:14:52 |
Re : Remise à l'heure

XaThom
|
Bonsoir,
Je viens de rappatrier DDK. J'ai peur de devoir mettre en oeuvre un processus qui ve me prendre beaucoup de temps, alors que windows XP possede la méthode. Savez vous ou je pourrai trouver une documentation simple sue DDK? Merci XaThom
|
|
vendredi 2 novembre 2007 à 03:07:17 |
Re : Remise à l'heure

racpp
|
Le Kernel-mode est un monde à part. Il est donc normal que ça demande un peu de temps au début. Le développement en Kernel-Mode permet de résoudre plein de problèmes insolubles en User-Mode. En général, un petit pilote de quelques lignes de code permet d'accèder directement à une ressource matérielle, ou logicielle, pour la mettre à la disposition d'une application en User-Mode. Le DDK est accompagné d'une documentation et des exemples de code. Beaucoup de fonctions ne sont pas documentées car Microsoft se reserve le droit de modifier les prototypes des fonctions et des types de données uitilisées par le système dès qu'elle le juge nécessaire. Elle le fait souvent avec des correctifs, des services packs et les différentes versions de Windows. Pour compléter cette documentation, il existe des livres, certains électroniques, et des sites web comme: http://www.osronline.comIl existe aussi, en anglais, des tutoriaux pour débuter: http://www.codeproject.com/system/driverdev.aspIl y'aura assez de nouvelles notions à assimiler mais au bout d'un certain temps tu seras capable de créer tes propres pilotes sur mesure et éviter les trucs, comme GiveIo, qui sont conçus pour fonctionner de manière générique donc inadaptés à des cas spécifiques. Voilà. Bon courage.
|
|
vendredi 2 novembre 2007 à 07:41:16 |
Re : Remise à l'heure

XaThom
|
Et bien maintenant on va essayer de s'y mettre. Meric
|
|
Cette discussion est classée dans : windows, heure, acquisition, horloge, remise
Répondre à ce message
Sujets en rapport avec ce message
Modifier l'horloge de Windows [ par ggoufa ]
Salut à tous,est ce que quelqu'un sait comment modifier l'heure de windows ?? Je pensais le faire un SetSystemTime. Qu'en pensez vous ?Merci à vousFab
Session Windows [ par zibo3 ]
Bonjour,J'aimerai savoir s'il est possible et si oui comment de récupérer le login et l'heure de la dernière session ouverte sous Windows. Eventuellem
Changer l'heure de Windows [ par Sload ]
Bonjour à tous ! Qq'un sait il comment changer l'heure de windows en C++ ? Merci d'avance Antoine http://www.sloadnet.com
acquisition de données via la carte son du pc [ par tatronic ]
bonjour à vous! je voudrais utiliser la carte son du pc comme convertisseur analogique-numérique afin de prélever un signal que j'injecte à son entr
Acquisition Audio [ par estelledany ]
Je suis en train de réaliser en C++ une application de vidéo conférence (gratuite et open-source) sous windows.La partie transmission réseau est faite
rafraichissement d'une fenetre en API windows [ par poulpixx ]
salut a tousJ'aimerai savoir comment on peut faire pour demander a une fenetre de rafraichir sa zone client en API windows C++.par exemple quand on y
[Horloge] Le minimum de consommation CPU pour une horloge [ par BabyAzerty ]
Bonjour, Voici le principe de mon horloge : -Elle montre l'heure (!!!!!) -Elle lance une animation à chaque heure. [code=cpp] int main(void) {
[API]Recuperer l'heure de windows [ par shadow1779 ]
Bonjour, ya t'il une fonction avec l'API windows pour recuperer son heure et si oui merci de me montrer un petit exemple :) Merci d'avance
[API] Programme a coté de l'horloge [ par AMS010 ]
Bonjour, Je programme depuis quelques temps sous l'API windows, et je me demandais comment pouvait-on mettre notre programme dans la barre de tache dè
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|