A retenir
From Eric
(Difference between revisions)
m |
|||
Line 15: | Line 15: | ||
== A savoir == | == A savoir == | ||
+ | * Quels sont les niveaux en CMOS, TTL, ECL? | ||
+ | ** CMOS [0V,VDD/2] = Low [VDD/2,VDD] = High VDD = supply voltage | ||
+ | ** TTL [0V,0.8] = Low [2V,VCC] = High VCC = 5 V ±10% | ||
+ | ** ECL [VEE,-1.4] = Low [-1.2V,0V] = High VEE # -5.2 V; VCC=Ground | ||
+ | |||
* Sur PIC32, où sont donc défini les types WORD, WORD_VAL, etc? | * Sur PIC32, où sont donc défini les types WORD, WORD_VAL, etc? | ||
** Va voir sous "C:\Program Files\Microchip\MPLAB C32 Suite\pic32-libs\include\proc\p32mx360f512l.h"! | ** Va voir sous "C:\Program Files\Microchip\MPLAB C32 Suite\pic32-libs\include\proc\p32mx360f512l.h"! |
Revision as of 20:42, 9 June 2011
Toutes les bonnes choses dont il faut se souvenir...
Quelques sites
- Un site intéressant sur les mathématiques : metamath.
Checklist
- Ai-je bien connecté le + au + et la masse à la masse. (grossière erreur aussi facile à éviter qu'elle est fatale...)
- Le régulateur est-il bien orienté? Attention, un LM317 n'a pas le même brochage qu'un 78XX ! De même un 7805 (TO220) n'a pas le même brochage qu'un 78L05ACZ (TO92).
- Me suis-je bien assuré de la tension en sortie du régulateur avant d'insérer le micro-contrôleur ou le composant coûteux?
- Ai-je bien mis de la graisse à souder sur les connexions après avoir soudé un composant par refusion? Sinon : soudures très laides.
- Ai-je bien mis un 74HC00 et non un 74HC08 (vécu)
- Ai-je mis des capas de découplage?
- Ai-je bien songé au fait qu'une diode représente une capacité (parasite). Voir le générateur BF à base d'XR2206 pour un exemple de problème lié à cette capacité.
A savoir
- Quels sont les niveaux en CMOS, TTL, ECL?
- CMOS [0V,VDD/2] = Low [VDD/2,VDD] = High VDD = supply voltage
- TTL [0V,0.8] = Low [2V,VCC] = High VCC = 5 V ±10%
- ECL [VEE,-1.4] = Low [-1.2V,0V] = High VEE # -5.2 V; VCC=Ground
- Sur PIC32, où sont donc défini les types WORD, WORD_VAL, etc?
- Va voir sous "C:\Program Files\Microchip\MPLAB C32 Suite\pic32-libs\include\proc\p32mx360f512l.h"!
- Mes tâches FreeRTOS ne se lancent pas... que pasa?
- Met un point d'arrêt sur la ligne de code qui suit le lancement du scheduler. Cette ligne n'est normalement jamais exécutée, sauf si l'OS ne parvient pas à allouer suffisamment de mémoire dans le tas. Si le point d'arrêt est atteint, cela signifie qu'il faut redimensionner la taille du tas. Pour ce faire, il faut modifier la constante configTOTAL_HEAP_SIZE définie dans le fichier FreeRTOSCOnfig.h
- J'essaie d'afficher un mot de 32 bits non signé (un "unsigned long" sur HITECH pour PIC16F) avec un appel à sprintf(msg,"%u",val), et ma valeur est tronquée à 65536. Arf.
- Mon brave, il faut utiliser sprintf(msg,"%lu",val)!
- Mon afficheur compatible HD44780 ne veut rien afficher !
- N'aurais-tu pas essayé de connecter l'entrée R/W de l'afficheur à GND via une résistance de "pull-down" de 10K? Si oui, et bien replace 10K par une valeur plus faible (1K) ou supprime simplement la résistance... (2h sur ce problème... grrrrr)
- Un programme qui fonctionnait bien jusqu'alors ne semble plus fonctionner après reflashage...
- C'est un problème observé avec le programmateur de PIC simplifié.
- Attention : si on utilise un programmateur alimenté par le bus USB, il est possible que la puissance fournie par le bus soit trop faible pour que la programmation se déroule correctement. Pire : le programmateur peut tout simplement n'indiquer aucune erreur. Le symptôme est (notamment) une programmation suivi d'une vérification bien trop rapide.
- Le problème survient en particulier si on utilise un hub USB, car en l'absence d'alimentation externe, chaque port d'un hub à 4 ports (le plus courant) ne peut débiter que 100mA, de sorte que la consommation totale du hub soit 4x100mA+100mA (pour le hub lui-même) = 500mA, le maximum qu'un port USB est sensé pouvoir débiter.
- La réponse à ce problème est d'utiliser un hub avec alimentation externe.
- Je souhaite placer une constante en Flash sur mon AVR... comment puis-je faire.
- Mon PIC ne semble pas fonctionner à 3.3V, alors que c'est écrit noir sur blanc dans la datasheet!...
- Il faut inhiber la détection du brown-out! sinon le pauvre composant reste en reset. Il suffit de positionner le fusible BRODEN à faux.
- Le compas ne semble pas donner de valeur correcte!
- Ai-je attendu la durée spécifiée entre la requête de mesure et la lecture de la valeur?
- A-t-il été correctement calibré?
- Le LPC1768 fonctionne de manière erratique!
- Je réduis la fréquence d'horloge interne en augmentant la valeur du diviseur : SC->CCLKCFG = 9; (fichier "main.c", fonction "prvSetupHardware")
- Je réduis la fréquence de la sonde JTAG à 100KHz (voir fichier "openocd.cfg")