Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
PIC16F84A + XC8 = écrire sur le port série
Bonsoir
Pour le pic à 4MHz, essayer les modes XT et HS, sur un 16F877 l'un démarrait et pas l'autre.
Difficile de faire un uart sofware en C car on ne maîtrise pas les timings.
Un exemple de debug 16F84 4MHz sur uart 14400 bauds, j'avais fait ça pour l'horloge 16F84.
Pour le pic à 4MHz, essayer les modes XT et HS, sur un 16F877 l'un démarrait et pas l'autre.
Difficile de faire un uart sofware en C car on ne maîtrise pas les timings.
Un exemple de debug 16F84 4MHz sur uart 14400 bauds, j'avais fait ça pour l'horloge 16F84.
Code : Tout sélectionner
#define PIN_DBG_UART PORTA,4 ; debug serial
bsf PIN_DBG_UART ; debug tx high
bsf STATUS,RP0 ; bank 1
bcf PIN_DBG_UART ; debug tx output
bcf STATUS,RP0 ; bank 0
;-----------------------------------------------------------------------------
; debug
;-----------------------------------------------------------------------------
; envoi uart debug W, 14400 bauds avec (Fosc=4MHz)
;
DbgW bcf PIN_DBG_UART ; ! ! start bit
movwf dbg_byte ; 1 1
clrf dbg_looph ; 1 1
bsf dbg_looph,3 ; 1 1
call r85 ; T T
nop ; 1 1
nop ; 1 1
r81 rrf dbg_byte,F ; 1 1 1 1 1 1
btfss STATUS,C ; 1 2 1 2 1 2
goto r82 ; 2 2 2
goto r83 ; 2 2 2
r82 nop ; 1 1 1
bcf PIN_DBG_UART ; ! !
goto r84 ; 2 2
r83 bsf PIN_DBG_UART ; ! !
goto r84 ; 2 2
r84 call r85 ; T T T T
decfsz dbg_looph,F ; 1 1 1 1
goto r81 ; 2 2 2 2
bsf PIN_DBG_UART ; ! stop bit
call r85
r85 movlw 17 ; T = 2+2+51+2
movwf dbg_loopl
nop ; 11+57+1 -> 69us
r86 decfsz dbg_loopl,F
goto r86
return
DbgWH movwf dbg_hexa ; envoi uart debug W en hexa
swapf dbg_hexa,W
andlw 0x0f
addlw 6
btfsc STATUS,DC
addlw 7 ; +32 pour minuscules
addlw 42
call DbgW
movf dbg_hexa,W
andlw 0x0f
addlw 6
btfsc STATUS,DC
addlw 7 ; +32 pour minuscules
addlw 42
call DbgW
return
PIC16F84A + XC8 = écrire sur le port série
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour satinas
Bizarre ! le C du status est bien reconnu ici !
Mon test 16F84 marche avec un filtre céramique 4MHZ au lieu d'un quartz, config en mode XT
Effectivement le Software UART ne fait pas bon ménage si on utilise par ailleurs les interruptions ,
,sinon les timings sont respectés.
Question:
La programmation de mon PIC prend plusieurs minutes !
ICPROG utilise Windows API au lieu de Direct I/O ..vu que Windows n'autorise plus les acces direct I/O
est-ce suffisant pour expliquer ce delai hors normes ?
je n'ai plus de PC Win98 pour recomparer le delai avec option Direct I/O
satinas a écrit :Bonsoir
Pour le pic à 4MHz, essayer les modes XT et HS, sur un 16F877 l'un démarrait et pas l'autre.
Difficile de faire un uart sofware en C car on ne maîtrise pas les timings.
Un exemple de debug 16F84 4MHz sur uart 14400 bauds, j'avais fait ça pour l'horloge 16F84.
[code]
...
btfss STATUS,C ; 1 2 1 2 1 2
....
/code]
Bizarre ! le C du status est bien reconnu ici !
Mon test 16F84 marche avec un filtre céramique 4MHZ au lieu d'un quartz, config en mode XT
Effectivement le Software UART ne fait pas bon ménage si on utilise par ailleurs les interruptions ,
,sinon les timings sont respectés.
Question:
La programmation de mon PIC prend plusieurs minutes !
ICPROG utilise Windows API au lieu de Direct I/O ..vu que Windows n'autorise plus les acces direct I/O
est-ce suffisant pour expliquer ce delai hors normes ?
je n'ai plus de PC Win98 pour recomparer le delai avec option Direct I/O
PIC16F84A + XC8 = écrire sur le port série
Bonjour Paul
Pourquoi tu ne programmes pas le 16F84 avec un PicKit3 ?
La routine ci-dessus peut aller beaucoup plus vite en diminuant la tempo r85. Le simulateur permet de vérifier les timings en affichant le nombre de cycles consommés, je pense jamais à l'utiliser.
Pour ta question, non bien sûr les API sont aussi très rapides, il y a sans doute une différence mais peu significative. sI Le PC envoie 2ko en 1 minute cela fait du 300 bauds :) Sur le PicKit3 cela prend quelques secondes, mais souvent ça passe bas, message d"erreur, à en devenir fadoli.
Pourquoi tu ne programmes pas le 16F84 avec un PicKit3 ?
La routine ci-dessus peut aller beaucoup plus vite en diminuant la tempo r85. Le simulateur permet de vérifier les timings en affichant le nombre de cycles consommés, je pense jamais à l'utiliser.
Pour ta question, non bien sûr les API sont aussi très rapides, il y a sans doute une différence mais peu significative. sI Le PC envoie 2ko en 1 minute cela fait du 300 bauds :) Sur le PicKit3 cela prend quelques secondes, mais souvent ça passe bas, message d"erreur, à en devenir fadoli.
PIC16F84A + XC8 = écrire sur le port série
PIC16F84A + XC8 = écrire sur le port série
PIC16F84A + XC8 = écrire sur le port série
Bonjour a tous,
A propos du 16F84 et 16F84A il y a eut une discussion avec maître Bigonoff, c’est vrai que cette codification fait débat
En réalité, je ne sais ce qu'il en est ?
Bonne journée
paulfjujo a écrit :Par contre; il y le 16F84A !
A propos du 16F84 et 16F84A il y a eut une discussion avec maître Bigonoff, c’est vrai que cette codification fait débat
En réalité, je ne sais ce qu'il en est ?
Bonne journée
PIC16F84A + XC8 = écrire sur le port série
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
suite à la remarque de Satinas, essais suivants réalisés :
avec Hardware :
PIC1684 (tout seul sur breaboard)
uniquement les connections ICSP RB6,RB7 + MCLR ,Vcc et Gnd relié au Pickit3 (ou 4)
essai avec Pickit3 stand alone
ne connait pas 16F84 , seulement le 16F84A
essai avec MPLABX IPE 6.00 .. reconnait Pickit3
propose bien le 16F84
click sur CONNECT => Connection Failed.
mais impossible de connecter ... (meme avec alim externe!)
Test avec MPLABX IPE 6.00 . et Pickit4
Connecting to MPLAB PICkit 4
POWER : Pickit4 alimente le PIC1684 (tout seul sur breaboard)
uniquement les connections ICSP + MCLR ,Vcc et Gnd (100nF entre +Vcc et Gnd)
Currently loaded versions:
Application version...........00.07.28
Boot version..................01.00.00
Script version................00.04.97
Script build number...........76c444c118
Tool pack version ............1.12.1384
PICkit 4 is supplying power to the target (5,00 volts).
Loading code from C:\MPLABX_Projects\16F84_Tests.X\dist\default\production\16F84_Tests.X.production.hex...
2022-12-17 14:29:33 +0100 - Hex file loaded successfully.
2022-12-17 14:30:44 +0100 - Programming...
*****************************************************
Reception on endpoint 129 failed (err = -10031)
A communication error with the debug tool has occurred.
The tool will attempt to recover momentarily.
Connection Failed.
Reception on endpoint 129 failed (err = -10121)
====================
recommence avec cette fois, alim externe 5V
Connecting to MPLAB PICkit 4
Currently loaded versions:
Application version...........00.07.28
Boot version..................01.00.00
Script version................00.04.97
Script build number...........76c444c118
Tool pack version ............1.12.1384
Target voltage detected
2022-12-17 14:56:20 +0100 - Programming...
*****************************************************
Erasing...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x3ff
configuration memory
EEData memory
User Id Memory
Programming/Verify complete
2022-12-17 14:56:44 +0100 - Programming complete
programmation en 20 sec! au lieu de plusieurs minutes avec ICProgr!!!
..ouf !
..OK
j'en ai profité pour rajouter un quartz de 8Mhz, recompiler ,recharger ..OK 9600 bds
avec Hardware :
PIC1684 (tout seul sur breaboard)
uniquement les connections ICSP RB6,RB7 + MCLR ,Vcc et Gnd relié au Pickit3 (ou 4)
essai avec Pickit3 stand alone
ne connait pas 16F84 , seulement le 16F84A
essai avec MPLABX IPE 6.00 .. reconnait Pickit3
propose bien le 16F84
click sur CONNECT => Connection Failed.
mais impossible de connecter ... (meme avec alim externe!)
Test avec MPLABX IPE 6.00 . et Pickit4
Connecting to MPLAB PICkit 4
POWER : Pickit4 alimente le PIC1684 (tout seul sur breaboard)
uniquement les connections ICSP + MCLR ,Vcc et Gnd (100nF entre +Vcc et Gnd)
Currently loaded versions:
Application version...........00.07.28
Boot version..................01.00.00
Script version................00.04.97
Script build number...........76c444c118
Tool pack version ............1.12.1384
PICkit 4 is supplying power to the target (5,00 volts).
Loading code from C:\MPLABX_Projects\16F84_Tests.X\dist\default\production\16F84_Tests.X.production.hex...
2022-12-17 14:29:33 +0100 - Hex file loaded successfully.
2022-12-17 14:30:44 +0100 - Programming...
*****************************************************
Reception on endpoint 129 failed (err = -10031)
A communication error with the debug tool has occurred.
The tool will attempt to recover momentarily.
Connection Failed.
Reception on endpoint 129 failed (err = -10121)
====================
recommence avec cette fois, alim externe 5V
Connecting to MPLAB PICkit 4
Currently loaded versions:
Application version...........00.07.28
Boot version..................01.00.00
Script version................00.04.97
Script build number...........76c444c118
Tool pack version ............1.12.1384
Target voltage detected
2022-12-17 14:56:20 +0100 - Programming...
*****************************************************
Erasing...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x3ff
configuration memory
EEData memory
User Id Memory
Programming/Verify complete
2022-12-17 14:56:44 +0100 - Programming complete
programmation en 20 sec! au lieu de plusieurs minutes avec ICProgr!!!
..ouf !
..OK
j'en ai profité pour rajouter un quartz de 8Mhz, recompiler ,recharger ..OK 9600 bds
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par paulfjujo le sam. 17 déc. 2022 16:35, modifié 2 fois.
PIC16F84A + XC8 = écrire sur le port série
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
gwion a écrit :Par contre je trouve du 4MHz qui se balade un peu partout sur les pin's, et je me demande si la breadboard est judicieuse avec un oscillateur à quartz...
OUI, voir post precedent ... test sur breadboard au lieu d ema carte Bluebird ..
par contre il ne faut pas oublier de tirer la Pin MCLR au +VCC via une R 10K
sinon le demarrage du PIC ( oscillateur) est aleatoire...
ainsi qu'un 100nf entre les pin +Vcc et Gnd 0V
PIC16F84A + XC8 = écrire sur le port série
Bonjour Paul, bonjour tout le monde,
Merci encore et toujours pour ta fort sympathique implication
Pour lever tous les doute, je suis en train de terminer une petite carte de test. Elle permettra au moins d'exclure des problèmes de connexion fréquents avec les breadboards.
Bon dimanche !
Merci encore et toujours pour ta fort sympathique implication
Pour lever tous les doute, je suis en train de terminer une petite carte de test. Elle permettra au moins d'exclure des problèmes de connexion fréquents avec les breadboards.
Bon dimanche !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
PIC16F84A + XC8 = écrire sur le port série
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités