Que diriez-vous en utilisant deux RS-232 dans le PIC

S

swapgo

Guest
Salut tous,

Je pense qu'il est possible d'utiliser 2 UARTS de PIC.

J'utilise pic18f8722.J'utilise CCSC compilateur PCWH.

Quelqu'un at-il essayé cela avant?

Quel est le maximum baudrate soutenu par le PIC?Je veux essayer 19200.

En fait, mon projet comporte 3 UART.

Toute aide est appréciée.

Merci et salutations
Gopi

 
Salut,

Si simultanée en duplex intégral n'est pas nécessaire, alors vous pouvez simplement utiliser des portes ET à lire du plus grand nombre (théorique) USART d'un seul.Poignée de main et d'interrompre en fonction lit fait le travail.

Cordialement

Sougata

 
Swapgo Salut,
Oui, vous pouvez le faire en utilisant les cours d'eau.Par exemple:
# Utiliser rs232 (baud = 9600, = xmit pin_c6, AN = pin_c7, écouter = HOSTPC)
Ensuite, lorsque vous utilisez le flux:
fputc (c, HOSTPC);

La méthode est dans le fichier d'aide du CSC.
Voici une coupure:
Code:Le # utiliser RS232 (et I2C pour cette matière) est en vigueur pour GETC, putc, printf et fonctions kbhit rencontrées jusqu'à ce qu'une autre # utiliser RS232 se trouve.
Le # utiliser RS232 n'est pas une ligne exécutable. Il fonctionne comme un # define.
Ce qui suit est un exemple de programme pour lire d'un port RS-232 (A) et l'écho des données à la fois le premier port RS-232 (A) et un port seconde RS-232 (B).
# Utiliser RS232 (BAUD = 9600, = XMIT PIN_B0, AN = PIN_B1)put_to_a vide (char c) (put (c);)get_from_a char () (retour (getc ());)# Utiliser RS232 (BAUD = 9600, = XMIT PIN_B2, AN = PIN_B3)put_to_b vide (char b) (putc (c);)main () (char c;put_to_a ("en ligne \ r \ n");put_to_b ("en ligne \ r \ n");while (true) (c = get_from_a ();put_to_b (c);put_to_a (c);))
Les éléments suivants seront faire la même chose, mais est plus lisible et est la méthode recommandée:
# Utiliser RS232 (BAUD = 9600, = XMIT PIN_B0, AN = PIN_B1, STREAM = COM_A)# Utiliser RS232 (BAUD = 9600, = XMIT PIN_B2, AN = PIN_B3, STREAM = COM_B)
main () (char c;fprintf (COM_A, "en ligne \ r \ n");fprintf (COM_B, "en ligne \ r \ n");while (true) (c = fgetc (COM_A);fputc (c, COM_A);fputc (c, COM_B);))
 
Robert Merci,

Will 20Mhz être capable de générer un taux de 19200 bauds, sans erreurs. (Je veux dire avec moins d'erreur).

Je dois utiliser 4800,9600 et 19200 dans le même IC PIC.Voulez-vous recommander un IC PIC?

L'exigence Flash sera d'environ 6K.

Merci beaucoup

Cordialement
Gopi

 
Salut Gopi,
Eh bien, vous avez dit que vous eu un 18F8722, qui a beaucoup de fonctionnalités.Vous obtiendrez un sort, de la feuille de données, en particulier sur les deux EUSARTs qui a cette bête.Je pense qu'il a de détection automatique la vitesse de transmission ainsi.Je ne pensais pas à ce sujet lors de ma première réponse.J'aimerais utiliser une pour le port rapide, et un autre pour le 9600.Ensuite, utilisez un port de logiciels pour le ralentir.Ce pic devrait me débrouille bien, à 20 MHz.Qu'est-ce que vous faites, de toute façon?
Par l'exigence de Flash, vouliez-vous dire de mémoire de programme?
Vous avez un 128k intégral (octets) de mémoire programme.Vous avez également presque 4K de RAM, alors vous devriez être capable de monter un vaste programme sur ce bébé.
Comme pour l'oscillateur, vous avez la phase haute vitesse verrouillé option oscillateur de boucle, même si l'utilisation de ce peut être délicat.(J'ai l'habitude de l'éviter pour l'instant.) Cela signifie que si vous souhaitez utiliser un cristal MHz 10, vous pouvez multiplier par 4x pour avoir une horloge MHz 40.Dix millions d'instructions par seconde.WoW!Cette haute fréquence peuvent avoir beaucoup de problèmes sur un circuit, même si, et moi-même, généralement ne dépassent pas 20, pour le moment.C'est ce que je vous recommande pour vous aussi.Toutefois, je vous exhorte à aller chercher la fiche de données sur ce bébé, et en profiter.Vous avez beaucoup de pouvoir là-bas, peut ainsi l'utiliser.
Gopi, savez-vous de l'CCSforum?Il ya quelques très intelligente et utile gens là-bas.J'ai l'habitude de vous lire, sur ce bord.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />Faites-moi savoir ce que vous décidez.
Cordialement,
Robert

 
Robert Salut,

Merci!

Je vais visiter le forum CCSC que u suggéré!.

Le flash j'ai parlé, c'est la mémoire du programme!

J'ai l'intention d'aller pour le Bas-version du PIC CI (16 séries) en raison du coût.

Mais pour le développement, je commencer à développer avec une version plus récente et peu à peu le porter bas!

Merci encore pour votre réponse

Cordialement
Gopi

 

Welcome to EDABoard.com

Sponsor

Back
Top