Question

Je travaille sur un projet qui utilise un mcu de PIC24FJ64GA002. Je travaille sur une fonction de communication série cogné bits qui utilisera un fil pour envoyer des données, puis passer en mode de réception pour recevoir des données sur la même broche. Un axe séparé sera utilisé pour cadencer qui sera toujours commandé par un bord différent (toujours une entrée). Je me demande est-il possible de configurer la broche pour un fonctionnement à collecteur ouvert qu'il peut être utilisé comme une entrée et et de sortie ou dois-je changer la configuration des broches à chaque fois que je vais à la lecture à l'écriture?

Était-ce utile?

La solution

Vous devez changer la direction de la broche à chaque fois en utilisant le registre TRIS. Si la broche est configuré comme une sortie, la lecture du registre PORT sera très probablement seulement vous dire à quel niveau vous conduisez à la broche (en supposant qu'il existe une impédance élevée sur la broche). Si la broche est réglée pour l'entrée, vous ne serez pas en mesure de conduire votre valeur de sortie désirée. Aussi, assurez-vous que vous lisez les données entrantes en utilisant le registre PORT, mais les données de sortie en utilisant le registre LAT. Cela garantit que vous ne souffrent pas de problèmes si votre code (je suppose que vous programmez en C ici) est converti en instructions BSET / bclr / btgl qui sont en lecture-écriture Modifier. Si vous écrivez en assembleur, la règle applicable, mais vous savez quand vous utilisez ces instructions de type R-M-W. Si vous voulez plus d'un raisonnement à ce sujet, s'il vous plaît demander.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top