Page 1 of 1

Problème interruption Rx avec Pic18F4550

Posted: Mon Jan 13, 2020 4:33 pm
by oliviermalherbe
Bonjour,
Je travaille sur un programme ou j'ai besoin de recevoir un caractère suite à une interruption par l'uart d'un 18F4550.
J'utilise flowcode 4.5 et je transfert et teste mes programmes avec une carte HP488.
J'ai testé mon programme avec un 16F877A et cela marche parfaitement.
Mais, comme j'envisage d'avoir besoin de plus de mémoire programme j'ai décidé de passer sur un 18F4550 que je possédais déjà.
J'ai utilisé le même programme que pour le 16F877A en adaptant les réglages pour le 18F4550, tout fonctionne correctement sauf l'interruption sur RX qui ne se fait pas.
J'ai pas mal cherché mais n'arrive pas résoudre le problème.
Je fourni mon programme en pièce jointe.
Quelqu'un pourrait-il m'aider ?
Je vous remercie par avance pour vos réponses.
OM.
Flowcode1.fcf
(8.5 KiB) Downloaded 306 times

Re: Problème interruption Rx avec Pic18F4550

Posted: Fri Jan 17, 2020 1:44 pm
by Benj
Hello,

It's probably a case of not configuring the chip correctly. I would start with a 1 second flasher test to get things right and go from there.
https://www.matrixtsl.com/wiki/index.ph ... ED_flasher

We have had lots of forum posts with config settings for the 18F4455 and 4550 devices so this is a good starting point.

Re: Problème interruption Rx avec Pic18F4550

Posted: Fri Jan 17, 2020 3:28 pm
by oliviermalherbe
Bonjour Benj,

Tout d'abord, merci votre réponse.
Le lien que vous me donnez correspond à un PIC16870 et pas à un PIC18F4550.
J'ai déjà fait fonctionner des programmes sur le PIC18F4550 (LED, LCD, UART, carte SD etc...) et ils ont tous bien fonctionné.
Le problème vient uniquement de l'interruption sur l'uart (RXINT).
Quand j'envoie une trame sur l'uart, le PIC ne réagit pas et l'interruption ne se fait pas.
J'ai mis mon fichier .fcf en pièce jointe avec la configuration que j'ai utilisé pour le 18F4550.


Cordialement,
Olivier.

Re: Problème interruption Rx avec Pic18F4550

Posted: Fri Jan 17, 2020 3:53 pm
by Benj
Bonjour Olivier,

Aha ok merci, cela ressemble alors à votre configuration correctement. Je vais installer v4.5 sur ma machine et je vais vous chercher rapidement.



Hello Olivier,

Aha ok thanks it sounds like your setup correctly then. I'll get v4.5 installed n my machine and have a quick look for you.

Re: Problème interruption Rx avec Pic18F4550

Posted: Fri Jan 17, 2020 4:04 pm
by Benj
Veuillez essayer d'ajouter cette ligne de code à l'aide d'une icône C après l'icône d'activation d'interruption RXINT. Espérons que cela résoudra le problème.

Code: Select all

st_bit(pie1, RCIE);

Please can you try adding this line of code using a C icon after the RXINT interrupt enable icon. Hopefully this will solve the problem.

Code: Select all

st_bit(pie1, RCIE);

Re: Problème interruption Rx avec Pic18F4550

Posted: Tue Jan 21, 2020 9:39 pm
by oliviermalherbe
Bonjour Ben,
J'ai bien effectué la modification avec un bloc de code C, mais cela ne fonctionne toujours pas.
Avez-vous pu tester quelque chose qui fonctionne ?

Cordialement,
Olivier.

Re: Problème interruption Rx avec Pic18F4550

Posted: Tue Feb 04, 2020 11:26 am
by oliviermalherbe
Bonjour Benj,
J'avais un programme pour réceptionner des données venant d'un module GPS avec un pic16F877A et cela fonctionne très bien.
J'ai essayé de l'adapter pour le faire fonctionner avec le pic18F4550 et cela ne fonctionne pas non plus.
Il y a vraiment un problème avec le paramétrage de l'uart et plus particulièrement l'interruption.
J'avais bien essayé votre modification avec st_bit(pie1, RCIE); dans un bloc de code C mais cela n'a rien changé.

