Au secours - RS 232 - Port série

Vince (ou Dieu ...
Au secours - RS 232 - Port série

Bonjour,

je suis nouveau dans le monde de la programmation et je souhaite via une puce RS232 et un port série diriger des objets comme un moteur pas-à-pas, une lampe, un humidificateur et bien plus encore.

Est-ce que vous auriez une idée sur la façon dont il faut s'y prendre svp :?:

Merci d'avance

fredericmazue

Bon tu es Dieu pour les intimes, mais moi ici je suis Dieu pour tout le monde.
Cependant le mieux est de rester incognito et modeste alors appelle moi simplement: maître.
J'aime qu'on m'appelle par mon petit nom :)

Parlons donc au niveau où tu places toi même la discussion. Sâche petit scarabée que la programmation du port série n'a aucun secret pour moi.

Sâche encore qu'un développeur capable commence par choisir un langage adapté à sa tâche. C ou C++ sont le mieux, tu peux tout faire au petit poil avec.
Sinon VB.Net 2.0 à la rigueur. Mais VB 6.0 ça c'est un choix de petit joueur, de traîne-lattes et de pousse-mégots, bref c'est indigne de toi.

Vince (ou Dieu ...

Alors comme ça on fait de la concurrence :lol:

Donc pour être franc avec toi je viens de commencer la prog et au lycée ils de jolies cartes pour programmer les puces.

Petit problème, le logiciel n'accepte que le vb6 car c'est les profs de génie électroniques qui l'ont fait (et toc)

Vu que je suis un petit joueurs, pourrait tu m'expliquer :?:

fredericmazue

Quote:

Donc pour être franc avec toi je viens de commencer la prog

Bravo. Et bienvenue dans le monde de la programmation :)

Quote:

ls de jolies cartes pour programmer les puces.

Je ne suis pas sûr de bien comprendre ça. Tu peux détailler ?

Quote:

Petit problème, le logiciel n'accepte que le vb6 car c'est les profs de génie électroniques qui l'ont fait (et toc)

Petit problème, l'interface RS 232 se fout de ces considérations de génie. Un octet qui arrive sur l'interface est un octet. Et toc!
Et dire que le logiciel n'accepte que VB 6, à priori ça ne veut rien dire et re toc ! :)

Quote:
Vu que je suis un petit joueurs, pourrait tu m'expliquer

Peut être que je n'ai pas très bien compris ta question et ton problème. Mais s'il s'agit de faire de la communication série entre un PC et un périphérique quelconque pour le piloter, via la RS 232, je peux t'assurer qu'il n'est pas obligatoire de prendre VB 6 et j'insiste c'est même pas un bon choix.
Tu peux prendre le langage que tu veux qui va bien.

C'est un petit peu difficile de programmer le port série car dans l'idéal il faut écrire un programme multithreadé qui gère des entrées/sorties asynchrones. (Saut en .Net 2.0 voir plus loin)
Peut être que tes profs on fait un tel programme générique (je ne les félicite pas pour le choix du langage ;) ) et que tu doives t'en servir pour le personnaliser ou je ne sais quoi de ce genre. Si c'est ça, faudra donc faire du VB 6
Sinon, si tu dois écrire l'application toi même, alors tu peux prendre le langage que tu veux.
Et si tu es débutant et que le but est de te prendre la tête un minimum avec ça parce que tu préfères te consacrer au développement des périfs ou autre, alors fait le en Visual Basic .Net 2.0 ou C# 2.0 (c'est pareil) C'est vraiment très facile.
Sans rentrer dans les détails pour l'instant, VB .Net 2.0 ou C# 2.0 c'est prévu pour, et VB 6 pas du tout :)

Vince (ou Dieu ...

Re,

Pour répondre à tes questions ( et par la suite en poser plus ), la "jolie carte pour programmer la puce" est une carte électronique que le lycée nous a fourni et sur laquel on peut brancher et le cable de l'ordinateur et la puce.

Autre, je veux tout à fait bien programmer la chose en vb net 2.0 mais voila je ni connais rien, alors

- Est-ce que c'est comme le vb 6 ( à peu de chose près)
- Est-ce que je peux programmer via un pc portable avec 125 Mo de ram ?

Voila le projet final (compliqué certe, pas du niveau de seconde certe mais bon ) :

Sur un circuit, on pose 4 électro aimants et 4 capteurs et une bille,

via la puce :
on calcul où est la bille (d'ou l'interet des capteurs)

on change la polarité des électro par vagues (c'est pour que la bille ne se retourne pas ) de différentes fréquences

Si la bille se rapproche d'un des électros aimants : on augmente la puissance de celui ci pour la repousser et on diminue la puissance de celui d'en face.
Quand la bille est revenue au milieu, on reprend les paramètres initiaux.

Voila le problème ...

fredericmazue

Quote:

- Est-ce que c'est comme le vb 6 ( à peu de chose près)

Les syntaxes se ressemblent car Microsoft l'a voulu ainsi opour que les gens migrent volontiers de VB 6 à VB .Net, mais ils sont quand même assez différents (heureusement)

VB .Net est un langage bien meilleur beaucoup plus sain et propre sur lui. et *plus facile* :)
Moi tant qu'à faire je lui préfère C# qui est moins verbeux. Fondamentalement ce sont les mêmes langages, plate-forme .Net sous-jacente oblige, mais la syntaxe de C# est pour moins lourde et plus claire je trouve.

Quote:
- Est-ce que je peux programmer via un pc portable avec 125 Mo de ram ?

Franchement je n'en sais rien. Ca me parait un petit peu juste, mais ça me parait tout aussi juste pour VB 6 de toutes façons.

Faut essayer. Télécharge un VB Express ou un C# express (c'est gratuit)
http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx
http://www.microsoft.com/france/msdn/vstudio/express/vbasic/telechargez.mspx

Si tu es lecteur de Programmez! tu vas trouver un exemple de programmation du port série dans le numéro 89. Article sur les entrées/sorties asynchrones en .Net. Sinon on va essayer de t'aider (ce qui ne t'empêche pas de t'abonner pour l'avenir ;) )

