Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #45 on: March 06, 2012, 09:40:12 am » |
Perchè non memorizzi il catalogo dei micro in una eeprom esterna ,così ti puoi allargare con il numero dei micro supportati a tutti i pdip.
Ma perché deve complicarsi la vita quando ha 32k di flash a disposizione, hai voglia a memorizzare micro 
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #46 on: March 06, 2012, 09:47:13 am » |
 dici che bastano per tutti i micro a 8 bit pdip?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16539
Don't know what I do
|
 |
« Reply #47 on: March 06, 2012, 09:50:26 am » |
Perchè non memorizzi il catalogo dei micro in una eeprom esterna ,così ti puoi allargare con il numero dei micro supportati a tutti i pdip.
Perché ormai l'HW è definito e non può usare componenti aggiuntivi. Inoltre avere tutto in un unico firmware è per lui molto vantaggioso, dato che il firmware sarà disponibile per il download dal sito della rivista. Quindi la gente dovrà flashare 1 sola cosa. (così ho capito)
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #48 on: March 06, 2012, 09:53:49 am » |
ok, capito. Ma per espansioni future... 
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #49 on: March 06, 2012, 10:56:10 am » |
 dici che bastano per tutti i micro a 8 bit pdip? Facciamo due conti utilizzando le matrici che ho consigliato a Michele, ipotizzando di memorizzare i dati di 100 micro abbiamo quanto segue: 20*100 = 2000 byte per le descrizioni 3*100 = 300 byte per le signature 4*100 = 400 byte per i fuse e i dati accessori -------------------- Totale 2700 byte Direi che volendo ci entra pure tutto il catalogo Atmel delle mcu a 8 bit e avanza molto spazio 
|
|
|
|
« Last Edit: March 06, 2012, 10:57:43 am by astrobeed »
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #50 on: March 06, 2012, 11:47:27 am » |
Noto con piacere che Leo e BB si passano la palla, BB!!!!  dopo tutta la questione di ieri ancora parliamo di modifiche hardware?  Leo, hai capito benissimo  , in realtà i firmware da flashare saranno tre: micro master PC micro master stand-alone micro key+lcd i primi due sono alternativi, cioè metto l'uno o l'altro, perché non credo di riuscire a tirare fuori un unico firmware in grado di riconoscere la presenza dell'altro micro e gestire i messaggi seriali di conseguenza. Ricordo a tutti che TUTTE LE LINEE sono occupate e non potevo usare la comunicazione I2C quindi li ho collegati tramite seriale standard; in pratica sul pcb master ho un connettore seriale che all'occorrenza mi serve come presa per un convertitore usb-seriale esterno (per collegamento al PC) oppure per il dialogo col PCB keypad+LCD20x4, gestiti da un altro 328P che ovviamente avrà il suo firmware. Tutto sarà gratuitamente scaricabile dal sito di Elettronica In, a questo punto mi pare che la soluzione di Astro sia perfetta, non penso nemmeno che si arrivi ad un centinaio, e comunque una parte sarebbero incompatibili con i segnali, credo, quindi perdere un paio di K di flash è qualcosa di fattibilissimo, addirittura mi verrebbe la tentazione di usare la ram a questo punto  che ne dite? Comunque fra poco mi metto al lavoro, ho altri dubbi da levarmi: ho letto che il tiny2313 usa un HVSP un po' "potenziato", con un paio di segnali in più, no problem, ma voglio capire ora cosa succede col riconoscimento automatico; inoltre sono curiosissimo di provare un ATmega8 che avevo fatto fuori a suo tempo, proprio morto, non bricked  , ma che qualche segno di vita forse lo dava, vediamo che succede anche qui. A dopo 
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #51 on: March 06, 2012, 11:55:58 am » |
credo, quindi perdere un paio di K di flash è qualcosa di fattibilissimo, addirittura mi verrebbe la tentazione di usare la ram a questo punto  che ne dite? In realtà non credo che metterai più di 20 modelli diversi di micro, anche perché puoi inserire solo quelli disponibili in case dip il che esclude molti modelli di micro, p.e. il MEGA2560. Rifacendo i conti per 20 modelli abbiamo : 20x20 = 400 20x3 = 60 20x4 = 80 ------------ Totale 540 byte. Sicuramente entrano senza problemi nella ram visto che te ne serve poca per far funzionare lo sketch, però a mio avviso i dati statitici è sempre bene caricarli nella flash piuttosto che nella ram o nella EEPROM.
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #52 on: March 06, 2012, 05:37:06 pm » |
La riga dell'array della signature mi dà errore di compilazione: 41: error: hexadecimal floating constants require an exponent 42: error: expected initializer before 'signature' l'istruzione è questa: char byte signature [3] [20] = { {0x1E,0x95,0x0F}, {0x1E,0x93,0x0D}, {0x1E,0x91,0x0A}, {0x1E,0x93,0x0C} };
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16539
Don't know what I do
|
 |
« Reply #53 on: March 07, 2012, 01:06:34 am » |
Beh, il compilatore ha ragione. O char o byte, mica puoi dichiararlo di 2 tipi diversi  E poi hai invertito le dimensioni dell'array, nel tuo modo vuoi creare un array di 3 elementi da 20 caratteri l'uno, a te serve l'opposto, quindi: byte signature [20] [3] = { {0x1E,0x95,0x0F}, {0x1E,0x93,0x0D}, {0x1E,0x91,0x0A}, {0x1E,0x93,0x0C} };
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #54 on: March 07, 2012, 01:13:58 am » |
Beh, il compilatore ha ragione. O char o byte, mica puoi dichiararlo di 2 tipi diversi  Questo è colpa mia, quando ho fatto copia e incolla è successo un casino del quale non mi sono accorto, ci va solo byte, adesso correggo l'esempio originale. E poi hai invertito le dimensioni dell'array, nel tuo modo vuoi creare un array di 3 elementi da 20 caratteri l'uno, a te serve l'opposto, quindi:
No queste sono giuste, 3x20 e non 20x3, visto che è la signature.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16539
Don't know what I do
|
 |
« Reply #55 on: March 07, 2012, 01:19:16 am » |
Compila con 3x20 e vedi se non ti da errore.  3 elementi da 20 caratteri l'uno, qui abbiamo invece il caso inverso: dobbiamo memorizzare tanti elementi da 3 caratteri l'uno, serve una matrice x*3, con x che è il numero di signature da contenere
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #56 on: March 07, 2012, 01:26:22 am » |
Compila con 3x20 e vedi se non ti da errore.  Mi sa che stamattina sto ancora dormendo, hai ragione anche i due valori dell'inizializzazione sono invertiti tra loro, questo è quello che succede quando si scrive al volo del codice senza provarlo. 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16539
Don't know what I do
|
 |
« Reply #57 on: March 07, 2012, 01:47:18 am » |
Mi sa che stamattina sto ancora dormendo, hai ragione anche i due valori dell'inizializzazione sono invertiti tra loro, questo è quello che succede quando si scrive al volo del codice senza provarlo.  Dalle mie parti si dice che " sbaglia anche il prete all'altare" 
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #58 on: March 07, 2012, 03:03:26 am » |
Diciamo che la mia dichiarata in Topic fatale ignoranza non mi ci ha fatto capire nulla, al solo comando "byte" ero arrivato ma non capivo l'errore successivo, evidentemente quello dell'inversione, ed il fatto che la prima istruzione avesse 20, 20 non mi ha aiutato a capire. COmunque ieri sera ho messo a punto grosso modo l'impostazione del 4° byte dell'array signature, mi servono 6 valori per le possibili combinazioni di EFuse e Tipo di Programmazione; sono state fondamentali le prove hw che ho descritto nell'altro Topic. Grazie a tutti, oggi altra giornataccia, ci sentiamo appena possibile.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 17
Posts: 3933
Arduino rocks
|
 |
« Reply #59 on: March 07, 2012, 03:51:59 am » |
io cambierei l'hardware  (battuta per iscrizione)
|
|
|
|
|
Logged
|
|
|
|
|
|