Electronique > PublicationsMikroPascal et microcontrôleurs > Au secours !

Dernière mise à jour : 16/05/2016

Présentation

Cette page est prête à recueillir vos questions restées sans réponse après lecture du livre. Je les note au fur et à mesure, afin de ne pas les oublier, mais y répond quand j'ai le temps. Afin de me faciliter la tâche ainsi que la votre, je classe les questions par chapitre et non par ordre d'arrivée. Voir aussi :

Questions

-

Julien P. (mail) - 11/05/2016
Bonjour, je me permets de vous signaler une erreur dans votre ouvrage "les microcontrôleurs PIC pour les débutants". 1ère édition, 1er tirage. J'ai lu au moins 10 fois le passage et je pense que vous vous êtes trompé sur un mot employé. Page 52, au point 5.2.1. "Petite parenthèse, [...], mais à un rythme plusieurs fois inférieur. ..." Au lieu de "inférieur", ce n'est pas plutôt "supérieur"? Bonne journée.
Bonjour Julien, merci beaucoup de l'intérêt porté à mon livre. Supposons que le quartz oscille à 1 MHz, ce qui correspond à une période de 1 us. Une instruction qui réclame 4 cycles d'horloge demandera 4 us, ce qui correspond à une fréquence de 250 kHz. La vitesse d'exécution de cette instruction (250 kHz) est établie à un rythme 4 fois inférieur à celui de la fréquence d'oscillation de l'horloge FOSC (1 MHz).
 
Guillaume G. (mail) - 31/01/2016
Bonjour Rémy, je pense qu'il y'a une petite erreur page 57 de votre livre chapitre 5.2. je cite : "Le 16F628A propose par exemple deux valeurs de fréquences internes : 4 MHz et 37 kHz..." Il me semble que le datasheet indique 48 kHz pour la fréquence interne la plus basse.
Bonjour Guillaume, et merci pour votre retour. En effet, si on consulte le datasheet du 16F628A daté de 2006, il est fait mention de deux oscillateurs internes de 4 MHz et de 48 kHz. Mais si on consulte le datasheet du 16F628A daté de 2002, il est fait mention de deux oscillateurs internes de 4 MHz et 37 kHz. C'est évidement celui de 2002 que j'avais sous forme imprimée, entre les mains. Comme la valeur de 48 kHz est plus récente et juste, je reporte cette remarque à la page Corrections.

Gilles N. (mail) - 28/03/2015
Bonjour Rémy, Une petite précision SVP. PIC12F675, convertisseur A/D, registre ANSEL. Les bits <6:4> règlent la fréquence d'horloge de la convertion. Par exemple, pour une fréquence d'oscillation interne à 4 MHz du PIC, quelle est la sélection idéale de ANSEL bits <6:4> ? Pouvez-vous m'expliquer succintement. Dans l'exemple de votre livre, vous mettez ces trois bits à 000 soit Fosc/2 pour un PIC16F88. Cette fonction me cause des soucis. Je ne comprends pas bien. Merci d'éclairer ma lanterne. Cordialement, Gilles.
Bonjour Gilles et merci pour le livre. Pour un fonctionnement correct du CAN intégré au PIC, la durée d'acquisition de l'échantillon doit durer un certain temps, en fait le temps nécessaire au condensateur mémoire de se charger. Le document constructeur (datasheet) du 12F675 indique que ce temps d'acquisition Tad doit être de 1,6 us au minimum. Avec une horloge de 4 MHz, on peut avoir ADCS2:ADCS0 = 001 (Tad = 2 us) ou ADCS2:ADCS0 = 101 (Tad = 4 us). On peut bien sûr adopter un temps d'acquisition plus long mais cela consomme du temps pour rien. Quand on utilise l'horloge interne du PIC, la routine ADC_Init de MikroPascal ajuste automatiquement les 3 bits idoines du registre ANSEL. Si vous utilisez une routine maison, vous devez spécifier manuellement la valeur de ces trois bits.

Pascal A. (mail) - 25/02/2014
Bonjour Rémy, j’ai relevé deux erreurs (à confirmer) dans votre excellent livre :
1) Page 78 : il me semble que la ligne de code PORTA.1 := 0 devrait se trouver en-dessous du end de la deuxième boucle.
2) Page 79 : il me semble que le mot supérieur doit être remplacé par inférieur : "sans que le watchdog ne provoque de reset est un peu supérieur à 2s".
Encore bravo pour votre livre. Bien cordialement.
Bonjour Pascal et merci pour vos compliments, je suis heureux si mon livre vous plaît.
1) le code est juste, mais l'indentation peut laisser penser que la ligne PORTA.1 := 0 fait partie de la seconde boucle while, ce qui n'est pas le cas. Cette ligne n'est exécutée que si on relâche rapidement SW1, c'est-à-dire avant que le watchdog entre en action. Le terme "end" auquel vous faites allusion s'applique à "if" et non "while".
2) Je comprends ce que vous avez compris. En fait, la durée avant activation du watchdog est voisine de 2,3 s, elle est donc un peu supérieure à 2 s. Mais il faut réagir avant ces 2,3 s, c'est là que le terme inférieur devrait être employé.