bonjour ,
voila j'ai des ligne de programme on c et je veux bien comprendre chaque ligne de programme ce que signifier et je veux configurer les ligne programme on c d'un timer et pwm et l'adc d'un dspic 30f.
merci
-----
bonjour ,
voila j'ai des ligne de programme on c et je veux bien comprendre chaque ligne de programme ce que signifier et je veux configurer les ligne programme on c d'un timer et pwm et l'adc d'un dspic 30f.
merci
Bonsoir,
sans le programme on c on va pas aller bien loin...
et c'est quoi le but du "montage"?
et pourquoi un DSPIC 30F?
...
publies le programme, et poses tes questions
sur les problèmes que tu rencontres lors de la
lecture de celui-ci...
bon courage (à tous)
vede
;O]
ps : en dehors du programme,
tu as déjà utilisé les modules
adc, timer, et pwm des 30F?
bonjour,
voila le programe
void initADC(10)
{
ADCON1=0x000c;
ADCON2=0x0200;
ADCHS3=0x0080;
_ADON=1;
//_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
int val ADC;
//Main routine
int main()
{
setup_ports();
initADC10();
RunningLED=1;
RunningLED=0;
while(1)
{
ADCON1bits.SAMP=1;
DelayNmsec(100);
ADCON1bits.SAMP=0;
while(!ADCONbits.done){}
valADC=ADCBuf0;
if(valADC>512)RunningLED=1;
else RunningLED=0;
if(valADC>256)infoLED=1;
else infoLED=0;
}
}
merci
je veut savoir par exemple ADCON1=0x000c signifier quoi et meme pour les autre ligne e programme svp et voila le sujet : ADC.bonjour,
voila le programe
void initADC(10)
{
ADCON1=0x000c;
ADCON2=0x0200;
ADCHS3=0x0080;
_ADON=1;
//_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
int val ADC;
//Main routine
int main()
{
setup_ports();
initADC10();
RunningLED=1;
RunningLED=0;
while(1)
{
ADCON1bits.SAMP=1;
DelayNmsec(100);
ADCON1bits.SAMP=0;
while(!ADCONbits.done){}
valADC=ADCBuf0;
if(valADC>512)RunningLED=1;
else RunningLED=0;
if(valADC>256)infoLED=1;
else infoLED=0;
}
}
merci
Configuration de l'ADC.
Lancement d'une conversion immédiate.
Observation des signaux sur oscilloscope et des résultats dans les registres du
Buffer de l'ADC.
Configuration pour une conversion synchronisé sur le Timer1 (lancement manuel).
ADC EOC ISR.
re ;O]
il faut que tu télécharges la datasheet de ton pic,
tout est marqué dedans...
ADCON1, 2 et 3 sont des registres qui permettent
de configurer et utiliser le convertisseur analogique
(ADC) intégré...
ils sont entièrement détaillés dans la section "ADC"
de la datasheet de ton pic...
datasheet qui est la principale (seule?)
source fiable de renseignements...
idem pour le Timer1... (section Timer1 de la datasheet)...
idem pour le reste...
et après l'aide de ton compilateur C peut aussi être une
bonne source d'informations...
ton problème est trop global... personne ne va te faire un cours...
il faut que tu te penches sur les docs, et après, si tu rencontres un
problème spécifique, ou bien que tu as une question précise, ben...
n'hésites pas... on est là pour ça...
vede
;O]
ps : là, en gros, ton programme parait enchainer "éternellement"
des conversions, en allumant des leds selon le résultat de la conversion...
je te commente un peu le code,
tu avanceras plus vite...
ps : c'est quoi le compilateur C?Code:// // initialise et configure le convertisseur analogique // void initADC(10) { ADCON1=0x000c; ADCON2=0x0200; ADCHS3=0x0080; _ADON=1; // start ADC //_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ int val ADC; // // initialise le PIC (début du programme) // //Main routine int main() { setup_ports(); initADC10(); RunningLED=1; // allume / éteint des leds... RunningLED=0; // // le programme principal, dans une boucle infinie... // while(1) { ADCON1bits.SAMP=1; DelayNmsec(100); ADCON1bits.SAMP=0; while(!ADCONbits.done){} valADC=ADCBuf0; if(valADC>512)RunningLED=1; else RunningLED=0; if(valADC>256)infoLED=1; else infoLED=0; } }
re ps :
d'après moi ça fonctionne pas ça...
il manque un } vers le haut...
à mon idée...
;O]
re ;O]
malheureusement tu ne paraît maîtriser ni le C ni les DSPIC...
donc tu as du boulot... penches toi sur les documentations...
plus vite tu te penches... plus vite tu comprendras...
et google est ton ami...
ne l'oublie pas...
et un conseil...
"décompose"...
pour mieux "assimiler"...
commence par l'ADC...
et la doc du compilo C...
avant d'aller plus loin...
c'est comme ça que je fais quand ça me parait
globalement "trop gros" (cad insurmontable)...
Salut,
Un conseil : regarde ces liens (tutoriels en français) :
* http://electronique.marcel.free.fr/#dsPIC_Microchip
* http://www.baghli.com/dspic_intro.php
Ensuite, tu peux télécharger du code pour le convertisseur A/N ici.
a+
bonjour,
svp es qu'il ya des datasheet Family Reference Manual traduit on francais du dsPIC30F.
merci
bonjour,
ou un logiciel de traduction pour les datasheet
merci
Salut,
Un conseil...met toi de suite à l'anglais. Toute la documentation de tous les constructeurs est en anglais....
Au pire tu peux utiliser g..gle pour la traduction mais pour l'électronique cela ne va pas t'emmener très loin...
a+
salut ,
moi j ai besoin a l inverse de ce programme CNA la conversion numerique analogique au dspic30f