Pages: 1 ... 25 26 [27] 28 29 ... 36   Go Down
Author Topic: Topic permanente di programmazione newbie  (Read 22029 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

con COM1 parte ma poi ovviamente dà errore; ho capito che il problema è che non riesce a concepire queste COMxx, ma che posso farci io? come faccio a impostare Arduino su una COM2 o similari?

Sono riuscito a reindirizzare Arduino su COM2, ho impostato 9600baud, ora avviene l'accesso ma mi dà errore di sync... mi sa che non è cosa
« Last Edit: April 18, 2012, 04:01:38 pm by Michele Menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 312
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ogni opzione vuole il suo parametro, quindi se vuoi cambiare velocità devi mettere -b 19200 -P porta.
Per la porta non so come fare a vederle su Windows, prova collegando l'Arduino e poi aprendo l'icona del Computer per vedere su quale porta viene mappata la scheda.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leuccio,ma stasera non mi ascolti, va bene che è quasi ora di ninna smiley-grin
Ho detto che la porta è quella, la COM60 ma AVRDUDE non la gradisce in dos, l'ho cambiata in COM2 da gest periferiche ed ora il comando parte ma fa storie di sync (sembrano probemi del reset).
Ora ho anche provato il programma di amario57, il Sina Prog 2, ho ripristinato la COM60 ma anche qui mi dà errore di sync; sto lavorando direttamente su Arduino, senza collegamento ISP
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 312
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah... c'era una sintassi particolare per indicare la porta com ad avrdude... non mi ricordo.
E se non ce la metti? Da qualche part ho letto che se il programmatore è su porta USB, è indifferente.

EDIT:
prova \\.\COMxx
« Last Edit: April 18, 2012, 04:42:48 pm by leo72 » Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

niente da fare, con entrambe le prove, sempre errore 0x14 e 0x51, è il reset credo; sono stanco, domattina ho un paio d'ore libere, rifaccio prove a mente fresca o quasi. notte e grazie del supporto smiley
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

0
Online Online
Faraday Member
**
Karma: 38
Posts: 5603
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma su com 2 arduino normalmente usato, cioe inviare blink via ide seriale, funziona ?
Se funziona lascialo li, non si puo leggere Com60 nei tuoi messaggi  smiley
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Rovereto
Offline Offline
Full Member
***
Karma: 0
Posts: 152
La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Confermo che avrdude ha problemi con numeri di COM alti (ma non ne conosco il limite massimo).
Puoi comunque forzare l'assegnamento del numero di COM andando in Risorse del computer -> Proprietà -> Hardware ->Gestione periferiche.
Quindi click destro sulla porta da modificare (COM60 nel tuo caso) e selezioni Proprietà -> Impostazioni della porta -> Avanzate -> Numero di porta COM e selezioni un numero basso, magari sotto il 10. Ti viene sicuramente segnalato che quella porta è già in uso da parte di un altro dispositivo, ma confermando forzi il nuovo assegnamento. Stacca e riattacca arduino e verifica che l'assegnamento richiesto sia avvenuto.
Questo con XP ma è del tutto analogo in Win7.

Ciao
QP
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"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

Confermo che avrdude ha problemi con numeri di COM alti (ma non ne conosco il limite massimo).

Windows, ogni volta che viene collegato un dispositivo USB di tipo CDC (Vcom), assegna una nuovo numero di porta seriale se sono soddisfatte queste due condizioni, Vid e Pid del device USB non ancora registrato e numero di serie non ancora registrato, questo modo di procedere è sia un vantaggio che uno svantaggio al tempo stesso.
Può fare molto comodo che windows mappi differentemente due device Vcom identici, cioè stesso Pid e Vid, ma con diverso numero di serie, perché in questo modo posso collegare due, o più, diversi Arduino avendo la certezza che avranno sempre lo stesso numero di Vcom quando collegati alla stessa porta seriale indipendentemente da quanti altri dispositivi CDC ho collegato nel tempo a quella porta, per contro con questo modo di procedere è facile trovarsi nel tempo con un numero enorme di Vcom assegnate e non tutti i programmi sono capaci di accedere a valori della Vcom alti, anzi spesso sono limitati solo fino a 10.
Da notare che cambiare semplicemente il numero della porta ad una periferica esistente non sempre funziona se prima non si disinstalla il precedente device.
C'è un modo per evitare che Windows assegni nuovi numeri di Vcom ogni volta che si collega un device con lo stesso Pid e Vid, ma con numero seriale diverso, basta aggiungere una voce al registry, poi apro un topic dedicato a questa cosa, in questo modo ogni volta che si collega un Arduino dello stesso modello, anche se sono schede diverse, viene usato sempre e solo il numero di Vcom assegnato alla prima connessione.
Per fare piazza pulita di tutte le Vcom assegnate nel tempo, di cui la maggior parte spesso non viene più utilizzata, c'è un modo semplicissimo, basta aggiungere alle variabili di sistema la voce "devmgr_show_nonpresent_devices" e settarla a 1, in questo modo andando nella "gestione periferiche" basta attivare attivare dal menù "visualizza" la voce "mostra periferiche nascoste" per vedere tutte le periferiche che sono state installate anche se non in uso o scollegate, dopo di che aprire la voce relativa alle porte COM e LPT per vedere tutta la lista e a questo punto eliminare le porte di troppo usando l'opzione disinstalla.
Fatto quanto sopra quando si collega nuovamente una delle periferiche cancellate sarà necessario reinstallare i driver e verrà assegnata il primo numero più basso di Vcom disponibile.
Esempio pratico ho le porte da 1 a 28 assegnate a schede "fantasma", la 29 e la 30 assegnate al cellulare, disinstallo dalla 1 alla 28 e quando ricollego Arduino dopo la procedura di installazione dei driver gli viene assegnata la porta 2 o la 3, dipende dalla mother board perché le prime due sono quasi sempre riservate alle seriali hardware anche se non presenti.

Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La questione posta da Astro è estremamente interessante e comoda; io effettivamente tra le tante cose che ho collegato al PC (internet key, cellulari, convertitori, arduini vari) sono arrivato alla COM 76 smiley-eek
Come ho già detto sono riuscito a cambiare nelle periferiche la COM da 60 a 2, al riavvio IDE l'ha trovata e sono riuscito a lavorarci senza problemi. A questo punto ho riprovato con AVRDUDE e mi dà errore di sync (non più l'errore di COM precedente); allora ho scompattato il Sinaprog2.0 gentilmente offerto da Amario57 ma è la stessa cosa, anche se qui non ho capito come settarlo.
Separiamo le due cose, che stamattina sono un po' più "leggero" e posso fare diverse prove:
Ripartiamo da AVRDUDE. La mia configurazione è: Arduino UNO visto su COM2, IDE 0022 con Astro-toolchain, ISP di Leo&BB, un 328P in stand-alone a 1MHz. Domanda, la sintassi:
Code:
C:\avr\bin\avrdude.exe -C"C:\avr\etc\avrdude.conf"  -p atmega328p -cstk500v1 -b 9600
-P COM2 -Uflash:r: C:\Flash.hex:i
dovrebbe leggere la flash del 328 in stand alone e memorizzarla in un file Flash.hex in C:\?
Mi dà l'errore:
Code:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
che è quello che l'IDE mi dà quando dimentico il condensatore per l'antiautoreset e cerco di programmare Arduino.
« Last Edit: April 19, 2012, 02:12:35 am by Michele Menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 312
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Mike:
rileggendo i vecchi msg, io ti avevo scritto:
Riprendendo ciò che ha prodotto la tua IDE direi di provare questo:
avrdude -CC:\arduino-0022\hardware/tools/avr/etc/avrdude.conf  -patmega328p -cstk500v1 -P\\.\COM60 -b19200 -Uflash:r:C:\Flash.hex:i