En conclusion je suis toujours bloqué malgré de nombreux essais.
Auriez-vous d'autres pistes ?

Merci,
Cordialement,
Olivier.

Re: Problème interruption Rx avec Pic18F4550

Posted: Thu Feb 13, 2020 1:55 pm
by Dan81
bonjour Olivier

Teste l'algo joint, il fonctionne sous Proteus (je n'ai pas le 18F4550) .

Il ne faut pas que le sous prog d’interruption ne dure trop longtemps :
pause (delay) et affichage à éviter.

bon courage

Daniel

Re: Problème interruption Rx avec Pic18F4550

Posted: Mon Mar 16, 2020 12:38 pm
by oliviermalherbe
Bonjour Dan,
J'ai testé en rajoutant le code C que vous m'avez envoyé dans mon programme et cela fonctionne à présent.
Je vous remercie pour votre aide mais également Benj.
J'ai un autre souci sur lequel vous pourriez peut-être m'aider :
J'essaye d'utiliser le composant GPS avec ses routines, le tout avec un PIC18F4550, mais je n'arrive à récupérer aucune coordonnée GPS.
Je l'ai testé avant avec un PIC16f877A et cela fonctionne bien.
Je vous adresse une pièce jointe avec une copie de mon programme sous Flowcode 4.
En vous remerciant par avance.
Olivier.

Re: Problème interruption Rx avec Pic18F4550

Posted: Mon Mar 16, 2020 3:42 pm
by Dan81
Bonjour Olivier
Ton programme fonctionne sous Proteus. (ce n'est que de la simu !)

Dans la configuration du Pic, le chien de garde est validé. Mais je vois rien qui le gère dans le programme.
Eventuellement, fais clignoter une led en utilisant une des tempos presentes et verifie la durée à l'oscilloscope.

Questions :
le quartz est bien de 19.66MHz ?
le gps donne t il une trame (oscillo ou mieux detrameur RS232) avec le bon debit ?
Le LCD fonctionne (affiche "attente")?

Désolé de ne pouvoir t'aider pour l'instant

Daniel

Re: Problème interruption Rx avec Pic18F4550

Posted: Tue Mar 17, 2020 11:54 am
by oliviermalherbe
Bonjour Dan et merci de ta réponse,
La fréquence du quartz est bien de 19.66Mhz et le débit du module GPS est correct également puisque je l'ai déjà fait fonctionner avec les paramètres pour un PIC16F877A et à 9600bps tout fonctionne correctement.
Pour le LCD, il fonctionne bien également, j'ai juste mis "attente" en attente de l'affichage des coordonnées GPS.
Je pense plutôt à un problème entre la routine du composant GPS de Flowcode et le PIC18F4550.

Je vous tiendrai au courant si j'ai du nouveau.
Olivier.

Re: Problème interruption Rx avec Pic18F4550

Posted: Tue Mar 17, 2020 1:18 pm
by Dan81
Bonjour Olivier

juste avant la boucle sans fin (while 1)
mets un icone "C" avec st_bit(intcon, PEIE); à l'interieur
comme dans l'Inits de mon premier exemple .


Daniel

Re: Problème interruption Rx avec Pic18F4550

Posted: Tue Mar 24, 2020 12:39 pm
by oliviermalherbe
Bonjour Daniel,
J'espère que vous allez bien par ces temps difficiles.
J'ai ajouté le code C dans mon programme comme vous me l'avez conseillé.
Je l'ai transféré dans le PIC18F4550, mais cela ne fonctionne toujours pas.
Je vous joint une copie de mon programme pour montrer ma modification.
Peut-être aurez-vous une autre piste ?

Je vous remercie encore une fois pour votre aide.
Olivier.
GPS.fcf
(9 KiB) Downloaded 220 times