A retenir
From Eric
(Difference between revisions)
m |
m |
||
Line 13: | Line 13: | ||
set LINKERDIR=C:\Program Files\Microsoft SDKs\Windows\v7.1\ | set LINKERDIR=C:\Program Files\Microsoft SDKs\Windows\v7.1\ | ||
== A retenir == | == A retenir == | ||
+ | * Sous Ubuntu, je n'arrive pas à voir les répertoires partagés par Windows (8)... | ||
+ | smbclient | ||
* Pour interconnecter des composants en 5V et 3.3V, voir la rubrique "[[interconnexion 5V / 3.3V]]". | * Pour interconnecter des composants en 5V et 3.3V, voir la rubrique "[[interconnexion 5V / 3.3V]]". | ||
* Si un printf(...,"%f") affiche un "?" sur un Atmega, jeter un oeil à la rubrique concernant l'[[Atmega32]]... | * Si un printf(...,"%f") affiche un "?" sur un Atmega, jeter un oeil à la rubrique concernant l'[[Atmega32]]... |
Revision as of 09:17, 13 January 2013
Toutes les bonnes choses dont il faut se souvenir...
Checklist
- Ai-je bien connecté le + au + et la masse à la masse. (grossière erreur aussi fatale que facile à éviter...)
- 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).
- Le transistor est-il bien orienté (surtout en 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 la bonne porte logique ? (par ex. : un 74HC00 remplacé par 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é.
- Pourquoi Matlab R2010b sous Windows 64 ne me permet pas d'exécuter un Stateflow ou de compiler une S-fonction? Il faut installer un compilateur compatible. Voir ici. Par exemple, installe Microsoft Visual C++ 2010 Express et Windows SDK 7.1 1. Un fois l'installation faite, faire "mex -setup" pour choisir le compilateur. Puis il convient de modifier le fichier "C:\Users\eric\AppData\Roaming\MathWorks\MATLAB\R2010b\mexopts.bat" pour changer la ligne suivante (la valeur "7.1" doit correspondre au SDK installé) :
set LINKERDIR=C:\Program Files\Microsoft SDKs\Windows\v7.1\
A retenir
- Sous Ubuntu, je n'arrive pas à voir les répertoires partagés par Windows (8)...
smbclient
- Pour interconnecter des composants en 5V et 3.3V, voir la rubrique "interconnexion 5V / 3.3V".
- Si un printf(...,"%f") affiche un "?" sur un Atmega, jeter un oeil à la rubrique concernant l'Atmega32...
- Pour calculer les hfuse et lfuse de mon Atmega, utiliser le calculateur de configuration disponible ici.
- Pour démarrer Ubuntu en mode texte (sans IHM graphique), il suffit de ne pas démarrer le display manager (lighhgdm dans la version 11). pour ce faire il suffit de rajouter la clause "never" à la condition de démarrage dans le fichier "/etc/init/lightdm.conf" (aucune des méthodes basées sur la modification de la configuration de grub n'a fonctionné chez moi...) :
start on ((never and filesystem and runlevel [!06] and started dbus and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 or stopped udev-fallback-graphics)) or runlevel PREVLEVEL=S) stop on runlevel [016]
- La sortie de mon régulateur 78XX n'est pas à la bonne valeur...
- As-tu pensé à mettre une capa en entrée et sortie du régulateur? (Problème rencontré sur un 7805 alimentant un 78L33. La tension mesurée en sortie du 7805 était d'environ 4.2 volts.)
- La programmation SPI sur l'Atmega64 se fait ainsi : MISO est connecté à PDO / PE1 (pin 3) et MOSI est connecté à PDI/PE0 (pin 2). PEN est en l'air.
- Lorsque j'observe la sortie de mon composant (par ex. un DAC) à l'oscilloscope, je ne vois rien d'autre que l'herbe qui verdoie...
- Eric, mon brave, ta sortie ne serait-elle pas une sortie en courant et non en tension? Hein? Rappelle toi l'AD9850 qui refusait de sortir une quelconque fréquence jusqu'au jour où j'ai rajouté une résistance de charge de 100 ohms vers la masse...(la règle générale consiste à lire la doc...).
- 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 !
- Attention aux constantes de temps, et notamment celle concernant l'attente après initialisation. La rallonger si besoin.
- 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")
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"!
- Quelles sont les valeurs normalisées pour les résistances et les condensateurs? (copié du site [3], voir aussi [4])
- Montage "miroir de courant" permettant d'assurer le même courant dans deux branches d'un circuit. Voir [5]
- Montage "amplificateur différentiel".