Go Down

Topic: Port COM (Read 3153 times) previous topic - next topic

Flanker47

Dec 29, 2008, 07:42 pm Last Edit: Dec 29, 2008, 09:29 pm by Flanker47 Reason: 1
Bonjour

J'ai pris récemment un Arduino Decimila parce que ce micro processeur peut communiquer avec l'ordinateur en simulant un port COM.

Seulement, je n'ai jamais utilisé de liaison COM dans un programme, alors je cherche un exemple dans un programme en C

Il y avait bien un exemple sur le site d'Arduino mais il utilise des bibliothèques de Linux et je suis sous Windows.
(http://todbot.com/blog/2006/12/06/arduino-serial-c-code-to-talk-to-arduino/)

Donc ma question: auriez vous un exemple de code en C pour interfacer le micro-porcesseur sous windows?


Luj06

Quel est ton environnement de programmation ? Nous utilisons MinGW pour écrire nos codes en C sous Windows.

Voici un article sur l'environnement IDE :
- http://www.pobot.org/Un-IDE-gratuit-pour-developper-la.html

Voici un article sur l'installation de MinGW (il peut dater, me prévenir et on le mettra à jour) :
- http://www.pobot.org/Utiliser-MinGW-pour-developper-la.html

Si tu as encore le choix, tu peux commencer par tester avec Processing : il existe des exemples de code sur notre site et c'est vraiment pratique pour communiquer simplement avec une Arduino.

Flanker47

merci pour les liens

je regarde tout de suite

Flanker47

J'utilise Code Blocks pour l' environnement

Mais comme je suis débutant, j'utilise aussi la SDL pour mon programme , une bibliothèque simple.

Charger un programme avec MinGW ne risque t'il pas de m'empêcher d'utiliser la SDL ?

Luj06

Aucune idée, tiens nous au courant :)


Flanker47

#5
Dec 31, 2008, 02:32 pm Last Edit: Dec 31, 2008, 04:24 pm by Flanker47 Reason: 1
Je dois oublier quelque chose car ça ne fonctionne pas.

Lorsque je compile, les erreur passés ne sont plus là mais une centaine de nouvelles erreurs sont arrivées...

je retente encore l'installation si ça marche, je vous le fait savoir.



j'ai un autre problème relatif au micro processeur:

pour tester mon programme j'utilisais l'interface de Arduino

le programme doit me renvoyer automatiquement des constantes, mais, il les envois en ASCII malgré ça :

Code: [Select]
Serial.print(attenteDesDonnees, DEC );

Luj06

Relis la documentation de référence, c'est exactement ce que fait Serial.print(value, DEC) : envoyer des caractères ASCII représentant la valeur écrite en base 10.

gearmat

j'aurais aussi une question

le meilleur soft c'est MinGW ou processing

Luj06

Pour ton besoin, c'est Processing.

Flanker47

Je vois ce que vous voulez dire, je me suis égaré,
mais dans ce cas qu'est-ce que ceci:
Code: [Select]
?ìè5;Ô2À?zº:ìa



Luj06

Hmm... ça ressemble à une mauvaise vitesse de transmission du côté récepteur.

Jean-François

Il me semble que j'avais eu des problèmes similaires.

Ici
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Flanker47

port les caractères illisibles, c'était bien la vitesse,
j'avais sélectionné  28800 b/s au lieu de 9600 b/s.

merci, maintenant c'est lisible.


pour l'interface USB je le lis avec attention car ç pourais bien être une solution au problème

fru

Sous max msp, c'est le port 8 ou 9 .

val .

Flanker47

Pour la partie embarquée, ça fonctionne maintenant merci


mais je n'ai qu'une expérience limité de la programmation ( un très faible langage c )
cependant j'aimerais utiliser les fonctions C++ de cette page

http://www.arduino.cc/playground/Interfacing/CPPWindows

le compilateur les valide toutes, elle fonctionnent sur mon programme, seulement voilà, quelle variable mettre dedans :

Serial::Serial(char *portName)
lorsque je met 3 pour "com 3"


Serial::ReadData(char *buffer, unsigned int nbChar)
la variable sur la quelle on veut écrire  
et la deuxième variable ??? (devrais correspondre au port ou à la taille du mot mais je ne l'ai pas)


Serial::WriteData(char *buffer, unsigned int nbChar)
de même





Go Up