FORUM Syndrome-OC - Jacky-PC


  Programmation


  Microcontrolleur &co


  PIC avec CCS... int_ext et autre interrogations... ;)

 




Overclocking : guy68 Le salon de discussion : stef942, 1 utilisateur anonyme et 16 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PIC avec CCS... int_ext et autre interrogations... ;)

n°7830
aceditnana​r
Chabadabada...
Posté le 12-02-2008 à 13:18:18  profilanswer
 

Hello
 
Je programme en ce moment sur PIC avec version demo de CCS... Est se que que quelu'un pet m'expliquer à quoi sert l'interruption #int_ext ? Ca serai sympa...  Je connais la #int_RB qui est une interruption sur les PIN B04 à B07, mais que veut dire EXT, que dès qu'il y a une activité sur n'importe quel pin (rs232, lcd, i2c, bouton, ADC, DAC) le programme saute dans cette routine?
 
Merci pour votre aide :)
 
deuxiemement, je voudrai faire une gestion de quzlques bouton et lcd 2 lignes pour faire une interface, mais que le programme de fond continu toujours... je pensais utilise des switchs pour afficher les ecran, mais des que je doit rentrer dans le menu pour changer une valeur, comment rendre ca transparent pour que le reste du programme s'execute... par inteeruption justement?
 
Merci :)


Message édité par aceditnanar le 20-02-2008 à 18:57:18

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
mood
Google
Posté le 12-02-2008 à 13:18:18  profilanswer
 

n°7831
mdog
Posté le 12-02-2008 à 19:47:00  profilanswer
 

Bonsoir!
L'interruption INT_Ext est déclenchée par la pate INT du pic, tu peux configurer l'interruption pour qu'elle soit déclenchée sur un front montant OU descendant ce qui peut être pratique...  
Il y à ici un très bon cours sur la programmation des pic en C (avec CC5X mais la théorie est valable pour tous les logiciel et les interruptions sont bien expliquées ;)) http://hhollard.club.fr/prog_pic_c.htm
 
@+
Mdog

n°7832
aceditnana​r
Chabadabada...
Posté le 13-02-2008 à 10:59:26  profilanswer
 

yes.. merci, c'est en effet ce que j'ai constaté... maintenant va falloir que je me gere le clavier etc... :)


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°7833
mdog
Posté le 13-02-2008 à 20:54:10  profilanswer
 

Si tu as besoin d'aide n'hésite pas, j'ai déjà interfacé des claviers matriciels, donc si tu as des questions sur le principe, etc, pas de soucis ;).
 
Pour afficher tes différents écrans, je sais pas si j'ai bien compris, mais le plus simple c'est de faire une routine par écran avec ce que tu veux y mettre, et tes interruptions ne fond que lancer les bonnes routines.
 
@+
Mdog

n°7837
aceditnana​r
Chabadabada...
Posté le 20-02-2008 à 18:56:54  profilanswer
 

merci...
 
je cherche a utiliser des pointeurs, mais je ne sais pas trop comment faire... dans ma fonction main, qd j'utilise un argument dans une fonction, je mets une "*" avant mon argument? ca suffit a le passer en pointeur à la fonction? je suis assez rouillé sur les pointeurs.. je m'y remets mais c'est toujours chaud cet histoire de pointeur...
 
Sinon autre interrogation, comment on ecrit et lit des choses en mrmoire eeprom du microcontroleur? faut faire attention où il faut ecrire je pense... mais ou alors? Sinon avec puce I2C on utilise le protocole I2C :)
 
Voila.. ce n'est que le debut :)


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°7838
mdog
Posté le 20-02-2008 à 22:22:19  profilanswer
 

Pour la lecture/écriture en EEPROM, lorsque je l'avais fait je m'étais basé sur ce lien : http://angeliz.free.fr/, c'est clair et efficace! ça nécessitera peut-être quelques modifs avec CSS, car sur ce lien c'est fait sous PicC.
 
Pour ce qui est des pointeurs avec CSS je peux pas trop t'aider dsl, je ne sais pas comment sa fonctionne, j'ai l'habitude de programmer avec picC. Sous picC si je ne dis pas de bétises, il faut en effet utiliser une étoile, genre :
 
void ma_fonction(char* ma_variable)
 
Ensuite on choisi la position à atteindre dans la variable en faisant :
 
ma_variable[X]
 
Il ne faut pas oublier de déclarer la fonction (et sa variable avec pointeur) au début du programme... Après sous CSS je ne sais pas exactement comment c'est géré, mais j'espère t'avoir aidé.
 
@+
Mdog

n°7839
aceditnana​r
Chabadabada...
Posté le 20-02-2008 à 23:34:43  profilanswer
 

si tu peux detailler un peu plus les pointeur avec declaration.. un exemple tout bete avec main et declaration variable et fonctions..
 
pour l"eeprom, je pense que CSS a finalement les fonction toute faites d'ecriture en memoire.. apres faudra pas ecrir p'tet à la 1ere case memoire... je ne sais pas encore...
 
Je regarde aussi sur le lien donné, que j'avais vu mais y'a longtemps ;) qu'il y a une gestion servo par CCP1 et ccp2 .. je ne sait pas comment fonctionne les comparateurs sur microcontrolleur... je vais regarder ca :)
 
Merci deja :)


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°7841
mdog
Posté le 21-02-2008 à 20:40:41  profilanswer
 

Et bien pour te donner un exemple voila ce à quoi ressembles mes programmes sous picC :

Code :
  1. #include <pic1687x.h>                                               //Inclusion des fichiers nécéssaires au pic
  2. void ta_fonction_avec_variable_pointeur (char* variable_avec_pointeur);                //Déclaration de la fonction
  3. void main (void){
  4. //Fonction main
  5. }
  6. void ta_fonction_avec_variable_pointeur (char* variable_avec_pointeur){                //Ecriture de la fonction
  7. //Ta fonction
  8. }
 

Le fait de déclarer la fonction permet de l'appeler dans le main alors qu'on l'écrit après, c'est tout simple en fait.
Pour ce qui est d'écrire dans la première case mémoire, il me semble pas que sa pose problème, je le faisais à partir du code qui se trouve sur le lien que je t'ai donné et sa fonctionnait, le mieux c'est de faire des test... Pour les comparateurs je te laisse étudier ça, car là mes connaissances sont inexistantes ^^.

 

@+
Mdog


Message édité par mdog le 21-02-2008 à 20:41:09
n°7843
aceditnana​r
Chabadabada...
Posté le 23-02-2008 à 12:07:38  profilanswer
 

merci :)
 
Je connais tres bien ce que tu me fais voir là :) mais c'est sympa... moi ce qui me pose soucis c'est comment on passe les arguments en forme de pointeurs dans la fonction main qd on appelle la fonction..
 
Dans le main, on l'appelle juste comme ca? :
 

Code :
  1. void main()
  2. {
  3. ...
  4. ta_fonction_avec_variable_pointeur ("Bonjour" );
  5. ...
  6. }


 
Sans mettre d'etoile ou de &?
 
Merci :)


Message édité par aceditnanar le 23-02-2008 à 12:08:21

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°7844
mdog
Posté le 25-02-2008 à 20:11:26  profilanswer
 

Oui tout-à-fait ;). En tout cas sous picC ça fonctionne ainsi... Je pense pas qu'il y ait de différence fondamentale entre picC et CCS donc c'est surement pareil...
 
@+
Mdog

n°7847
aceditnana​r
Chabadabada...
Posté le 26-02-2008 à 00:30:33  profilanswer
 

ok... ben il semble que je doit mettre l'etoile devant l'argument ds l'apelle de fonction dans le amin... et pas l'etoil dans la fonction elle meme.. bizarre :(


Message édité par aceditnanar le 26-02-2008 à 00:33:43

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
mood
Google
Posté le 26-02-2008 à 00:30:33  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Microcontrolleur &co


  PIC avec CCS... int_ext et autre interrogations... ;)

 

Hit Parade