Adresses Mémoire des sondes - Matériels & problèmes divers - Hardware
Marsh Posté le 03-12-2013 à 11:18:16
Quelles addresses par curiosité? 
 
Sinon, je ne connais pas ces valeurs mais il est possible quelle soit stockée dans une zone mémoire "protégée" par le system, ce qui expliquerait que tu te fasses renvoyer si tu essaies d'y acceder.  
 
Comment y accèdes tu avec ton pointeur?
Marsh Posté le 03-12-2013 à 20:38:46
Sur Everest, j'ai récupéré un fichier texte "propriété de la sonde" 
Les adresses que j'ai utilisées sont celles ci : 
 
------[ LM78 ISA Sensor Device at 0290 ]------ 
 
0000  00 00 00 00  00 00 00 FF  FF FF FF FF  FF FF FF FF 
0010  FF 00 00 00  00 00 FF FF  FF FF FF FF  FF FF FF FF 
0020  FF 01 02 FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
0030  FF 1F 20 16  FF 1F FF 1F  FF 1F FF 1F  FF 1F FF 1F 
0040  F7 1F FF 1F  02 02 02 02  02 FF FF FF  FF FF 06 FF 
0050  01 FF FF FF  FF FF FF FF  C1 FF FF FF  FF E1 00 FF 
0060  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
0070  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
0080  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
0090  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00A0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00B0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00C0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00D0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00E0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
00F0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
 
Bnk0  01 FF FF FF  FF FF FF FF  C1 FF FF FF  FF E1 00 FF 
Bnk1  2A 00 00 4B  00 50 00 FF  FF FF FF FF  FF FF FF FF 
Bnk2  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
Bnk3  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF 
Bnk4  00 73 FF FF  00 00 00 FF  FF 1E 17 33  09 FF FF FF 
Bnk5  D1 CD 00 FF  00 00 00 00  00 00 00 00  00 00 00 00 
Bnk6  7F 7F 7F 7F  FF FF 00 00  05 0A 00 00  00 00 00 00 
 
J'ai essayé un peu de tout là dedans (^^" ) 
Pour le pointeur je fais ;  
int (ou double)* pointeur=NULL; 
pointeur=0x*adresse* 
 
J'ai aussi essayé les adresses mémoire qu'on peut trouver dans msinfo32, j'ai pris les adresses des "ressources carte mère"
Marsh Posté le 04-12-2013 à 10:01:51
Et qu'est ce que le programme te renvoie quand tu essaies d'accèder a ces valeurs? Ce serait surprenant qu'il ne crash pas ^^ 
 
Je t'invite a réviser les accès mémoire en C car ta méthode d'accès n'est pas bonne  
 
 
EDIT: allez je suis de bonne humeur : 
| Code : 
 | 
 
 
Après rien ne garantie que windows t’autorise l'accès a cet espace mémoire, et la ça va être plus touchy.
Marsh Posté le 04-12-2013 à 18:45:06
Ah je ne connaissais pas cette méthode ^^
Merci bien !
Je n'ai que quelques notions en C... Je suis en train d'étudier ce langage 
Pourquoi faut-il écrire *((char *) *adresse*) ?
Et effectivement, lorsque je lançais mon "programme", j'avais un message "... a cessé de fonctionner."
Marsh Posté le 05-12-2013 à 09:24:57
| Kaidaten a écrit : Ah je ne connaissais pas cette méthode ^^  | 
 
 
Qu'est ce qui a cessé de fonctionner? Car dans ce cas, si tu es "sur" de ces adresses, tu ne devrais pas avoir ce msg, la ca peut signifier que tu tapes dans l'espace d'adressage d'un autre processus... 
 
Pour t'expliquer rapidement : En C, il n'y a pas de moyen direct d'accèder a une adresse donnée "en dure" (car c'est sale, à risque etc....) il faut donc trouver un moyen de contourner la méthode traditionnelle (malloc, free etc..) 
 
Donc le (char *) @ est un cast implicite, precisant que l'addresse 0x123456 est de type pointeur sur caractère (1 bit) le *(lecast) signifie  
que tu as un pointeur sur cette adresse. (je sais pas si c est très clair mais c'est pas si facile a explique....) 
 
Si tu as que quelques notions en C, tu t'attaques à une partie bien au dessus de ton niveau actuellement, je t'invite à regarder les cours sur developpez.com notamment celui sur la gestion mémoire en C   
  
 
Et petit conseil : code sous linux, tu auras bcp plus de facilité avec la mémoire qu'avec la gestion 
| Spoiler : desastreuse | 
 de celle ci sous windows  
Marsh Posté le 05-12-2013 à 11:00:34
Ok je vais aller voir les cours sur developpez.com pour commencer  
 
Merci pour ton aide ! 
 
Quant aux adresses, je ne suis pas sûr du tout. Je fais à tatillon ^^"
Marsh Posté le 02-12-2013 à 19:56:23
Bonsoir bonsoir,
Tout d'abord, je m'excuse si je me trompe d'endroit pour poser ma(mes) questions,
je ne savais pas trop où les poster...
Cela fait plusieurs heures que je cherche un moyen d'accéder aux adresses mémoire des sondes de mon pc (températures, vitesse des ventilos etc...)
C'est dans le but de me faire un petit programme style mini-aida64, que je peux mettre sur un périphérique (une espèce de mini écran de monitoring)
Pouvez vous m'aider svp ?
Les adresses que j'ai trouvées n'ont pas l'air de fonctionner... (après, c'était un banal code C avec un pointeur sur l'adresse et un printf de la valeur pointée, pas certain que ce soit très efficace...)
Merci d'avance !