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 :(
Allegati:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • chip_x
  • Senior Member
  • Senior Member
Di più
10 Anni 11 Mesi fa #7 da Pinna
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

Chi vola vale, chi vale vola, chi non vola è un vile

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • chip_x
  • Senior Member
  • Senior Member
Di più
10 Anni 11 Mesi fa - 10 Anni 11 Mesi fa #9 da Pinna
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

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
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
10 Anni 11 Mesi fa #10 da Pinna
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

Chi vola vale, chi vale vola, chi non vola è un vile

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login