Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PIC16F UART RS232 pb

44 views
Skip to first unread message

PJ

unread,
Aug 22, 2003, 11:02:58 AM8/22/03
to
Bonjour,

je programme un PIC16F74 qui envoie des données vers le port série du PC.
J'ai réalisé un circuit avec un Max232 et j'utilise un quartz à 20Mhz.
mon pb est le suivant : Je n'arrive pas à synchroniser la reception sur le
PC.
J'ai configurer le PIC pour qu'il emette à 9600bauds mais en réalité j'ai
l'impression qu'il envoie à une vitesse bien inférieure.
J'ai réussi à lire des données sur le PC qd je configure la réception à 300
bauds alors que le PIC emets à 9600.
mais, le caractère réceptionné par le PC est différent de celui qui est emis
par le PIC
Qqun a-t-il une idée ?

PS:ci-dessous l'init de l'UART et le pgm
PS2:j'utilise LookRS232 pour lire les données

Merci

Pascal

*********************************************
* initialisation
*********************************************
init
Bank1 ;Setup serial port.
movlw 0x80 ;port RC6 en sortie (TX) et RC7 en entrée (RX)
movwf TRISC
movlw 0x19 ;vitesse de 9600 bauds à 4Mhz
movwf SPBRG
movlw 0x24 ;brgh = 1 et async
movwf TXSTA
movlw 0x00
movwf PIE1 ;pas d'interruption
Bank0
movlw 0x90 ;Port serie enable
movwf RCSTA


************************************************
* programme principal
************************************************
test
Bank0 ;select bank 0
movlw 3 ;charge envoi dans w
btfss PIR1,TXIF ;check if transmitter busy
goto $-1 ;wait until transmitter is not busy
movwf TXREG ;envoie les donnees dans l'usart et ordonne le debut de la
transmission...
goto test


ATEXA électronique

unread,
Aug 22, 2003, 11:20:56 AM8/22/03
to
Bonjour,

si tu utilises un quartz de 20MHz, SPBRG doit être
égal à 32 (brgh = 0) ou à 129 (brgh = 1).
Dans ton programme, il est égal à 25 (et brgh = 1).

@+
Alexandre
www.atexa-electronique.com


"PJ" <pascal...@free.fr> a écrit dans le message de
news:bi5bsd$ljd$1...@news.u-bordeaux.fr...

PJ

unread,
Aug 22, 2003, 11:24:42 AM8/22/03
to
effectivement...
erreur de ma part car entre le moment où j'ai posté le message et où j'ai
copier le source, j'ai changé de quartz pour voir si avec un 4Mhz ça
marchait.
J'avais déjà fait le test avec les bonnes valeurs mais ça n'a rien donné....
j'ai d'ailleurs essayé ttes les valeurs de SPBRG et BRGH à 20Mhz !

Pascal

"ATEXA électronique" <his...@wanadoo.fr> a écrit dans le message de news:
bi5c8k$dgb$1...@news-reader5.wanadoo.fr...

Bob23

unread,
Aug 23, 2003, 9:19:09 AM8/23/03
to
Es-tu sur que ton PIC ne part pas en Reset (par exemple, suite à un watchdog
mal utilisé) ?
C'est un probleme que j'ai rencontré, en pensant que la liaison série
marchait mal.

Pas d'oscillo pour mesurer ?


"PJ" <pascal...@free.fr> a écrit dans le message de news:
bi5bsd$ljd$1...@news.u-bordeaux.fr...

PJ

unread,
Aug 23, 2003, 9:58:03 AM8/23/03
to
Je ne pense pas qu'il soit en reset et je n'utilise pas de watchdog.
J'ai bien un oscillo, j'ai pu visualiser les signaux de sortie sur TX. Ca a
l'air correct à part le baudrate que je n'ai pas pu mesurer (mon oscillo est
vieu et capricieux surtout pour regler la base de temps). Par contre si
j'emule un signal d'horloge sur une patte (10101010... en boucle), je ne
vois rien à l'oscillo. Je pense que mon pb vient du quartz et que le PIC a
du mal à démarrer.


"Bob23" <nature.elec[NS]@free.fr> a écrit dans le message de news:
3f4768dc$0$16170$626a...@news.free.fr...

Bob23

unread,
Aug 24, 2003, 4:05:00 AM8/24/03
to

"PJ" <pascal...@free.fr> a écrit dans le message de news:
bi7ser$ht3$1...@news.u-bordeaux.fr...

> Je ne pense pas qu'il soit en reset et je n'utilise pas de watchdog.

Le mot "Config" est-il bien programmé ? Watchdog Disable, Bon choix de
Oscillateur ?

> J'ai bien un oscillo, j'ai pu visualiser les signaux de sortie sur TX. Ca
a
> l'air correct à part le baudrate que je n'ai pas pu mesurer (mon oscillo
est
> vieu et capricieux surtout pour regler la base de temps). Par contre si
> j'emule un signal d'horloge sur une patte (10101010... en boucle), je ne
> vois rien à l'oscillo. Je pense que mon pb vient du quartz et que le PIC a
> du mal à démarrer.

Sans doute, rien à voir avec la laison série.


> > > movlw 0x19 ;vitesse de 9600 bauds à 4Mhz
> > > movwf SPBRG
> > > movlw 0x24 ;brgh = 1 et async

Encore de l'assembleur ?!!
le C est tellement plus lisible.
Ne vous embetez plus avec l'assembleur, le Compilateur PICC avec MPLAB est
bien plus sympa.
Demandez moi les versions à utiliser.

A+
RL


Yves Paradis

unread,
Aug 24, 2003, 1:26:08 PM8/24/03
to
Bonjour,

Puisque vous le proposez si gentiment, pourriez-vous nous dire ou trouver
PICC ainsi que des documents/exemples d'utilisation.

Merci.
A+
Yves

Bob23

unread,
Aug 24, 2003, 5:42:31 PM8/24/03
to
Bonjour,

> Puisque vous le proposez si gentiment, pourriez-vous nous dire ou trouver
> PICC ainsi que des documents/exemples d'utilisation.

Voici le compilateur C que j'utilise "piccv8.01PL3" de hitech software, mais
j'ai l'impression que http://www.hitech.com.au ne rends plus accessible
cette version (mais en me demandant aussi poliment, je vous rendrai
disponible cette version).

J'utilise Mplab 6.10 (mais vous devez deja connaitre)
http://www.microchip.com/1010/pline/tools/picmicro/devenv/mplabi/
et si vous avez Win2000, une petite correction sur
http://www.hitech.com.au/software/updates/mplab/mplab6/update.htm est
neccessaire

A+
RL


0 new messages