Alcune domande sul C18

11 Anni 10 Mesi fa #1 da Picboy
Alcune domande sul C18 è stato creato da Picboy
Allora sto ripartendo con il C dopo alcuni anni. Sto lavorando con compilatore C18 e PIC18F2620. Ho alcune domande:

1) Come faccio a memorizzare dati nella EEPROM del PIC alla programmazione del chip? C'è una funzione tipo EEPROM_DATA(....); ??

2) Devo mandare un comando seriale ad un RTC e poi leggere data e ora a partire dal simbolo ">". Ho fatto così ma non funziona:

while (BusyUSART());
putsUSART ((char *)Rich_ora); // Trasmetto la stringa di richiesta orario

LOP:
while (!DataRdyUSART()); // Aspetta per la ricezione di dati
dato = ReadUSART (); // Leggo il dato arrivato
if (dato == '>' ) // Se il dato ricevuto è ">" memorizza i dati successivi
{
for (i=0; i<20; i++)
{
//while (!DataRdyUSART()); // Aspetta per la ricezione di dati
DATO = ReadUSART (); // Leggo il dato arrivato
}
}
else
{
goto LOP;
}


3) Nel programma che sto facendo, ci sono una serie di menù di regolazione. In pratica ogni sottomenù del principale è un loop infinito in cui seleziono con due pulsanti UP e DOWN, confermo con il SET e passo al successivo. Ma poi come torno al main? Ho usato il GOTO, ma so che non si dovrebbe usare.... e poi mi torna all'inizio del main, e non nel punto dove voglio io....

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

  • Picboy
  • Junior Member
  • Junior Member
Di più
11 Anni 10 Mesi fa #2 da borelg
Risposta da borelg al topic Re: Alcune domande sul C18

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • borelg
  • Avatar di borelg
  • Elite Member
  • Elite Member
Di più
11 Anni 10 Mesi fa - 11 Anni 10 Mesi fa #3 da StefA
Risposta da StefA al topic Re: Alcune domande sul C18
1) tra le librerie LaurTec c'è anche la
"intEEPROM
Libreria per leggere e scrivere dati all'interno della memoria EEPROM presente nei PIC18."
Ovviamente è testata e funzionante, ci sono anche i sorgenti se vuoi vedere come scrivere direttamente, senza usare la libreria.

2)per ricevere i dati mi pare che fai un ciclo con dentro...
DATO = ReadUSART (); // Leggo il dato arrivato
ma in questo modo lui sovrascrive sempre il dato fino a che i = 19, dovresti mettere:
DATO = ReadUSART (); // Leggo il dato arrivato...dove DATO è un vettore di char

3)per uscire da un menù potresti fare nel seguente modo: aggiungi al menù una voce USCITA e quando premi set su quella voce, setti una variabile a 1 (ad es. exit = 1;); tutto il menù poi lo metti dentro un while, che ripete finché exit == 0.

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 11 Anni 10 Mesi fa da StefA.

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

  • StefA
  • Avatar di StefA
  • 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