Quote:
Voila le problème ...

Cool, j'aime bien :)
Vince (ou Dieu ...

Donc,

pour récapituler :
je vais sans doute m'abonner à Programmez
J'ai essayer vb express et C# sur mon petit pc et sa ne marche pas

Alors est-ce que tu pourrai m'aider à palier ce manque en prog de port série en vb6 stp :)

Merci

fredericmazue

Quote:

je vais sans doute m'abonner à Programmez

Pourquoi sans doute ?
Sois positif, affirmatif, décidé, entreprenant!
Abonne toi ! :)

Quote:
J'ai essayer vb express et C# sur mon petit pc et sa ne marche pas

Doucement doucement
Pourquoi ça ne marche pas ? Es tu sûr que ça ne peut pas marcher ? Vraiment ce serait dommage. C'est tellement facile le port série avec.

Quote:
Alors est-ce que tu pourrai m'aider à palier ce manque en prog de port série en vb6 stp

T'aider volontiers. Mais en VB 6 par pitié. D'abord j'ai désinstallé VB 6 de toute mes bécanes ensuite il ne supporte pas bien la programmation multithread, enfin je ne l'aime pas. A ce niveau ça n'est plus de l'aide, ça devient de l'abnégation pure, même du karma yoga. Tu ne peux pas choisir autre chose que VB 6, langage que même Microsoft considère obsolète maintenant ?

Pitié... :( :cry:

Vince (ou Dieu ...

Re,

Pour mon petit ordi, le vb et c# ne marches pas car j'ai Win 98 et ils veulent 2000.

Ensuite je suis désolé mais je dois programmer avec mon petit ordi, je ferai mon possible pour mettre 2000 dessus mais je ne peux pas être sur que mon ordi veuille bien tourner avec (125 mo de Ram)

Merci quand meme

fredericmazue

Quote:
Pour mon petit ordi, le vb et c# ne marches pas car j'ai Win 98 et ils veulent 2000.

Ah... je n'avais pas pensé que c'était à ce point :(

Windows 98 n'est pas un système d'exploitation. Le 2000 c'est quand même nettement plus sérieux. Et Microsoft qui pousse à la consommation ne veut pas faire tourner sa plate-forme .Net (sous jacente à Vb et VC# .Net) sur les 9x. Et aussi parce que les 9x, ben c'est pas des systèmes d'exploitation, juste des tas de boue.

Quote:
Ensuite je suis désolé mais je dois programmer avec mon petit ordi, je ferai mon possible pour mettre 2000 dessus mais je ne peux pas être sur que mon ordi veuille bien tourner avec (125 mo de Ram)

Je te déconseille vivement de tenter l'aventure. Si ton hardware est vieux, il n'est pas garanti que le 2000 (et encore moins un XP surtout SP 2 attention!!) s'y installe et y tourne correctement. Tu risques même de rencontrer des problèmes à faire dresser les cheveurx sur la tête de Yul Brunner.
Bref reste comme ça.
Mais si ça te dit de faire du C, du C++, du Delphi, je pourrais essayer de t'aider.
En VB 6 aussi, mais très ponctuellement, car mon VB 6 est très loin et tu sais ce que j'en pense, *surtout* pour faire cette appli.

Tu dois la faire de zéro cette appli, ou tes profs te donne une base de départ ?

Vince (ou Dieu ...

Ben les profs nous ont passé un logiciel et après on se débrouille

Sinon ben c vraiment que en vb6 en fait mais aparement on clique sur la broche de la puce et on dit ce que sa doit faire (vachement simplifié).

fredericmazue

Quote:
Ben les profs nous ont passé un logiciel et après on se débrouille

Ah ok.

Quote:
aparement on clique sur la broche de la puce et on dit ce que sa doit faire

Tu ouvres le boitier du périphérique ee tu vas directement cliquer sur les broches de la puce :?:
:twisted: :lol: :lol:

(Je plaisante)

Bon si jamais l'envie te prends de faire de la "vraie" programmation du port série, reviens nous voir.
Et si l'envie ne te prend pas, et bien reviens nous voir quand même :)