Aller au contenu


Photo

le foonctienement du robot avec le pc


  • Veuillez vous connecter pour répondre
4 réponses à ce sujet

#1 nico

nico

    Nouveau membre

  • Membres
  • 7 messages

Posté 16 mai 2006 - 10:31

salut

j'ai un petit probleme

je comprend pas comment en download notre programme ecris en ( c ) , sur le robot !

merci de m'aider :o

#2 Guest_thekiller242_*

Guest_thekiller242_*
  • Guests

Posté 27 août 2006 - 10:29

Tu peut la refaire silteplais?

#3 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 27 août 2006 - 12:09

je comprend pas comment en download notre programme ecris en ( c ) , sur le robot !


Avec une réponse aussi peu détaillée que ta question : Grace à un cable...

Plus sérieusement :

Sur quel robot ?

Tu as fait un robot ou c'est juste que tu recherches des réponses à tes questions ?

Si tu as fait un robot détaille le et poste une petite photo de préférence ;)

Je ne connais pas ton age mais essais d'être plus clair...

A mon avis tu devrais commencer par des robots non-programmables, il y a plein de livres à leur sujet, va voir sur robot-maker rubrique livres.

#4 PZaf

PZaf

    Membre occasionnel

  • Membres
  • Pip
  • 249 messages
  • Location:Toulon

Posté 27 août 2006 - 09:13

Quand tu as ton programme en C, il faut que tu le compiles en assembleur (grâce à un compilateur) et ensuite tu l'envoies à ton processeur via un programmateur (branché sur un port série ou USB, etc.).

Voilà en "gros" pour résumer.

#5 Fabarbuck

Fabarbuck

    Membre passionné

  • Membres
  • PipPipPip
  • 685 messages

Posté 27 août 2006 - 11:05

Allez, je vais tenter de faire une version non résumée... ;)
Comme l'a dit Pzaf, entre ton programme en C et ce qui est dans le robot, il y a une petite différence. Le processeur du robot... en fait on parle de microcontroleur, parce que la puce utilisée pour le robot ne contient pas QUE le processeur - le bidule qui fait les calculs/opérations élémentaires, mais aussi des périphériques utiles, comme de la mémoire flash (comme les clé usb), de la mémoire vive (comme les barettes de RAM de ton pc), des modules pour diverses fonctionnalités (par exemple pour faire un port série, ou bien un timer, ou compteur, qui sert à mesurer des intervalles de temps... super utile pour tout un tas de programems).

Bref, ce microcontroleur n'utilise pas directement ton programme en C, tout simplement parce qu'il ne peut pas le 'comprendre' en l'état. Un processeur ne 'comprend' qu'un ensemble réduit d'instructions élémentaires... et il faut que tous les programmes qu'on lui donne soient écrits à l'aide de ces instructions élémentaires. Le langage correspondant s'appelle l'assembleur.
On peut écrire directement en assembleur, mais c'est fastidieux... parce qu'il faut décrire toutes les opérations en détail, et que les instructions connues du proc sont parfois tres basiques... On peut aussi utiliser un autre langage de programmation un peu plus pratique pour le programmeur, comme le C, mais il faut le 'traduire' en un programme équivalent dans le langage que 'comprend' le microcontroleur'. Cette étape de 'traduction' s'apelle la compilation... et se fait à l'aide d'un compilateur :P

Une fois que tu as compilé ton programme en C sur ton ordinateur, il faut que le microcontroleur l'ait à disposition pour l'exécuter. Comme je l'ai dit plus haut, un microcontroleur comporte tout un tas de périphériques, dont de la mémoire flash, qui lui sert de mémoire de masse (oui... bon... quelques ko, mais de masse quand meme :D ). Il faut donc un moyen d'écrire dans cette mémoire depuis ton ordinateur !
Par le passé, on accédait à cette flash comme à une mémoire flash 'classique': on mettait le uC sur un programmateur de flash/eeprom, et on pouvait écrire dans sa mémoire... un peu pénible de devoir sortir ton uC du circuit chaque fois que tu voulais changer le programme !
Heureusement, les fabricants de microcontroleurs proposent désormais un moyen beaucoup plus simple ; tous les uC (pratiquement) disposent d'une sorte de port série, par lequel ils peuvent recevoir quelques ordres, en particulier des ordres d'acces à leur mémoire interne. Et c'est gagné ! Avec une liaison de type série plutot simple, ton pc peut accéder à la mémoire du uC, et ce, sans que tu n'aies besoin de l'enlever de son circuit, à condition d'avoir un port série adapté sur ta carte...
Du coup... ce qu'on appelle 'programmateur' de uC est bien souvent plus un cable de communication qu'autre chose... et là, toutes les solutions sont possibles: passer par le port série, parallele, infrarouge, usb, et d'autres encore...
Le plus simple des cables de programmation est celui qui passe par le port parallele ; pour un uC classique, tu as besoin dans la version minimaliste (pas parfaite, mais qui fonctionne tout de meme) de ... 3 résistances, du fil et deux connecteurs (un pour ta carte et l'autre pour le port parallele). Les 3 résistances ne sont pas absolument nécessaires, d'ailleurs... (enfin... ca devient de plus en plus risqué pour ton port parallele si quelque chose se passe mal.....)

Voila... heu, je crois que si tu veux d'autres infos, il va falloir que tu m'expliques un peu mieux pourquoi tu te poses cette question... ;) A bientot ! :)




1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users