Vous n'êtes pas identifié.
Y'a quans meme un truc qui est bizarre: meme avec touche j'arrive pas a écrire sur ces ports alors que ca marche bien sur les autres...
2072, qu'en penses-tu?
Hors ligne
C stupid ce ke tu dis la, car ce sont des char, puisk outportb, le b final signifie byte, donc octet, dc char !!
et des unsigned passerai mieux aussi !
Outport permet de mettre des mots, et dc sur 2 port !
Hors ligne
le prob étè ki mettait po le bit ds le port 1Dh.....
Hors ligne
Vi merci ktr, maintenant ca va mieux!!
x-thunder c'est un peu trop demandé pour qqn qui a commencé le c depuis 2 jours ca :oops:
Hors ligne
ben 2 rien je fai 2 mon mieu...
Hors ligne
Arff julien, tu sais, ya THE tuto pour prog sur G100 !!!
D' ailleur je poense, kil est pu a jour, fodrait y metre les derniere découvert ...
Hors ligne
Oui je sais, je l'ai d'ailleurs, mais jusqu'a il y a 3 jours j'y comprenais que dalle alors...
Hors ligne
Bon voila mes fonctions, surtout n'hésitez pas a me dire de les "remanier" ou à les corriger, apres tout je suis la pour apprendre moi!
Vous pouvez les utiliser, mais ce sont mes deux premieres fonctions (elles marchent bien, tant que les dates demandées ne sont pas extravagantes), donc me faites pas l'affront de pas signaler qu'elles sont de moi
int get_date( int demande , int total ) /***************************************************** -> renvoie la date actuelle si total==-1: jour: demande==0 mois: demande==1 annee: demande==2 total: demande==3 (debug) -> sinon renvoie la date correspondant a total ( nbre de jours depuis 01/01/2000 ) ******************************************************/ { int mois=1, annee, i=0; int nbrejours[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; if (total ==-1) { asm in al,0x22; total= 65536*_AL; asm in al,0x21; total+= 256*_AL; asm in al,0x20; total+=_AL; }; //if (demande==3) return total; // debug annee=2000+total/365; if (demande==2) return annee; i= (annee-2000)/4; total=total%365-i; while (total>nbrejours[mois-1]) { total -= nbrejours[mois-1]; mois++; }; if (demande==1) return mois; return total; } void set_date(int jour,int mois, int annee) /****************************************************** -> enregistre la date jour,mois,annee dans la mémoire de la graph100 par le nbre de jours ecoules depuis le 01/01/2000 . Compatible avec le programme Touche de 2072. *******************************************************/ { long int total ; char i,j,k; int nbrejours[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; annee-=2000; total = 365*annee + annee/4; if (annee%4==0) nbrejours[1] = 29; for (i=0;i<mois-1;i++) total += nbrejours[i]; total += jour; if ((annee%4==0) && ( mois>2 )) total--; k = total/65536; total %= 65536; j = total / 256; i = total % 256; asm { mov al,k out 0x22,al mov al,j out 0x21,al mov al,i out 0x20,al mov al,4 out 0x1D,al }; }
Hors ligne
...
X-thunder28 , ou "Comment ne pas savoir lire les commentaires"
Hors ligne
j'ai pas tout vérifier mais je crois qu'il y a 2 petits oublis à propos des années bissextile:
Il y a 3 conditions pour qu'une année soit bissextile :
- elle est divisble par 4
- ce n'est pas un début de siècle (1900 par exemple)
- c'est un début de siècle et elle est divisble par 400 (2000 par exemple)
Par chance ta fonction marche... mais corrige ça et ce sera bon.
@+
Hors ligne
- ce n'est pas un début de siècle (1900 par exemple)
- c'est un début de siècle et elle est divisble par 400 (2000 par exemple)
!! j'ignorais! 8O
Mais ca parait tres bizarre, ca veut dire qu'a chaque siecle on prend un jour de retard par rapport aux révolutions de la terre...
Hors ligne
Au contraire...
La Terre ne fait pas une révolution en 365 jours pile, c'est pour ça que de temps en temps il faut apporté une petite correction.
ma fonctions marche comme ça et elle part toujours de 1583... et la date est exacte, regarde avec le calendrier de windows et tu verras...
Hors ligne
Hors ligne
pour l'histoire des conditions, le truc des siècles on s'en fout paske le prochain truc ce sera en 2400, donc c meme pas le peine d'y penser !!
Hors ligne
lol d'ici la tu l'aura refaite ta fonction.....
Hors ligne
non plutot ds un musée...
Hors ligne
Wha le ketru trop 1terressant....
juste comme ça, moins j'ai un algorithme qui donne le jour de la semaine en fonction de la date (je sais pas si vous l'avez déjà). Et puis il donne aussi les signes astrologiques. Enfin si ça interesse quelqu'un, il faut me faire signe.
Hors ligne
ben, pour avoir le jour de la semaine a partir du nombre de jours écoulés depuis le 01/01/2000 (ce nbre étant le plus facile a obtenir), il suffit de faire
jour=6+nbre%7 if( jour>7 ) jour-=7
et pis voila...
Hors ligne
julien je suis en train de faire un nouvel algo pour trouver la date car ton algo se plante quasi tout le temps a cause de lu mois de fevrier, donc en plus, elle sera en asm et je pense qu'elle gerera jusqu'a 2389 ce que touche ne fait pas et les 2 fts seront dans Casio2.h qui sortira bientôt
Hors ligne
Tiens, pourtant j'ai vérifié, et a part le probleme signalé par 2072 les résultats étaient corrects...
Mais si tu en refais une, tant mieux!!
Au moins elle sera correcte, et optimisée: c'est pas facile pour moi de faire un truc fiable a 100% dès le début...
Hors ligne