Page 1 sur 1

organisation d'un programme

Publié : 10 avr. 2006 14:43
par Invité
bonjour,

Je tente actuellement de faire un programme sur base d'un MC9S12 de freescale.
Le but de ma manip est d'utiliser une carte mémoire.

j'ai créé les routines d'écriture et de lecture de la carte mémoire et elle fonctionnent.

Je souhaite utiliser la liaison série du micro (en y connectant un FTDI 232BM pour l'adaptation USB), j'utilise des routines fournis par Freescale et compatible avec les fonctions printf() et scanf(), cela fonctionne bien.

Donc en fait j'ai réussi à dévelloper les fonctions séparément, maintenant je souhaite commander la mise en marche (et l'arrêt) de la lecture de la carte mémoire par la liaison série mais je ne voit pas bien comment procéder

Car si je fait scanf() le micro va attendre jusqu'a ce que une information soit reçut, donc le micro n'effectuera plus la tâche de lecture de carte mémoire.

j'ai pensé à utiliser les interruptions, mais je ne vois pas trop comment.

Est-ce que quelqu'un à une idée sur l'architecture à mettre en place, pour pouvoir gérer deux tâche en même temps: - l'une s'occupe de la liaison série et l'autre de la lecture de la carte mémoire.


MERCI de vos avis!!!

Publié : 10 avr. 2006 16:19
par JP
Salut,
j'ai pensé à utiliser les interruptions, mais je ne vois pas trop comment.
Je pense à la même chose une interruption du µC qui se déclanche sur un changement d'état d'une ligne d’interruption de la liaison RS232 comme RTS (Request To Send).

Ce qui donne :
PC : RTS = 1 // le PC prévient qu'il veut envoyer des données.
µC : CTS = 1 // l'interruption se déclanche CTS=1 (Clear To Send) donc exécution de scanf.
PC : TX = données et RTS = 0 // le PC envoie les données
µC : RX = données et CTS =0 // le µC récupère les données avec le scanf et sort de l'interruption.

a+
JP

Publié : 10 avr. 2006 16:40
par Invité
Merci

Je n'y avez pas pensé.
je vais regarder dans cette voie.