Go Down

Topic: curiosità su come funzionano le "maschere" (Read 593 times) previous topic - next topic

gingardu

volevo sapere a grandi linee   come funziona la modifica di alcuni parametri su microcontrollori tipo arduino
esempio  ci si collega al micro , (che di solito e una centralina)    con un programmino con delle caselle/maschere
con pochi valori da modificare/aggiustare  si inviANO SOLO I VALORI NUOVI
senza rimettere tutto il programma di nuovo

come funziona a grandi linee   e si potrebbe fare anche con arduino? 
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

leo72

Il microcontrollore Atmel ha una memoria EEPROM al suo interno che potresti usare per salvare dei parametri di configurazione. Ma per scriverci sopra devi collegarti fisicamente al chip come per programmarlo, quindi la praticità è pari a zero.

In alternativa, potresti usare una piccola memoria EEPROM esterna da qualche centinaio di byte montata su zoccolino contenente i parametri di funzionamento del programma, che questo carica all'avvio. Per modificare tali parametri basterebbe cambiare il chip.

Oppure lo stesso funzionamento lo si può ottenere con una schedina SD su cui scrivere i parametri, ma l'uso di una scheda SD porta via diversi kB di codice.

Un'altra soluzione, se il consumo di pin non è un problema, è usare i DIP Switch che imposti su ON o OFF manualmente. Oppure semplicissimi jumper da lasciare aperti o chiusi.


gingardu

adesso sembra tutto meno "nebbioso"   quindi in realta quando ci colleghiamo a qualche "centralina" che magari contiene 2-300 Kb di  codice
in realta ci colleghiamo a una piccola memoria esterna che contiene quei pochi parametri da modificare,

l'idea della sd potrebbe essere vincente se i pin bastano
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

leo72

Boh, non so com'è strutturata una centralina, cioè che tipo di integrato e che tipo di memorie adotta. Io parlo di un progetto basato su un microcontrollore: il suo firmware è scritto internamente ad esso così come la memoria EEPROM è contenuta dentro al micro. In entrambi i casi devi agganciarti con un programmatore e scrivere con avrdude sulla relativa memoria (Flash o EEPROM) un file binario già preparato.

Se invece devi solo cambiare poche impostazioni potresti operare con i metodi che ti ho suggerito. Se devi impostare poche variabili, forse la SD non è la scelta più logica dato che la sua gestione comporta alcune problematiche, vedi ad esempio l'usare determinati pin (dato che usa il l'SPI), il dover usare dei partitori per abbassare la tensione a 3,3V ecc, il consumare una dozzina di kB di Flash solo per gestire l'accesso alla schedina.

Un'alternativa potrebbe essere quella di un'interfaccia con 3 pulsanti ed un led. Al reset, il micro resta in attesa per un secondo della pressione di uno dei 3 pulsanti. Se la pressione avviene, entra in modalità programmazione e l'utente può impostare le funzionalità modificabili semplicemente premendo gli altri 2 pulsanti per scegliere ON e OFF (nel 1° caso accendi il Led, nel secondo no) e confermando con il 1° pulsante. Terminata la programmazione, memorizzi i flag nella EEPROM interna così che al prox riavvio siano disponibili.

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview