Programmation Mplab, C18 , problème utilisation de fonction

Mario -  
 Utilisateur anonyme -
Bonjour à tous,

Je débute dans la programmation des PICs en C depuis Mplab ( V 8.89).
J'essaie de me familiariser avec le logiciel mais je n'arrive pas a faire des fonctions.
Il y a t' il quelque chose de particulier a savoir ?
Voici mon code :

#include <p18cxxx.h> 
#include <stdio.h>

// configuration PICDEM2+ quartz
#pragma config OSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config PBADEN = OFF


int fonctionNot( int );
void tempo(void);

int nb=0;
void main (void)
{
 TRISCbits.TRISC0=0;
 TRISCbits.TRISC1=0;
 TRISCbits.TRISC5=0;
 TRISBbits.TRISB5=0;
 TRISAbits.TRISA4=1; 
 
  for(;;)
    {
		fonctionNot( nb );
		if( nb > 1 )
		{
		nb=0;
		}
		if(nb==1)
		{
		PORTCbits.RC0=0;
		PORTCbits.RC1=1;
		PORTCbits.RC5=0;
		PORTBbits.RB5=1;	
		}
		else	
			{
			PORTCbits.RC0=1;
			PORTCbits.RC1=0;
			PORTCbits.RC5=1;
			PORTBbits.RB5=0;
			}
		tempo();
    }
}


int fonctionNot( int bool )
{
	bool = bool + 1 ;
	if( bool > 1 )
	{
	bool=0;
	}
	return bool ;
}

void tempo( void )
{
	int temps,mult;
	for( temps = 0 ; temps < 100000 ; temps=temps+1)
	{
	}
}


Merci a vous,
cordialement Mario.

A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour

Tu ne précises pas quel est ton problème. Mais à vue d'oeil, tu en as un ici :
  fonctionNot( nb );
  if( nb > 1 )

Ta fonction fonctionNot ne modifie pas nb comme tu sembles le croire. Mais elle te rend une valeur modifiée. Tu peux donc érire :
  nb = fonctionNot( nb );
  if( nb > 1 )
1
VoltAmperique Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
En effet vous avez raison il y a une erreur ici, merci beaucoup.
Cependant la modification n'apporte aucun effet, j'ai l'impression que les fonctions ne sont pas "utilisées"...

Cordialement
0
Utilisateur anonyme
 
j'ai l'impression que
Qu'est ce qui te donne cette impression ?
[Edit] D'ailleurs, avec MPLAB, tu dois pouvoir utiliser le simulateur pour exécuter ton programme pas à pas et voir par où il passe
0