Auteur Sujet: Launchpad tuto 002 : Leds clignotantes.  (Lu 12365 fois)

Hors ligne keube

  • Passionné
  • *
  • Messages: 160
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #16 le: Mardi 24 Mai 2011, 14:26:47 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

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #17 le: Mardi 24 Mai 2011, 21:22:00 pm »
Voilà, j'ai modifié un peu le bouzin.
J'ai rajouté une petite table de correspondance entre n° d'I/O et bits de P1OUT vite fait.
Changé les titre des colonnes des tables de vérité, etc…

Puis sinon, c'est bien mon but, motiver les gens à apprendre à manipuler des µC!
Ils sont les couteaux suisses de l'électronique. Ils s'adaptent facilement à des situations très variées.
Et surtout, ils ne coutent pas grand chose par rapport à la puissance disponible.
« Modifié: Mardi 24 Mai 2011, 22:57:01 pm par KodeIn »
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Hors ligne Maitre_Poulpi

  • ✌(◕‿◕)✌ Donateur 2018
  • Alien
  • *
  • Messages: 4793
  • Consoles au fil je suis, ordis aussi
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #18 le: Vendredi 27 Mai 2011, 00:43:10 am »
Bon ben tuto fait aussi.
Pour l'instant RAS, je pense avoir à peu près compris (enfin je crois), on va voir la suite.
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC...

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #19 le: Vendredi 27 Mai 2011, 01:55:04 am »
Si jamais t'as un doute sur un truc, n'hésite pas à le dire.
J'essayerai de te réexpliquer et d'en profiter pour améliorer le tuto :)

Bon je vais considérer que le tuto est bon  ^-
« Modifié: Vendredi 27 Mai 2011, 09:33:37 am par KodeIn »
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Hors ligne Maitre_Poulpi

  • ✌(◕‿◕)✌ Donateur 2018
  • Alien
  • *
  • Messages: 4793
  • Consoles au fil je suis, ordis aussi
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #20 le: Vendredi 27 Mai 2011, 10:50:37 am »
Si jamais t'as un doute sur un truc, n'hésite pas à le dire.
J'essayerai de te réexpliquer et d'en profiter pour améliorer le tuto :)

Bon je vais considérer que le tuto est bon  ^-

Oui, j'ai un doute d'avoir compris à 100% l'histoire des opérateurs bitvouizz  :D
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC...

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #21 le: Vendredi 27 Mai 2011, 11:41:38 am »
Je vais essayer d'éclairer ta lanterne ;)

Elément important à savoir, les opérations bitwise s'effectuent bit à bit. (j'aurais dû le mettre dans le tuto)
Donc, prenons un octet A, un octet B, un octet resultat et l'opérateur & (au hasard) et effectuons "resultat = A & B";
Le bit0 de résultat sera égal au résultat de l'opérateur & entre le bit0 de A et le bit 0 de B.
Le bit1 de résultat … égal … & entre … bit1 de A et … B.
Et ainsi de suite pour les autres bits.

Une fois qu'on sait ça, l'usage des tables de vérité des 4 opérateurs bitwise devrait être plus évident.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Hors ligne Maitre_Poulpi

  • ✌(◕‿◕)✌ Donateur 2018
  • Alien
  • *
  • Messages: 4793
  • Consoles au fil je suis, ordis aussi
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #22 le: Vendredi 27 Mai 2011, 12:57:54 pm »
Je crois que je viens de comprendre un truc dans le code en fait.
Dis-moi si je me trompe et si je suis clair dans ce que je dis  :D

Dans cette ligne : P1OUT &= ~(BIT0 + BIT6);

En fait, quand on fait référence à un BIT, d'un point de vue code, c'est qu'on le met à 1.
Comme tu as mis l'opérateur ~ (NOT), on l'apelle à 0.
Donc, peut importe le reste des "BIT" puisqu'on y fait pas référence.
Avec l'opérateur &, on teste l'état précédent si BIT0 était à 0 alors BIT0=0 (car 0&0=0) si BIT0 était à 1 alors BIT0=0 (car 1&0=0).

