Ho un convertitore USB/Seriale con chip CP2102.
Sono disponibili sul connettore (6 vie) queste funzioni:
5V, 3V3, GND, TXD, RXD, e RST.
Si possono ricavare anche le altre funzioni della RS232:
DTR, DSR, RTS, CTS ecc.
L'ho collegato in questo modo:
RXD del convertitore con RXD dell'ATmega328 pin 2
TXD " TXD " 3
RST " con il reset pin 1 dell'ATmega328 con in serie
un condensatore da 0,1 uF.
Il reset del micro collegato al +5V tramite 10k.
La comunicazione con il serial monitor funziona nei due sensi.
La programmazione non funziona.
errore rilevato: stk500_getsync(): non in sync: resp=0x00
Utilizzo la board "Arduino Uno" e come programmatore "AVRISP".
Al posto di RST ho provato anche RTS e DTR con lo stesso risultato.
Dalla guida Menniti mi pare che sia posibile questo tipo di programmazione,
serve er caso una board specifica?
Sul fatto di incrociare le linee non sono d'accordo in assoluto, proprio alcuni giorni fa ho appurato che a volte questi schedini riportino direttamente le serigrafie lato target, quindi il collegamento potrebbe essere giusto, ma ovviamente se non va la prima cosa da fare è invertire tra loro tx e rx.
Detto questo due domande:
il micro target è configurato con quarzo 16MHz, condensatori, R sul reset, in poche parole stand-alone?
Il micro target contiene il bootloader?
Sono disponibili sul connettore (6 vie) queste funzioni:
5V, 3V3, GND, TXD, RXD, e RST.
Si possono ricavare anche le altre funzioni della RS232:
DTR, DSR, RTS, CTS ecc.
L'ho collegato in questo modo:
RXD del convertitore con RXD dell'ATmega328 pin 2
TXD " TXD " 3
RST " con il reset pin 1 dell'ATmega328 con in serie
un condensatore da 0,1 uF.
Il reset del micro collegato al +5V tramite 10k.
se e' la solita schedina cinese, in genere RX-Tx vanno incrociati
mentre l'RST non e' la linea di Reset, al contrario serve per resetatre il chip CP2102
brunello:
mentre l'RST non e' la linea di Reset, al contrario serve per resetatre il chip CP2102
Difatti si chiama RTS (Request To Send), anch'io all'inizio sbagliavo invertendo la sigla e vedendo quel segnale come quello di reset.
L'IDE di Arduino usa poi il segnale DTR per resettare la scheda, se si vuole usare il convertitore con l'IDE va usato appunto il segnale DTR (chiedo conferma a Michele che ne sa più di me, visti i test che ha fatto per i suoi lavori passati).
RISOLTO, ho ricaricato il bootloader con Arduino e poi via seriale ho caricato uno
sketch e ora funziona. L'altra volta avevo caricato il bootloader e uno sketch
con Arduino prima di collegarmi alla seriale.
Potrebbe essere questo il motivo? Appena posso farò una prova.
busco:
RISOLTO, ho ricaricato il bootloader con Arduino e poi via seriale ho caricato uno
sketch e ora funziona. L'altra volta avevo caricato il bootloader e uno sketch
con Arduino prima di collegarmi alla seriale.
Potrebbe essere questo il motivo? Appena posso farò una prova.
Grazie a tutti per i suggerimenti.
Con RST sul reset non funziona, il programmatore non risponde.
Funziona sia con DTR che con RTS
mi avete evocato?
non mi riferisco a nessuno degli interventi, quindi conferme o contraddizioni ve le cercate da soli
I convertitori seriali "nativi" (FT232RL, CP2102, PL2303) hanno in genere sia DTR che RTS, l'MCP2200 che è un PIC "travestito" da Convertitore ha il solo RTS; stranamente l'8u2 e il 16u2 che, per quanto ne so, sono sempre microcontrollori "prestati" alla conversione USB-seriale, usano il CTS, mentre l'RTS è libero; personalmente sono convinto che ci sia un'inversione di sigle nella pinatura, la cosa è uguale sia per l'uno che per l'altro micro ATMEL (rispettivamente UNO r1 e UNO r3)
IL DTR e l'RTS sono entrambi supportati dall'IDE, per cui la programmazione avviene regolarmente.
Il Serial Monitor invece supporta il solo DTR, quando lo aprite resetta il micro, mentre se usate l'RTS ciò non avviene; altri software di emulazione terminale (Windows HyperTerminal p.es.) supportano entrambi e, se usati al posto del Serial Monitor, resettano il micro.
RST è una sigla che indica il RESET, nello specifico di quella schedina è effettivamente collegato al RESET del CP2102, ma attenzione.... molte volte la stessa sigla viene usata per indicare il segnale DTR o RTS, semplicemente per indicare che va collegato ad un pin RESET del micro target.
Se avete dubbi.... come ha detto Leo ho studiato questo specifico argomento quando ho iniziato la sperimentazione dell'MCP2200.
busco:
L'altra volta avevo caricato il bootloader e uno sketch
con Arduino prima di collegarmi alla seriale.
Potrebbe essere questo il motivo?
Se l'hai riprogrammato tramite ISP hai cancellato il Bootloader caricato precedentemente.
Se devi programmare il micro solo tramite ISP il Bootloader non serve.
Ricorda di collegare anche i GND della scheda con quello di Arduino.