Ma tu stai continuando ad usare questo:
Code:
C:\avr\bin\avrdude.exe -C"C:\avr\etc\avrdude.conf"  -p atmega328p -cstk500v1 -b 9600
-P COM2 -Uflash:r: C:\Flash.hex:i
Lasciamo da parte la questione dell'indicazione della porta (\\.\COM60 contro COM60 e basta) però è la velocità differente. Io ho segnalato 19200 bps, tu metti 9600. L'ArduinoISP della 002x lavora a 19200.
Logged


Rovereto
Offline Offline
Full Member
***
Karma: 0
Posts: 152
La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Con la versione 0023, che richiede un baudrate a 115200, funziona senza problemi.

Quote
C:\Documents and Settings\tgiovanni>C:\arduino-0023\hardware\tools\avr\bin\avrdu
de.exe -C "C:\arduino-0023\hardware\tools\avr\etc\avrdude.conf"  -p atmega328p -
cstk500v1 -b 115200 -P com4 -Uflash:r:"C:\Lavoro-temp\flash.hex":i

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

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

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: reading flash memory:

Reading | ################################################## | 100% 4.64s

avrdude.exe: writing output file "C:\Lavoro-temp\flash.hex"

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

Ciao
QP

Edit: parte del codice scaricato
Quote
:200000000C9463000C948B000C948B000C948B000C948B000C948B000C948B000C948B00B0
:200020000C948B000C948B000C948B000C948B000C948B000C948B000C948B000C948B0068
:200040000C9419030C948B000C944D040C948B000C948B000C948B000C948B000C948B00F1
:200060000C949E010C948B0000000000240027002A0000000000250028002B000000000029
:20008000230026002900040404040404040402020202020203030303030301020408102071
:2000A0004080010204081020010204081020000000070002010000030406000000000000EB
« Last Edit: April 19, 2012, 02:35:59 am by QuercusPetraea » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa hai ragione, nelle tante prove mi sono impippolato e come dicevo ero stanco e poco lucido.
Avevo provato la sintassi alternativa COM ed anche a non metterla.
Ora fatto tutto con calma e con -P COM2 ed a 19200 sta leggendo  smiley-lol ..... ha finito....
(E ora che ho chiaro tutto sono riuscito a far partire ance Sinaprog2.0.)
L'errore di AVRDUDE ora è in scrittura, da quanto capisco.
EDIT: mentre scrivo leggo il prost di QP e capisco che l'errore è che il file destinazione andava racchiuso tra "", quindi tutto ok!!!
La sintassi funzionante è:
Code:
C:\avr\bin\avrdude.exe -C"C:\avr\etc\avrdude.conf"  -p atmega328p -cstk500v1 -b 19200 
-P COM2 -Uflash:r:"C:\Flash.hex":i

