Gamoover

Besoin de contacter un admin pour une proposition, une suggestion ou discuter d'un probleme ?
C'est ici : High_Cobra, AsPiC ou Pich

Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Messages - keube

#17
pas de soucis ;)
Je reviens un peu sur mon explication (rapide) du #pragma:
l'interruption n'est pas copiée à l'adresse du vecteur d'interruption puisqu'il n'y de la place que pour un opcode, par contre tu devrais y trouver un code assembleur pour sauter vers ton vers ton interruption (jmp?). On doit pouvoir vérifier ça en regardant le code assembleur généré dans un .quelquechose (.lst?) si tu le demandes au copmpilateur. Enfin bref d'une façon ou d'une autre c'est cette directive de compilation qui va faire le lien entre le vecteur d'interruption et ton __interrupt.
Le __interrupt spécifie également au compilateur le code assembleur à ajouter par rapport à des fonctions classique: il y a vraisemblablement un mot clé pour définir si on veut ou non faire la sauvegarde des contextes, faire le retour de l'interruption etc... mais là on tape dans le niveau très avancé! Par défaut (99,9% des cas) le __interrupt suffira.
#18
nop() => no operation, ça fait rien en clair!
Les interruptions ce n'ait pas bien compliqué comme concept mais la mise en œuvre est toujours source de surprises! Il faut être super prudent et imaginer les cas tordus, ils finiront toujours par arriver et plus on y pense tôt mieux c'est...
Ton tuto te permet aussi d'apprendre, et si un débutant le lit il pourra bénéficier des conseils de programmeurs plus aguerris, chose qu'on ne vois pas si le tuto est trop parfait!
#19
De façon générale dans les microcontroleurs on trouve une table de vecteurs d'interruptions à une adresse donnée de la mémoire. Sur le msp430 (celui du tuto?) elle se trouve entre 0x0FFFFh et 0xFFC0h. A chaque adresse correspond une fonction à appeler quand l'interruption tombe. Par exemple, toujours sur le même micro, l'interruption correspondant au port 1 se trouve en 0x0FFE4h. Ton #pragma vector=PORT1_VECTOR va donc placer l'interruption __interrupt void Port_1(void) à cette adresse. Note qu'elle est commune à tout le port 1, et tu dois donc y gérer les interruptions des 8 pins si tu en actives plusieurs.
Autre remarque sur ta façon de coder: il n'est pas prudent de gérer l'état de la sortie dans le corps principale et dans l'interruption: dans des codes un peu plus compliqués c'est le meilleur moyen pour se retrouver avec une incohérence à un moment donné. Je ne sais pas trop ce que fait la fonction __delay_cycles() (des nop()?) mais on peut très bien imaginer que l'interruption tombe 2 fois pendant ce temps. Ta variable blinking et ta sortie vont se contredire...
#20
Citation de: KodeIn le Mardi 24 Mai 2011, 14:01:02 PM
Merci pour tes remarques, je vais les prendre en compte et faire les corrections adéquates. (bon, pas tout de suite parce qu'il faut que je réécrive certaines parties, du coup)

Par contre, je pense que je vais conserver les "+" dans le premier tuto, il me semble que c'est plus compréhensible pour les débutants.
Dans les tutos suivant, je modifierai les lignes pour utiliser l'opérateur kivabien (et qui évite les merdages bête).  ;)

Quand tu parles du descriptif des ports, tu veux parler du schéma des composants pilotant chaque pin?
Si c'est bien ça, j'ai peur de rendre le tuto trop complexe et un peu effrayant pour les "nouveaux convertis".
Déjà comme ça, il est pas léger-léger  :P
non juste le descriptif des bits de chacun des registres, qui explique pourquoi tu mets un 0 ou un 1 dedans.
Du coup ton tuto ça me donne envie de programmer ;D
#21
Quelques remarques de pinaillage sur ton tuto:
- Une bonne habitude à prendre est de fixer la valeur de sortie des pins avant de les configurer en sortie, on évite ainsi de se retrouver avec une valeur inconnue en sortie. Il faudrait donc inverser P1DIR |= (BIT0 + BIT6); et P1OUT &= ~(BIT0 + BIT6);
- évite de faire un + avec tes #defines de valeur de registre, un | est plus sûr: imagine que tu te loupes et que tu écrives P1DIR &= ~(BIT0 + BIT0); au lieu de BIT6. au final tu vas te retrouver avec un P1DIR &= ~BIT1... Ça semble bête sur cet exemple mais avec des lignes comme WDTCTL = WDTPW + WDTHOLD; c'est tout de suite plus prudent.
- je ne suis pas sur que ta présentation de la table de vérité soit des plus adaptées: P1DIR    (BIT0 + BIT6)    P1DIR|(BIT0+BIT6). C'est surtout le BIT0 + BIT6 qui me gêne, il ne vaut en aucun cas 0 ou 1... On a tous compris ce que tu voulais dire mais un débutant pourrait se poser des questions.
Sinon à mon avis il manque le descriptif des ports que tu utilises pour aider à la compréhension. Ça aide à appréhender une datasheet d'un autre micro!

Bon courage pour la suite!
#22
Le Bistrot de l'Arcade / vide-greniers powa !!!
Dimanche 22 Mai 2011, 20:33:19 PM
Petite brocante à 5 minutes de la maison: forcément pas grand chose, une megadrive 2, et un vendeur avec quelque jeux NES nickels mais vraiment nickel: je lui ai pris un tortues ninja à 3 euros, c'est simple j'ai l'impression de l'avoir acheté le jour de sa sortie. La boite est parfaite, jeu + notice, à croire qu'il n'avait jamais été ouvert. Il en avait quelques autres mais les titres étaient très bof. Dommage. Il avait également quelques jeux Konami MSX en loose (Konami's tennis, soccer, rally ...), j'en avais jamais vu avant, j'ai hésité à les prendre juste pour les revendre à pas cher ici mais comme je ne connais absolument pas ces jeux finalement je les ai laissés :'(.
Et aussi un décapeur thermique à 10€, ce qui tombe ben parce que j'en ai besoin demain mais ça tout le monde s'en fout ;D
#23
Non non c'est bien un 8 ou 10 pouces qui m'interesse pour une mini consolecab. La taille et le poids étant primordiaux, je ne peux pas partir sur une petite tv 36cm. Si jamais quelqu'un me trouve une tv cathodique de 8 pouces pourquoi pas, mais pour l'instant à part 2 ou 3 LCD je ne trouve rien dans ces dimensions.
#24
j'en profite pour poser une question sur un autre produit dispo sur ce site. Ils ont des LCD avec une fréquence horizontale de 15 à 47 kHz.
MT108Thttp://www.weiya.com.tw/products_detail.asp?le=english&fid=155&pid=36&tCatName=8%20in.

Peut-on envisager de brancher de bonnes vieilles consoles (NES/SNES etc...) dessus?
Si oui, qu'est qu'il faut prévoir?
- une alimentation particulière ou on peut brancher directement sur secteur?
- sortie video: uniquement une redirection peritel=>vga ou faut-il un circuit supplémentaire pour séparer les signaux?
- le son à part!
- autre ?
Merci pour vos lumières.
#25
Une soirée Sega Rally miam miam :-)=
#26
Et pour les non-habitués de Nolife ça passe à quelle cette émission?
#27
Le Bistrot de l'Arcade / les pacman(ou autre) cachés
Samedi 19 Mars 2011, 21:42:10 PM
Dans l'épisode 5x07 de Futurama:

#28
Vos gamerooms ! / [WIP]La gameroom de keube
Samedi 12 Mars 2011, 19:45:56 PM
Citation de: Jeff le Samedi 12 Mars 2011, 19:18:39 PM
La tele ou la poussette  ;D

+
Disons que la poussette aurait du servir avant la télé mais malheureusement ça devrait plutôt être le contraire :-[
Faut voir le bon côté des choses, j'ai plus de temps pour m'attaquer à une consolecab
#29
Vos gamerooms ! / [WIP]La gameroom de keube
Samedi 12 Mars 2011, 19:15:10 PM
Grosse mise à jour qui sera surement ma dernière avant longtemps! Je ne prévois pas de m'attaquer au mur en pierre ni au revêtement de la chape pour l'instant.
J'ai installé le rail pour porte coulissante sur le mur et bricoler une porte aux dimensions qui me conviennent. Pour la porte je suis parti sur une planche de MDF de 179*94*0.6cm à laquelle j'ai collé du sapin de 18mm d'épaisseur, le but étant d'obtenir une porte relativement légère. Si mes calculs sont bons elle pèse environ 15kg.


J'ai remis mon bordel à l'intérieur, un rangement/tri s'imposera si je veux stocker une borne et un flipper, c'était quand même l'idée de départ!


Pour le plaisir une photo su sol pour lequel j'ai passé suffisamment de temps


Voili voilou je vais pouvoir m'attaquer à autre chose maintenant, un des objets visibles dans la cave devrait retrouver une utilité d'ici peu  :-)=.
#30
Le Bistrot de l'Arcade / Comment convaincre sa femme?
Jeudi 10 Mars 2011, 12:54:50 PM
Citation de: Sebhades le Jeudi 10 Mars 2011, 10:29:33 AM
Tu achètes une belle borne jap pour toi et un kitchen aid pour Mme madame et tout le monde est content ... Sauf ton banquier.
J'ai déjà le kitchenaid dans le salon, c'est un bon angle d'attaque pour coller une borne ou un flipper!
#31
Vos gamerooms ! / [WIP]La gameroom de keube
Vendredi 25 Février 2011, 11:48:22 AM
La Seine est assez bas par rapport à chez moi, je ne risque rien de ce côté là. Jamais entendu parler d'eau dans les caves, la voisine qui habite cette maison depuis 38 ans n'a jamais rien eu. (3615 my life: elle va enfin changer la moquette qui était là à son arrivée!!!)
J'en profite pour parler de l'avancement:
Le mur est fini, fixé au plafond par des équerres, ça ne bouge plus d'un poil maintenant ^-
Je vais attaquer la porte prochainement, elle glissera sur un rail fixé au mur. Pour avoir les dimensions que je souhaite, environ 180*90, le plus simple est que je la fabrique moi-même. J'attends de fixer le rail (ce soir si j'ai le temps) pour avoir les dimensions exactes. Je dois également renforcer la chappe au niveau de la porte: comme elle ne continue pas vers l'extérieur j'ai une petite marche de 3cm qui va vite s'effriter. Là aussi j'ai besoin de poser mon rail pour voir comment la porte va se mettre. Je prendrai quelques photos quand tout ça sera fait!
#32
Vos gamerooms ! / [WIP]La gameroom de keube
Dimanche 13 Février 2011, 09:53:27 AM
Citation de: cysgouil le Samedi 12 Février 2011, 22:22:17 PM
Beau boulot sinon pour le renfort tu peux ajouter des tasseaux en angles pour stabiliser le tout, pas très beau mais efficace, sinon tu as mis das plots de colle sur le mus de côté et plafond??? autre chose tu peux rajouter un basting ou un gros tasseau du côté de la porte (ouverture) en bout visser au sol et au plafond pour rajouter un ancrage supplémentaire et stabiliser le tout!!!!

Bon courage pour la suite c'est cool  ;)

Je pensais aussi aux tasseaux le long des murs je crois que je vais faire ça. Pour le tour de porte idem, les tasseaux sont prévus mais plutôt pour éviter un effritement du mur en béton cellulaire que pour renforcer: La chaux n'aime pas trop les vis donc je ne sais pas si je vais pouvoir visser au sol. Merci pour les conseils en touts cas, ça donne des idées ^-