- Messaggi: 47
- Ringraziamenti ricevuti 0
Programmino in C lampeggio Led
10 Anni 11 Mesi fa #6
da chip_x
Risposta da chip_x al topic Programmino in C lampeggio Led
Ciao Marcello, nulla. Il compilatore non da errori ma il led non si accende. Se riprogrammo il listato originale di Bernardo si accende.
Ti allego il file main.c e settings.h
Mistero...
ciao
Ti allego il file main.c e settings.h
Mistero...
ciao
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 #7
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Programmino in C lampeggio Led
forse ieri mi sono spiegato male, modifica il file main così:
//Lampeggio Led su RD0
// PIC 16F877A
// definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
#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)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
}
in parole povere la sequenza è questa:
prima crei il tuo file settings.h, all'interno del quale scrivi i vari define e le impostazioni delle porte
una volta fatto questo lo includi nel progetto (#include settings.h)
poi lo lanci all'interno della main, subito dopo il void main (void), con settings()
prova così e fammi sapere ( i fuses sono corretti)...
Marcello
//Lampeggio Led su RD0
// PIC 16F877A
// definisco quarzo
#define XTAL_FREQ 20MHZ
#include <pic.h>
#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)
{
settings();
//ciclo
while(1)
{
//xor su led
LED=LED^1;
//pausa di 250 millisecondi
DelayMs(250);
}
}
in parole povere la sequenza è questa:
prima crei il tuo file settings.h, all'interno del quale scrivi i vari define e le impostazioni delle porte
una volta fatto questo lo includi nel progetto (#include settings.h)
poi lo lanci all'interno della main, subito dopo il void main (void), con settings()
prova così e fammi sapere ( i fuses sono corretti)...
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
10 Anni 11 Mesi fa #8
da chip_x
Risposta da chip_x al topic Programmino in C lampeggio Led
OK funziona!
Info: ma se il file header sono solo impostazioni perchè dovrebbe essere incluso nel corpo principale del main?
Da quello che ho capito, e qui il forte dubbio,una funzione all'interno del main dovrebbe elaborare qualche cosa non impostare qualche cosa,di logica, sarebbe sufficiente inserirla sotto i fuses una sola volta.
Confusion..
Adesso mi cimento a fare un file header che elabori qualche cosa tipo somma (spunto da step_by_step).
Grazie ancora.
ciao
chip
Info: ma se il file header sono solo impostazioni perchè dovrebbe essere incluso nel corpo principale del main?
Da quello che ho capito, e qui il forte dubbio,una funzione all'interno del main dovrebbe elaborare qualche cosa non impostare qualche cosa,di logica, sarebbe sufficiente inserirla sotto i fuses una sola volta.
Confusion..
Adesso mi cimento a fare un file header che elabori qualche cosa tipo somma (spunto da step_by_step).
Grazie ancora.
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 - 10 Anni 11 Mesi fa #9
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Programmino in C lampeggio Led
per il semplice motivo che il tuo file settings lo puoi riutilizzare anche per altre applicazioni diverse... inoltre, rendi il codice più gestibile e leggibile in caso di errore. Se il codice è corto puoi anche farne a meno, ma se è lunghissimo e devi gestire tante applicazioni è preferibile "spezzettarlo". Per darti un'idea, guarda il progetto del robot domotino e pensa quanto sarebbe stato lungo il firmware se Mauro non l'avesse diviso in tanti files .h
d'altra parte, perchè la Microchip rilascia tanti files include nei suoi compilatori? se non lo facesse, li dovresti scrivere e riscrivere tu di sana pianta ogni volta, oppure fare sempre un copia ed incolla di quello che hai creato...
Marcello
d'altra parte, perchè la Microchip rilascia tanti files include nei suoi compilatori? se non lo facesse, li dovresti scrivere e riscrivere tu di sana pianta ogni volta, oppure fare sempre un copia ed incolla di quello che hai creato...
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 10 Anni 11 Mesi fa da Pinna.
Ringraziano per il messaggio: chip_x
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 #10
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Programmino in C lampeggio Led
un'altra cosa: eventuali calcoli falli nel main, il file settings, come dice il nome stesso, deve contenere solo le impostazioni...
Marcello
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.