Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1576 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] programmation de pics sous linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] programmation de pics sous linux

n°1131452
raptor13
Posté le 26-06-2005 à 19:43:59  profilanswer
 

salut tlm !!
 
 
j'ai quelques problèmes avec le compilateur sdcc
 
les memes instructions ne donnent pas le meme resultat dans le main que dans une fonction
 
par exemple :  
 

Citation :

#define __16f877
#include"16f877a.h"
 
#define bitset(var , bitno) ((var) |= 1 << (bitno)) //macro pour mettre le bit bitno du port var à 1 sans changer les autres bits
#define bitclr(var , bitno) ((var) &= ~(1 << (bitno))//macro pour mettre le bit bitno du port var à 1 sans changer les autres bits
 
void test(unsigned char ttest); // fonction de test
 
unsigned unsigned char i,j,k; // je suis obligé de déclarer mes variables en globale autrement sdcc les déclare hors de la memoire disponible
void main(void) {
   
        TRISB = 0;
 PORTB = 0x0;
        while(1) {
  for (k=0; k<8;k++)
  {
         // mise à 1 du bit k du port B
  //bitset(PORTB,k);// <= ces 2 instructions
  test(k);          // <=  
 
  for (i = 0; i < 250; i++) // tempo pour avoir le temps de voir ce qui se passe sur le port
  for (j = 0; j < (250); j++)
  _asm nop; nop;_endasm;
 
  PORTB = 0x0; // remise à 0 de tous les bits du port
 
  for (i = 0; i < 250; i++)// tempo pour avoir le temps de voir ce qui se passe sur le port
  for (j = 0; j < (250); j++)
  _asm nop; nop ;_endasm;
  }
         
 }
}
void test (unsigned char ttest){
 bitset(PORTB,ttest); // mise à 1 du port ttest du portB
}
 


 
quand bitset est appelé depuis le main j'obtient bien une mise à 1 du bit k dans le portB
alors que quant bitseet est appelé depuis la fonction test j'obtient toujours uen mise à 1 du bit 2 du portB
 
 :hello:


Message édité par raptor13 le 27-06-2005 à 14:13:43
mood
Publicité
Posté le 26-06-2005 à 19:43:59  profilanswer
 

n°1132030
raptor13
Posté le 27-06-2005 à 11:23:45  profilanswer
 

personne ? :sweat:

n°1132087
manatane
En vous remerciant, bonsoir
Posté le 27-06-2005 à 11:52:20  profilanswer
 


ben le code de ton post est illisible et incompréhensible:

  • indentation pourrie
  • pas de commentaire
  • tu "void" ton main
  • variables temporaires foutues en globales, macro...


Si tu (ou quelqu'un d'autre) reprend ton programme dans quelques temps, tu crois que çà va se faire en passant une demi heure à le décortiquer comme un vestige de l'egypte ancienne ou le foutre à la poubelle et passer un quart d'heure à le refaire proprement?  
Bref, fait un effort si tu veux que les autres en fassent aussi  :o

n°1132292
raptor13
Posté le 27-06-2005 à 14:17:46  profilanswer
 

manatane a écrit :

ben le code de ton post est illisible et incompréhensible:

  • indentation pourrie
  • pas de commentaire
  • tu "void" ton main
  • variables temporaires foutues en globales, macro...


Si tu (ou quelqu'un d'autre) reprend ton programme dans quelques temps, tu crois que çà va se faire en passant une demi heure à le décortiquer comme un vestige de l'egypte ancienne ou le foutre à la poubelle et passer un quart d'heure à le refaire proprement?  
Bref, fait un effort si tu veux que les autres en fassent aussi  :o


 
 
désolé pour les comentaires mais je ne pensait pas reprendre ce programme plus tard c'est juste un programme de test.
mais c'est vrais que je n'ai pas pensé aux lecteurs du forum.
 
sinon mon main est void car il n'est pas censé renvoyer de valeurs vu que sur un microcontroleur ne dois pas sortir du main.
 
mes variables temporaires sont foutues en globales car autrement sdcc les déclare hors de la memoire disponible.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] programmation de pics sous linux

 

Sujets relatifs
Programmation de pixel shader ?ecole de programmation jeux video
[ASP.net][C#] problème plus conceptuel que de programmationPortage de Linux vers windows
Programmation site PHPProgrammation sur TI 89
ProgrammationInitiation a la programmation
Cherche logiciel MACAO Windows ou LinuxEditeur de programmation en ligne (en php)
Plus de sujets relatifs à : [C] programmation de pics sous linux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR