- Messaggi: 47
- Ringraziamenti ricevuti 0
Programmino in C lampeggio Led
10 Anni 11 Mesi fa #1
da chip_x
Programmino in C lampeggio Led è stato creato da chip_x
Ciao,come da vero novello del C sto sperimentando i file "header" per vedere se li linka correttamente ,sembra di no.. Ovviamente mio è l'errore ma non lo vedo.
Il compilatore non mi da errori.
???
//Lampeggio Led su RD0
//definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
//impostazione porte
#include "settings.h"
#include "delay.c"
//fuses ver. HI-TECH 9.83
__CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & DEBUG_OFF & CP_OFF);
void main (void)
{
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
setting.h
//definisco il led su porta RD0
#define LED RD0
void settings(void)
//imposto le porte tutte uscite
{
TRISA=0b00000000;
TRISB=0b00000000;
TRISC=0b00000000;
TRISD=0b00000000;
TRISE=0b00000000;
}
Ovviamente sono inclusi delay.h e delay.c che qui ho omesso ma sono inclusi nel progetto.
Grazie
chip
Il compilatore non mi da errori.
???
//Lampeggio Led su RD0
//definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
//impostazione porte
#include "settings.h"
#include "delay.c"
//fuses ver. HI-TECH 9.83
__CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & DEBUG_OFF & CP_OFF);
void main (void)
{
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
setting.h
//definisco il led su porta RD0
#define LED RD0
void settings(void)
//imposto le porte tutte uscite
{
TRISA=0b00000000;
TRISB=0b00000000;
TRISC=0b00000000;
TRISD=0b00000000;
TRISE=0b00000000;
}
Ovviamente sono inclusi delay.h e delay.c che qui ho omesso ma sono inclusi nel progetto.
Grazie
chip
Si prega Accedi o Crea un account a partecipare alla conversazione.
- chip_x
- Autore della discussione
- Senior Member
Riduci
Di più
10 Anni 11 Mesi fa - 10 Anni 11 Mesi fa #2
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Programmino in C lampeggio Led
Ciao chip, vedo che stai provando l'esempio di Giovanni Bernardo... credo però di avere trovato due piccoli errori (parto da presupposto che i fuses siano corretti, dato che non conosco il pic che stai utilizzando):
1) perchè nel main includi "settings.h" e poi chiami il file da includere "setting.h"? il nome deve essere identico (esempio "settings")...
2) Una volta fatto questo, lo devi lanciare dentro il main in questo modo:
void main (void)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
Se non mi ricordo male dovrebbe essere così, fammi sapere...
Marcello
1) perchè nel main includi "settings.h" e poi chiami il file da includere "setting.h"? il nome deve essere identico (esempio "settings")...
2) Una volta fatto questo, lo devi lanciare dentro il main in questo modo:
void main (void)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
Se non mi ricordo male dovrebbe essere così, fammi sapere...
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 10 Anni 11 Mesi fa da Pinna.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
10 Anni 11 Mesi fa #3
da chip_x
Risposta da chip_x al topic Programmino in C lampeggio Led
Hai ragione,la solita svista.Sto prendendo mano con il C e sicuramente,all'inizio, faccio un po di confusione.
Ho creato il file settings come impostazione delle porte e non come una funzione,ecco perchè l'ho messa fuori. I ragionamenti delle prime armi.
Cmq, è un Pic 16F877A.
Grazie
correggo subito.
ciao
chip
Ho creato il file settings come impostazione delle porte e non come una funzione,ecco perchè l'ho messa fuori. I ragionamenti delle prime armi.
Cmq, è un Pic 16F877A.
Grazie
correggo subito.
ciao
chip
Si prega Accedi o Crea un account a partecipare alla conversazione.
- chip_x
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 47
- Ringraziamenti ricevuti 0
10 Anni 11 Mesi fa #4
da chip_x
Risposta da chip_x al topic Programmino in C lampeggio Led
Ho corretto come mi hai detto ma mi da i seguenti errori:
15.1 function declared implicit int
20.1 undefined identifier "LED"
//Lampeggio Led su RD0
// PIC 16F877A
// definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
#include "delay.c"
//fuses ver. HI-TECH 9.83
__CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & DEBUG_OFF & CP_OFF);
void main (void)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
#define LED RD0
void settings(void)
// imposto le porte tutte uscite
{
TRISA=0b00000000;
TRISB=0b00000000;
TRISC=0b00000000;
TRISD=0b00000000;
TRISE=0b00000000;
}
Ciao
15.1 function declared implicit int
20.1 undefined identifier "LED"
//Lampeggio Led su RD0
// PIC 16F877A
// definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
#include "delay.c"
//fuses ver. HI-TECH 9.83
__CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & DEBUG_OFF & CP_OFF);
void main (void)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
} // fine ciclo
#define LED RD0
void settings(void)
// imposto le porte tutte uscite
{
TRISA=0b00000000;
TRISB=0b00000000;
TRISC=0b00000000;
TRISD=0b00000000;
TRISE=0b00000000;
}
Ciao
Si prega Accedi o Crea un account a partecipare alla conversazione.
- chip_x
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 47
- Ringraziamenti ricevuti 0
10 Anni 11 Mesi fa #5
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Programmino in C lampeggio Led
modifica la parte degli include così:
#include <pic.h>
#include "settings.h"
#include "delay.c"
fammi sapere
Marcello
#include <pic.h>
#include "settings.h"
#include "delay.c"
fammi sapere
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.