PIC18F4550 entrée et sortie des pins..
mik3five-
-
chuka Messages postés 980 Statut Membre -
chuka Messages postés 980 Statut Membre -
Bonjour, j'aimerai je débute la programmation des PIC18 en C, et j'utilise MPLAB V8.46
J'aimerai juste programmer des pin en entrée, et d'autre en sortie,
enfaite, il faudrait que le pin RB1, soit considéré comme un 1 logique, lorsque je lui donne 5v
Cependant, je n'y arrive pas, enfin, si je le déclare avant le main, il ne reconnait pas TRISB
Enfaite, je vous demande de critiquez mon code (doucement parce que je débute^^). et de mon conseillez.
Je vous remercie
J'aimerai juste programmer des pin en entrée, et d'autre en sortie,
enfaite, il faudrait que le pin RB1, soit considéré comme un 1 logique, lorsque je lui donne 5v
Cependant, je n'y arrive pas, enfin, si je le déclare avant le main, il ne reconnait pas TRISB
Enfaite, je vous demande de critiquez mon code (doucement parce que je débute^^). et de mon conseillez.
#include <p18f4550.h>
#include <delays.h>
#pragma config FOSC = INTOSC_HS
#pragma config PWRT = ON //Timer de reset lors de la mise sous tension
#pragma config MCLRE = ON //autorisation d'un reset externe
#pragma config WDT = OFF // inhibition du Chien de garde
#pragma config PBADEN = OFF
void main(void);
void Delay1KTCYx(PARAM_SCLASS unsigned char);
void main(void)
{
TRISBbits.TRISB0 = 0;
TRISBbits.TRISB1 = 1;
PORTB=0x0;
if(PORTBbits.RB1 == 1)
{
Delay1KTCYx(0);
PORTBbits.RB0=1;
Delay1KTCYx(0);
PORTBbits.RB0=0;
}
else
{
PORTBbits.RB0=0;
}
}
Je vous remercie
A voir également:
- PIC18F4550 entrée et sortie des pins..
- Remettre un pc en sortie d'usine - Guide
- Serveur entrant et sortant - Guide
- Airpods 3 date de sortie - Guide
- Samsung a33 date de sortie - Guide
- Entrée en économiser puissance - Forum Ecran
2 réponses
Salut,
TRIS permet de definir le port ou broche en entrée ou en sortie.
LAT permet de definir le niveau du port ou broche sélectionner (quand la broche est en sortie).
PORT te permet de lire la donner sur la broche ou port quand celui ci est en entrée...
J'espère ca pourra t'aider!!
@+
PS:Je ne sais pas si c'est le cas pour ce pic, mais le portb est généralement utilisé pour faire les acquisition analogique...donc met bien le registre qu'il faut pour qu'il soit considéré comme des I/O tout ou rien!!
Sur un malentendu, ca peut marcher!!
TRIS permet de definir le port ou broche en entrée ou en sortie.
LAT permet de definir le niveau du port ou broche sélectionner (quand la broche est en sortie).
PORT te permet de lire la donner sur la broche ou port quand celui ci est en entrée...
#define LB0 LATBbits.LATB0
#define RB1 PORTBbits.RB1
#define TR0 TRISBbits.TRISB0
#define TR1 TRISBbits.TRISB1
void main(void)
{
TR0 = 0;
TR1 = 1;
PORTB=0x0;
if(R1)
{
Delay1KTCYx(0);
LB0=1;
Delay1KTCYx(0);
LB0=0;
}
else
{
LB0=0;
}
}
J'espère ca pourra t'aider!!
@+
PS:Je ne sais pas si c'est le cas pour ce pic, mais le portb est généralement utilisé pour faire les acquisition analogique...donc met bien le registre qu'il faut pour qu'il soit considéré comme des I/O tout ou rien!!
Sur un malentendu, ca peut marcher!!
Merci pour les infos, j'essaye ça tout de suite, j'utilise un pickit2 !
Je suis en train de lire la datasheet de mon pic
et pour les configurer en port digital, je me suis pas trompé^^
j'ai mit #pragma config PBADEN = OFF
PBADEN = OFF
PORTB<4:0> pins are configured as digital I/O on Reset
PBADEN = ON
PORTB<4:0> pins are configured as analog input channels on Reset
Je suis en train de lire la datasheet de mon pic
et pour les configurer en port digital, je me suis pas trompé^^
j'ai mit #pragma config PBADEN = OFF
PBADEN = OFF
PORTB<4:0> pins are configured as digital I/O on Reset
PBADEN = ON
PORTB<4:0> pins are configured as analog input channels on Reset