Je sais pas si je suis clair  ;D
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC...

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #23 le: Vendredi 27 Mai 2011, 13:07:35 pm »
Sisi, t'es à peu près aussi clair que moi  =:))

Bon, en fait je te dévoiler la ruse de sioux : derrière BIT0 se cache en fait cette valeur : 0000‿0000‿0000‿0001₂ ou 0x01 ;)
et BIT6 : 0000‿0000‿0100‿0000₂ ou 0x40
donc BIT1 + BIT6 => 0000‿0000‿0100‿0001₂ ou 0x41

J'aurais dû expliquer ça aussi tien!
« Modifié: Vendredi 27 Mai 2011, 13:33:44 pm par KodeIn »
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Hors ligne keube

  • Passionné
  • *
  • Messages: 160
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #24 le: Vendredi 27 Mai 2011, 13:12:24 pm »
Je crois que je viens de comprendre un truc dans le code en fait.
Dis-moi si je me trompe et si je suis clair dans ce que je dis  :D

Dans cette ligne : P1OUT &= ~(BIT0 + BIT6);

En fait, quand on fait référence à un BIT, d'un point de vue code, c'est qu'on le met à 1.
Comme tu as mis l'opérateur ~ (NOT), on l'apelle à 0.
Donc, peut importe le reste des "BIT" puisqu'on y fait pas référence.
Avec l'opérateur &, on teste l'état précédent si BIT0 était à 0 alors BIT0=0 (car 0&0=0) si BIT0 était à 1 alors BIT0=0 (car 1&0=0).

Je sais pas si je suis clair  ;D
je pense que tu as compris mais on va détailler tout ça:
#define BIT0 0x01 /* en binaire 00000001 */
#define BIT6 0x40 /* en binaire 01000000 */
BIT0 + BIT6 = 0x41 /* en binaire 01000001 */
~(BIT0 + BIT6) = 0xBE /* en binaire 10111110 */
l'opérateur & va donc mettre à 0 les bits 0 et 6 et conserver la valeurs des autres bits:
valeur du port & 10111110 => X0XXXXX0 (X étant la valeur précédente de la pin)

Hors ligne Maitre_Poulpi

  • ✌(◕‿◕)✌ Donateur 2018
  • Alien
  • *
  • Messages: 4793
  • Consoles au fil je suis, ordis aussi
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #25 le: Vendredi 27 Mai 2011, 13:19:11 pm »
Ca devient plus clair.
Ca veut dire aussi que si on ne mettait pas le ~ devant on serait pas sûr que ça mette à 0 car si l'état précédent était 1 ça ferais 1 comme résultat.

Autre question : c'est quoi le ₂ à la fin ?
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC...

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Launchpad Tuto-002 : Leds clignotantes.
« Réponse #26 le: Vendredi 27 Mai 2011, 13:40:12 pm »
Le ₂, c'est de cette manière qu'on informe que la suite de 1 et de 0 est en base 2, en binaire quoi.
Sans le ₂, normalement ça signifie qu'on travaille en décimal.
Il me semble que c'est une notation standardisée internationale.
Pour l'octadécimal, on notera [valeur]₈ et de l'hexa, [valeur]₁₆.
Je n'ai pas utilisé cette notation [valeur]₁₆ pour l'hexa parce que dans le code, on a une notation particulière à l'hexadécimal et ça me paraissait plus intéressant de se familiariser directement avec ce système de notation là.

EDIT: Voilà, j'ai rendu ça plus clair dans le tuto, maintenant on apprends que le fichier .h contient la définition, entre-autres, de BIT0 et BIT6 et j'indique leur valeur binaire et hexa. Ça devrait aider à simplifier la compréhension.

Au fait, merci à toi, Maitre_Poulpi, mon beta-testeur (et non testeur bêta  :D).
« Modifié: Vendredi 27 Mai 2011, 13:47:48 pm par KodeIn »
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente