Pages: 1 ... 3 4 [5] 6 7 8   Go Down
Author Topic: Dove iniziare per programmare SAM3U  (Read 5881 times)
0 Members and 1 Guest are viewing this topic.
Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mmmmmm, ero sicuro che l'operatore << fosse solo un'istruzione per il precompilatore...
Sarebbe da controllare il compilato cosa fa perché ci sta che il precompilatore, riconoscendo che 1 << 5 è un'operazione eseguibile a tempo di compilazione la esegua lui. Per tagliare la testa al toro lo sostituirò con 0b00010000...  smiley-wink
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 327
Posts: 22635
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se tu fai 1<<5 è un conto, se tu fai a<<5 è un altro.
Nel primo caso hai 2 costanti numeriche, e quindi il compilatore potrebbe (ma non è detto: tu a scuola hai studiato gcc, immagino, ma qui usiamo avr-gcc, che potrebbe anche ragionare in maniera diversa) sostituire il valore già calcolato. Ma nel secondo caso il compilatore non sa che valore assumerà a per cui come può eseguire in anticipo l'operazione?
Logged


Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si si, nel secondo caso è indubbio che non può essere calcolato a tempo di compilazione, ma nel primo caso sarebbe da controllare.
Non ho studiato gcc, ho fatto elettronica, non informatica, ma ho avuto un esame praticamente quasi sull'atmega, oltre che un po' di pld. Io ho il ricordo che il prof. ci avesse detto che 1 << 5 il precompilatore lo sostituisse in 0b00010000 però effettivamente mi hai fatto venire il dubbio. Magari mi ricordo male.
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 123
Posts: 9300
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ci avesse detto che 1 << 5 il precompilatore lo sostituisse in 0b00010000 però effettivamente mi hai fatto venire il dubbio. Magari mi ricordo male.

Tutti i compilatori degni di questo nome, e gcc lo è, risolvono i calcoli su costanti durante il processo di compilazione sostituendo direttamente il valore calcolato.
Esempio pratico se scrivo "byte A; A = 3x2;" il compilatore assegna ad A direttamente il valore 6 senza inserire il calcolo nel programma, ovvero la riga diventa "A = 6;".
Logged

0
Offline Offline
Faraday Member
**
Karma: 31
Posts: 2908
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vero ha ragione astro. Il preprocessore processa macro e non fa calcoli, ma il precompilatore a cui si riferisce janos anche se la documentazione non ne parla lo potremo anche chiamare così. Tutte le operazioni che coivolgono operandi il cui valore è conosciuto a tempo di compilazione vengono risolte. Se il valore di un'operando non è conosciuto a tempo di compilazione il calcolo verra effettuato a run-time.

Però nessuno mi ha fatto i complimenti per il codice delle ISR ridotto all'osso grazie all'or exclusivo. Si vabbe che non è farina del mio sacco in quanto ho scoperto quel codice all'interno di una libreria, ma si tratta comunque di buon codice che merita.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10461
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non ci avevo fato caso, è un bel sistema quello dell'xor.
Ora bisogna scoprire se è velocizzato abbastanza smiley
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 123
Posts: 9300
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Però nessuno mi ha fatto i complimenti per il codice delle ISR ridotto all'osso grazie all'or exclusivo.

Mi era sfuggito, in effetti è una soluzione elegante e molto efficace.

Logged

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non ci avevo fatto caso neppure io allo xor... Cavolo, è geniale... =) Non ci pensavo...
Logged

0
Offline Offline
Full Member
***
Karma: 1
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Janos,
ho visto che accennavi all'interesse per stm32f4 , non so' se avevi gia' visto il nostro progetto :
http://www.virtualrobotix.com/profiles/blogs/vr-multipilot32f4-the-most-powerful-auto-pilot-in-the-world-compa
Abbiamo gia' fatto tutto il porting delle API base di arduino sull'F4 e anche di tutte le librerie del progetto arducopter.
Il micro ha prestazioni incredibili rispetto ad un avr mega.
Nel link che ti ho dato hai tutti i dati.
Il nuovo Arduino DUE non sara' sul SAM3U smiley Quello si chiamava Arduino 1500 e l'avevo progettato io smiley Un anno e mezzo fa' .
Saluti
Roberto
Logged

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bel lavoro, ma costa troppo per essere un'oggetto sul quale dovrò fare delle prove...  smiley-wink
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 123
Posts: 9300
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bel lavoro, ma costa troppo per essere un'oggetto sul quale dovrò fare delle prove...  smiley-wink

Se vuoi iniziare ad usare gli ST32 ci sono delle ottime board low cost di ST, p.e. questa con l'ST32F4 (core Cortex M4 con FPU) che da RS paghi solo 12.6 Euro + iva, 22 Euro compresa la spedizione.
Logged

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

già è un prezzo più abbordabile... =)
E di questo libro che ne pensi? http://www.amazon.it/OS-III-Real-Time-Freescale-Kinetis-Cortex-M4/dp/0982337523/ref=sr_1_1?ie=UTF8&qid=1336942701&sr=8-1
Logged

0
Offline Offline
Faraday Member
**
Karma: 31
Posts: 2908
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
già è un prezzo più abbordabile... =)
Caspita regalato, altro che abbordabile.

Quel libro non l'ho mai letto, costicchia pure e dal titolo si riferisce a freescale (che mi sta sulle p...e), l'uncio vantaggio è che prende in considerazione proprio il cortex-M4.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cosa vuol dire freescale?  smiley-roll-blue
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10461
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

è una marca di microcontrollori.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: 1 ... 3 4 [5] 6 7 8   Go Up
Jump to: