Atmega328P vs PIC, guide e linguaggi

thexeno:
Per la velocità non so, ho sempre usato il 9600 baud... Per la porta COM come faccio a vedere qual'è in modo rapido?

In arduino-0022\hardware\arduino\boards.txt la velocità indicata per Arduino 2009 è 57600.
Per la porta COM devi andare a vedere in Gestione Dispositivi, alla voce Porte(COM e LPT) dopo aver collegato arduino. In alternativa apri l'IDE di arduino e vedi se c'è una COM oltre a quelle on-board del computer.

Tutta via non va, perché alla fine mi dice

avrdude.exe: stk500_getsync(): not in sync: resp=0x00

avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

Prova a sostituire -cstk500v1 con -cstk500. In un modo o nell'altro deve sicuramente funzionare.

Però potrò usare il C in modo più libero senza le funzioni Setup e Loop?

Se ti va di rinunciare a Wiring, alle librerie di arduino e ti piace agire direttamente sui registri per determinarne la funzionalità, si.

Ciao
QP

Ho modificato la risposta di prima.. take a look :slight_smile:

Prova ad sostituire il ** con / nei percorsi. Inoltre se ci sono spazi usa " per delimitare i path.
Ho appena fatto una verifica con Arduino UNO ed il risultato è il seguente:

avrdude.exe: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             System wide configuration file is "C:/arduino-0022/hardware/tools/avr/etc/avrdude.conf"

             Using Port            : COM3
             Using Programmer      : stk500
             Overriding Baud Rate  : 115200
avrdude.exe: successfully opened stk500v1 device -- please use -c stk500v1
             AVR Part              : ATMEGA328P
             Chip Erase delay      : 9000 us
             PAGEL                 : PD7
             BS2                   : PC2
             RESET disposition     : dedicated
             RETRY pulse           : SCK
             serial program mode   : yes
             parallel program mode : yes
             Timeout               : 200
             StabDelay             : 100
             CmdexeDelay           : 25
             SyncLoops             : 32
             ByteDelay             : 0
             PollIndex             : 3
             PollValue             : 0x53
             Memory Detail         :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65     5     4    0 no       1024    4      0  3600  3600 0xff 0xff
               flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

             Programmer Type : STK500
             Description     : Atmel STK500
             Hardware Version: 3
             Firmware Version: 3.3
             Vtarget         : 0.3 V
             Varef           : 0.3 V
             Oscillator      : 28.800 kHz
             SCK period      : 3.3 us

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: reading input file "D:/ArduinoProject/FileCompilazione/Demo.cpp.hex"
avrdude.exe: writing flash (1018 bytes):

Writing | ################################################## | 100% 0.16s

avrdude.exe: 1018 bytes of flash written
avrdude.exe: verifying flash memory against D:/ArduinoProject/FileCompilazione/Demo.cpp.hex:
avrdude.exe: load data flash data from input file D:/ArduinoProject/FileCompilazione/Demo.cpp.hex:
avrdude.exe: input file D:/ArduinoProject/FileCompilazione/Demo.cpp.hex contains 1018 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 0.13s

avrdude.exe: verifying ...
avrdude.exe: 1018 bytes of flash verified

avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

scusate se mi intrometto, quello è il codice d'errore dell'autoreset, che penso dipenda da Arduino e NON dal software.
Prima di lanciare lo sketch prova ad infilare un condensatore elettrolitico o al tantalio, da 10 µF, col + nel pin 3,3V di Arduino ed il - nel pin RST di Arduino e poi riesegui il comando, secondo me risolvi, fermo restando i consigli di sintassi di QP, che devi seguire alla lettera.

QuercusPetraea:
Prova ad sostituire il ** con / nei percorsi.

Mother of God, mi stai dicendo che un programma su Windows usa la sintassi Linux? (e sembra funzionarti).

Più che di slash o backslash, che avrdude interpreta correttamente perchè è lui che legge gli "Arguments", il tuo problema sembra essere l'accesso al file .hex che avrdude non trova come si nota dal tuo log

avrdude.exe: reading input file "C:\Users\TheXeno\Documents\AVRStudio 5.1\Inizio\Inizio\DebugInizio.hex"
avrdude.exe: can't open input file C:\Users\TheXeno\Documents\AVRStudio 5.1\Inizio\Inizio\DebugInizio.hex: No such file or directory
avrdude.exe: write to file 'C:\Users\TheXeno\Documents\AVRStudio 5.1\Inizio\Inizio\DebugInizio.hex' failed

Quindi, o manca il file .hex o il percorso è mal interpretato per via dello spazio esistente tra AVRStudio e 5.1. Prova ad inserire il percorso al file .hex, racchiuso tra doppi apici, sostituendo la stringa "$(ProjectDir)Debug$(ItemFileName).hex" in Arguments.
Se così dovesse funzionare ti consiglio di utilizzare sempre un percorso di destinazione privo di spazi per i tuoi progetti, inserendolo in Tools -> Options -> Projects and Solutions -> General -> Projects location: come opzione predefinita.

Ciao
QP

lo \ è un carattere di escape (vedi \n, \t, etc...)
per risolvere deve essere sostituito con \.
good luck

p.s. non ho letto la discussione, ho visto che parlavate di ciò e mi son buttato "a bomba"

Mi par di capire che non ti piacciono i PIC e chi li produce... :stuck_out_tongue:

legacy:
@Lesto
freescale (ex motorola semiconduttori) quali ?

  • coldfire ?
  • (hc11), hc12, hc16 ?
  • powerpc embedded series ?
  • etc

da buon "quasi-amigista-per-caso" i coldfire non me li potevo perdere :grin:

onestamente volevo usare qualcosa del tipo MC9S08QD2VPC, che se non erro è un HC8.
come si programma (sia lato SW che lato HW)?
ha la memeria interna espandibile, come si usa?
hanno qualche particolarità?
ho provato a chiedere info sul forum freescale, ma non mi hano risposto =(

@Astrobeed: non capisco cosa dici quando parli di "sicuramente non free" riferendoti ad AVR. Cioè, io sto iniziando a programmare con AVR Studio 5 ed è gratuito.. :expressionless:

@QP: non è lo spazio, è qualcos'altro. Adesso vedo... EDIT: funge! :smiley: Ho gloriosamente scritto un ciclo while infinito che non fa una beneamata cosa. Linea di comando corretta: -C C:\Users\TheXeno\Documents\arduino-0022\hardware\tools\avr\etc\avrdude.conf -v -v -p atmega328p -c stk500v1 -P COM3 -b 57600 -D -U flash:w:"$(ItemDir)$(ItemFileName).hex":i
EDIT: Alla modifica di un programma, l'ide mi dice chei l file .hex è stato modificato fuori dall'editor e mi chiede se lo voglio ricaricare. Qualunque risposta dia, devo pasticciare con le (itemDir) per rifarlo andare. Per pasticciare intendo rimettere/togliere a random fino a qunado funziona XD C'è un modo per farlo senza problemi ed evitare di mettere il percorso in modo statico tra virgolette?

thexeno:
@Astrobeed: non capisco cosa dici quando parli di "sicuramente non free" riferendoti ad AVR.

Non ad AVR, ma al confronto tra MPLAB e AvrStudio, se vuoi qualcosa che abbia le stesse potenzialità del primo per i micro Atmel devi pagarlo molti soldi.
Indipendentemente da quello che sostiene un "certo personaggio" MPLAB è un ambiente di lavoro ottimo, ovvio che non può ne essere perfetto e nemmeno esente da bug, ma questo vale per tutti i sistemi di sviluppo indipendentemente da chi li realizza.
MPLAB ha il grande pregio che vengono rilasciati aggiornamenti quasi mensili dove vengono corretti bug, inserite nuove funzionalità e aggiornato il supporto alle famiglie di micro, la stessa cosa non si può dire di AvrStudio sebbene lo reputo lo stesso un buon sistema di sviluppo e ci lavoro spesso e volentieri.

Ho capito. Beh, per fare accendere dei led per prendere dimestichezza con il C puro su questi mpu, direi che è fin troppo AVR Studio XD

thexeno:
Ho capito. Beh, per fare accendere dei led per prendere dimestichezza con il C puro su questi mpu, direi che è fin troppo AVR Studio XD

Mai detto il contrario :slight_smile:

@QP: vedi post#32 :slight_smile:

@legacy: rischiamo di andare troppo OT e diluire le informazioni che sto cercando. Se avete problemi risolveteli in un altra discussione..

legacy:

astrobeed:
Indipendentemente da quello che sostiene un "certo personaggio" MPLAB è un ambiente di lavoro ottimo, ovvio che non può ne essere perfetto e nemmeno esente da bug, ma questo vale per tutti i sistemi di sviluppo indipendentemente da chi li realizza.

ahahaahha ma non avevi messo il filtro a crome per non leggere quello che scrivo? Altra palese dimostrazione che sei un cioccolataio, cioe' uno dice una cosa e ne fa una altra, esattamente come le promesse che hai fatto e che non hai mantenuto, e nel pensare che il mondo giri attorno a te (cosa che per un 14nne e' normale, per un 50nne e' semplicemente imbarazzante) sei cosi' goffo che hai confermato quello che dicevo io: ovvero che l'ambiente di Microchip abbia costantemrnte bisogno di bug fix e questo perche' fa pena come ambiente, altro che potenzialita' e compagnia bella, questo lo pensi tu che avrai sicuramente degli interessi economici nel sostenerlo altrimenti posso anche pensare il peggio di te, e a livello tecnico, perche' chiunque ci abbia avuto a che fare a livello lavorativo serio confermera' almeno in parte le lamentele che ho fatto io, esattamente come chi in universita' si e' visto OBBLIGATO ad usare roba Microchip solo perche' quell'azienza fa lobby spacciandosi come benefattrice regalando un paio di schede e un paio di ICE e ICD costringendo poi tutti ad usare la sua roba.

Pero' veri a me non frega assolutamente niente di star qui a discutere con te per il semplice fatto che tanto alla fine vuoi sempre avere ragione tu, come quando hai sostenuto che il raspberry era una mega sola, un mega complottone galattico facendoci poi una figura di cacca.

Chi se ne frega Astro, chi se ne frega, pensa quello che ti pare, scrivi quello che ti pare, convinci chi ti pare che sei un professionista e che questo abbia peso nelle giustificazioni, e a me di perdere tempo in queste frignacce da forum me ne frega meno di zero.

Giusto per farti capire quanto sei patetico, specialmente nell'atteggiamento che hai assunto con la storia del filtro crome (e almeno fosse vero !!!)

Ti quoto per intero così rimane tutto prima che come tuo solito vai a modificare quanto scrivi.
Come sempre dimostri quanto sei piccolo come personaggio e confermi per l'ennesima volta il fatto che sei un troll.

Doppio quote conservativo (infatti e' gia' modificato)
Ed in piu' ho chiesto il ban,
distinti saluti :slight_smile:

legacy:

astrobeed:
Indipendentemente da quello che sostiene un "certo personaggio" MPLAB è un ambiente di lavoro ottimo, ovvio che non può ne essere perfetto e nemmeno esente da bug, ma questo vale per tutti i sistemi di sviluppo indipendentemente da chi li realizza.

ahahaahha ma non avevi messo il filtro a crome per non leggere quello che scrivo? Altra palese dimostrazione che sei un cioccolataio e cioe' uno dice una cosa, promette di fare qualcosa e poi ne fa una altra, esattamente come le promesse che hai fatto e che non hai mantenuto circa il rilascio del tuo fantomatico codice cosa che non hai fatto e che probabilmente mai farai, pero' ha trattato male la gente, perche' secondo te avere un caratteraccio e' giustificato da tutte le frignacce che quotidianamente vieni a riversare nel forum, dove palesi quotidianamente che il mondo giri attorno a te , perche' tu sei un professionista ed hai sempre ragione tu, sempre e comunque e su qualsiasi cosa (cosa che per un 14nne e' normale, per un 50nne e' semplicemente imbarazzante), e il bello e' che sei cosi' goffo che non solo non te ne rendi nemmeno conto ma che ora hai persino confermato quello che dicevo io: ovvero che l'ambiente di Microchip abbia costantemrnte bisogno di bug fix e questo perche' fa pena come ambiente, altro che potenzialita' e compagnia bella, questo lo pensi tu che avrai sicuramente degli interessi economici nel sostenerlo altrimenti posso anche pensare il peggio di te, e a livello tecnico, perche' chiunque ci abbia avuto a che fare a livello lavorativo serio confermera' almeno in parte le lamentele che ho fatto io, esattamente come chi in universita' si e' visto OBBLIGATO ad usare roba Microchip solo perche' quell'azienza fa lobby spacciandosi come benefattrice regalando un paio di schede e un paio di ICE e ICD costringendo poi tutti ad usare la sua roba.

Pero' veri a me non frega assolutamente niente di star qui a discutere con te per il semplice fatto che tanto alla fine vuoi sempre avere ragione tu, come quando hai sostenuto che il raspberry era una mega sola, un mega complottone galattico facendoci poi una figura di cacca. Per me e' tempo perso, io so da me il fatto mio, e quindi chi se ne frega Astro, chi se ne frega, pensa quello che ti pare, scrivi quello che ti pare, convinci chi ti pare che sei un professionista e che questo abbia peso nelle giustificazioni, e a me di perdere tempo in queste frignacce da forum me ne frega meno di zero.

TI ho risposto per l'ultima volta giusto per farti capire quanto sei patetico, specialmente nell'atteggiamento che hai assunto con la storia del filtro crome (e almeno fosse vero !!!)

@QP: vedi post#32

Ho visto ma non so che dirti. A me funziona senza problemi. Sempre.

Ciao
QP

Ok grazie lo stesso! in ogni caso è un problema di tipo "burocratico" che ora è trascurabile :smiley:

PS: ottime guide cui sto facendo riferimento:

http://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf :stuck_out_tongue:

thexeno:
Ok grazie lo stesso! in ogni caso è un problema di tipo "burocratico" che ora è trascurabile :smiley:

PS: ottime guide cui sto facendo riferimento:
How to start using AvrStudio, C code and Arduino | HeKilledMyWire
http://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf :stuck_out_tongue:

Sono sicuro che ce la puoi fare :wink:
Questo è più interessante http://www.engblaze.com/tutorial-using-avr-studio-5-with-arduino-projects/.

Comunque ho potuto semplificare alcuni passaggi con la versione 5.1 di AVR Studio, dove Atmel ha sistemato alcuni bug relativamente ai parametri del linker nel makefile. Appena riesco posto i risultati e le istruzioni sul forum.

Ciao
QP

@QP: la tua guida è utile (per me eh, non per chi legge :wink: ) solo fino ad un certo punto. Il mio obiettivo è uscire dai vincoli Setup e Loop del wiring. Grazie comunque, è solo per chiarire i miei obiettivi.