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
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...
Pascal
"ATEXA électronique" <his...@wanadoo.fr> a écrit dans le message de news:
bi5c8k$dgb$1...@news-reader5.wanadoo.fr...
Pas d'oscillo pour mesurer ?
"PJ" <pascal...@free.fr> a écrit dans le message de news:
bi5bsd$ljd$1...@news.u-bordeaux.fr...
"Bob23" <nature.elec[NS]@free.fr> a écrit dans le message de news:
3f4768dc$0$16170$626a...@news.free.fr...
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
Puisque vous le proposez si gentiment, pourriez-vous nous dire ou trouver
PICC ainsi que des documents/exemples d'utilisation.
Merci.
A+
Yves
> 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