Ora posso finalmente impostare i LB e riprovare a leggere smiley-sweat
Grazie a tutti e a fra poco.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"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

Lasciamo da parte la questione dell'indicazione della porta (\\.\COM60 contro COM60 e basta) però è la velocità differente. Io ho segnalato 19200 bps, tu metti 9600. L'ArduinoISP della 002x lavora a 19200.

Esatto, devi usare come baud rate quello dello sketch ISP che a sua volta dipende dall'IDE e da che versione di questo sketch utilizzi.
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"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

Grazie a tutti e a fra poco.

Tieni presente che con un micro protetto in lettura dovresti ottenere un file contenente tutti 0xff, a meno che AvrDude non preveda un errore specifico se il micro è protetto in lettura.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

micro protetto con FC: lettura
Code:
:00000001FF
micro protetto con FE o non protetto (FF): lettura
Code:
:200000000C9461000C9473000C9473000C9473000C9473000C9473000C9473000C9473005A
:200020000C9473000C9473000C9473000C9473000C9473000C9473000C9473000C94730028
:200040000C948F000C9473000C9473000C9473000C9473000C9473000C9473000C947300EC
:200060000C9473000C94730000000000240027002A0000000000250028002B00000000006D
:20008000230026002900040404040404040402020202020203030303030301020408102071
:2000A0004080010204081020010204081020000000070002010000030406000000000000EB
:2000C000000011241FBECFEFD8E0DEBFCDBF11E0A0E0B1E001C01D92A930B107E1F70E94F2
:2000E000EA010C94F1010C9400008DE061E00E948C0108958DE061E00E94B00164E670E0CE
:2001000080E090E00E94FD008DE060E00E94B00164E670E080E090E00E94FD0008951F9219
:200120000F920FB60F9211242F933F938F939F93AF93BF938091040190910501A091060192
:20014000B0910701309108010196A11DB11D232F2D5F2D3720F02D570196A11DB11D2093BD
:2001600008018093040190930501A0930601B09307018091000190910101A0910201B09106
:2001800003010196A11DB11D8093000190930101A0930201B0930301BF91AF919F918F91A2
:2001A0003F912F910F900FBE0F901F9018959FB7F89420910001309101014091020150913C
:2001C000030186B5A89B06C08F3F21F02F5F3F4F4F4F5F4F9FBF542F432F322F2227280F5C
:2001E000311D411D511D82E0220F331F441F551F8A95D1F7B901CA010895EF92FF920F936C
:200200001F93CF93DF937B018C010E94D700EB010FC00E94D7006C1B7D0B83E0683E78070B
:2002200038F00894E108F10801091109C851DC4FE114F1040105110561F7DF91CF911F91D2
:200240000F91FF90EF900895789484B5826084BD84B5816084BD85B5826085BD85B5816017
:2002600085BDEEE6F0E0808181608083E1E8F0E01082808182608083808181608083E0E8F5
:20028000F0E0808181608083E1EBF0E0808184608083E0EBF0E0808181608083EAE7F0E004
:2002A0008081846080838081826080838081816080838081806880831092C10008958330EC
:2002C00071F0843028F48130A1F0823021F514C08630B1F08730D1F08430E9F404C08091DA
:2002E00080008F7703C0809180008F7D80938000089584B58F7702C084B58F7D84BD0895C4
:200300008091B0008F778093B00008958091B0008F7D8093B000089590E0FC01E656FF4F92
:200320002491FC01EA57FF4FE491EE23C1F0F0E0EE0FFF1FE859FF4F85919491DC0166232A
:2003400041F49FB7F8948C91209582238C939FBF08959FB7F8948C91822B8C939FBF08952F
:200360000F931F93DF93CF930F92CDB7DEB7282F30E0F901E255FF4F8491F901E656FF4F1C
:2003800014912A573F4FF90104910023E9F0882321F069830E945F016981E02FF0E0EE0FAE
:2003A000FF1FEE58FF4F85919491DC01662331F49FB7F8948C911095812304C09FB7F894D7
:2003C0008C91812B8C939FBF0F90CF91DF911F910F9108950E9424010E9475000E947A0081
:0603E000FDCFF894FFCFF1
:00000001FF
quindi la protezione in lettura FUNZIONA!!!. Resta il mistero della protezione in scrittura. Vorrei provare da AVRDUDE, se cambio "r" in "W" dovrebbe funzionare in scrittura, no?
EDIT: sì, funziona, purtroppo, cioè quando devo scrivere scrivo e non gliene frega niente dei LB; se non avete idee o notizie da darmi non posso che fermarmi; a questo punto posso anche ritenermi soddisfatto, anche se non al 100%; almeno la protezione da lettura e quella dei fuse funziona bene.
« Last Edit: April 19, 2012, 03:01:54 am by Michele Menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: 1 ... 25 26 [27] 28 29 ... 36   Go Up
Jump to: