Bigonoff, c'est ce qu'il y a de plus facile. Si tu veux, tu peux aussi consulter les docs constructeurs en anglais.salut a tou
merci Gérard pour votr répense
pour le francais ca me pose un problme car je suis pas francais pour les cours de Bigonoff jé essaiyer mais c'est tré dificile pour moi de comprendr tous
pour la question je veu commander un assenceur a 3 étage avec un pic mais.
je ne veu pas que quelqun d'autr fait le travaille a ma place mais un peu d'aide a faire le programme c tous?
merci pour
Si tu n'y arrives pas, change de métier.
Ce serait mieux d'ouvrir une nouvelle discussion pour poser tes questions.
salut
jé dit que c'est la langue qui me pose un probléme pour comprendr tous et moi je suis un automaticien donc je fait n'import quel programme avec le grafcet et le ladder mai le language c ou l'assembleur je pense pas
je peu te donner le l'organigramme (grafcet) du cahier de charge et m'aider a le réialiser
Tu ouvres une nouvelle discussion et tu exposes ton problème !salut
jé dit que c'est la langue qui me pose un probléme pour comprendr tous et moi je suis un automaticien donc je fait n'import quel programme avec le grafcet et le ladder mai le language c ou l'assembleur je pense pas
je peu te donner le l'organigramme (grafcet) du cahier de charge et m'aider a le réialiser
D'ailleurs, je ne te demandes ni ordinogramme ni grafcet ...
ok ok ok ok
jé compris
vacances !!! xD
Bon, je viens de regarder dans la doc, mais rien qui parle du CAN ( ou j'ai mal regardé ! )
la doc présente juste les commandes, et les directives ....
Pas pour tout le monde !
C'est quoi cette doc ?
Utilise les commandes et directives comme décrites dans la doc et regarde le résultat.
la doc du cc5x
par exemple pragma, else, if...else ... mais pas de CAN, ou c'est sous un autre nom dans la docUtilise les commandes et directives comme décrites dans la doc et regarde le résultat.
http://www.bknd.com/doc/cc5x-33.pdf
J'ai regardé (pas en détail) la doc et rien sur le CAN !
Existe-t-il un fichier de la librairie qui en parle ?
Je suis nul en C mais il faut bien que ce soit expliqué quelque part comment utiliser les différents périphériques des PIC.
Qu'en pensent les autres, ceux qui connaissent le C ?
à part toi, y en a pas beaucoup qui scrute le sujet
mais ne connais tu pas l'assembleur ? et puis, si même dans la doc du cc5x il n'y a aucune référence au CAN ...
au pire, j'ouvre un sujet "CAN et cc5x" ?!
Dernière modification par marc2009 ; 19/04/2009 à 08h50.
Tu as raison, ouvre un nouveau sujet.
donc me revoilà ici
je poste le programme ( j'ai pas encore tout vérifié, j'attends le schéma électronique )
bon je crois que je vais modifié des choses encore dans les registres, et créer d'autres variables, ca sera plus compréhensible.Code:#pragma chip PIC12F675 // déclaration du pic #pragma library 1 #pragma config |= 0x31E1 #define sortie GPIO char irq; char sec; uns16 tmp; #include "int16CXX.h" // fichier interruptions //------------------interruption----------------------- #pragma origin 4 interrupt timer1( void) { int_save_registers // W, STATUS (and PCLATH if required) //char sv_FSR = FSR; // save FSR if required // handle the interrupt (insert application code here) if (TMR1IF) {++irq;if (irq==8) {++sec;irq=0;}TMR1H=6;TMR1IF=0;} //FSR = sv_FSR; // restore FSR if saved int_restore_registers // W, STATUS (and PCLATH if required) /* IMPORTANT : GIE should normally NOT be set or cleared in the interrupt routine. GIE is AUTOMATICALLY cleared on interrupt entry by the CPU and set to 1 on exit (by RETFIE). Setting GIE to 1 inside the interrupt service routine will cause nested interrupts if an interrupt is pending. Too deep nesting may crash the program ! */ } void main(void) { TRISIO = 0b00111100; //OPTION = 0b10101000; sortie = 0b00000010; T1CON = 0b00000001; CMCON = 0b00000111; TMR1H=6; TMR1L=0; INTCON = 0b11000000; PIE1 = 0b00000001; ADCON0 = 0b00001011; ANSEL = 0b00001011; ADRESH = tmp.high8; ADRESL = tmp.low8; for (;;) { if (tmp==531) {...} } }
Sinon, pour "irq" et "sec", je dois les mettre en char ou en int ? ( sachant que irq ne dépassera pas la valeur "8" et sec" ne dépassera pas la valeur 1200 ( 20 minutes ), et aussi le + optimisé/adapté donc )
Merci
je rajoute une question :P : Tu m'as parlé Gérard de l'impédance d'entrée ... en quoi cela consiste-t-elle ? Concerne-t-elle déjà les pattes mises en entrées ou celles mises en sorties ?
Pour R1=2.2kΩ et R2=680Ω ( pont diviseur ), est ce que c'est bon ? Ou me conseilles-tu de prendre des valeurs de résistances plus petites ? ( en l'occurrence on divise par 2 les 2 valeurs )
++
Je parlais des entrées analogiques.
Tu ne peux pas mettre par ex 100K et 1M comme diviseur de tension.
Si tu mets 1ohm et 10 ohm, le rapport sera le même mais maintenant le montage va consommer à cause du pont diviseur.
Il faut choisir des valeurs raisonnables.
Datasheet page 43, §7.2.1 : l'impédance ne doit pas dépasser 2K5
donc faut juste que je fasse attention à l'impédance lors de l'utilisation du CAN ?
au passage, c'est page 47, et c'est 10kohms
Ce n'est pas ce que j'ai dit, ma réponse est juste mais incomplète.
Quand tu mets un BP, soit tu configures la résistance interne, soit tu en mets une externe.
Cette résistance ne doit pas être ni trop faible ni trop forte.
Dans ce cas tu es en entrée numérique.
Je mets toujours 10K.
Quand c'est une sortie, c'est pareil, il faut veiller à ne pas tirer trop de courant (ou absorber si la charge est entre + et PIC).
La résistance interne vaut combien au fait pour chaque patte ? ( je sais plus comment s'appelle le registre qui gère ça aussi, il est écrit dans le fichier excel d'alainav1)Ce n'est pas ce que j'ai dit, ma réponse est juste mais incomplète.
Quand tu mets un BP, soit tu configures la résistance interne, soit tu en mets une externe.
Cette résistance ne doit pas être ni trop faible ni trop forte.
Dans ce cas tu es en entrée numérique.
Je mets toujours 10K.
Quand c'est une sortie, c'est pareil, il faut veiller à ne pas tirer trop de courant (ou absorber si la charge est entre + et PIC).
Pour mettre tout le monde d'accord,
DS41190E, page 45, c'est 10K.
C'est tant mieux si c'est 10K.
le registre, c'est WPU je vais voir pour la valeur de la résistance interne du pic pour chaque patte si c'est écrit ...
Je mets toujours des R externes de 10K --> jamais de souci.
bon c'est pas marqué, mais si tu connais la valeur de la résistance interne pour chaque patte ...
sinon, une résistance de 27kohms ( patte en sortie ) avant un transistor ça le fait ? ou ça va être mauvais ? ( mais c'est le résultat du calcul qu'on a fait )