Pagina 1 di 1

Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 11 dic 2011, 23:06
da giacky98
Salve a tutti voi del forum.

Ho appena recuperato un ATmega16.
Sto cercando di programmarlo utilizzando il mio Arduino con lo sketch "Arduino as ISP", che non fa altro che trasformare l'Arduino in un programmatore ISP.
Prima di tutto, da AVR Studio ho creato un nuovo progetto (con target ATmega16) e ho inserito il seguente codice:
Codice: Seleziona tutto
#include <avr/io.h>
int main(void)
{
  DDRA = 0xFF;
  PORTA = 0x00;
  unsigned char c = 0;
  while(1)
  {
    PORTA = c;
    if (c = 255)
    {
   c = 0;
    } else {
   c++;
    }
  }
}

Non ha nessuno scopo, non sono sicuro che funzioni perché finora ho programmato solo Arduino, ma teoricamente dovrebbe mettere ripetutamente sulla porta A i valori da 0 a 255.

Ho compilato il progetto, ma ho scoperto che AVR Studio 5 non riconosce l'Arduino come fosse un programmatore.
Così, "googlando" un po', ho trovato un programma che si chiama "AVR Burn-O-Mat", che non è altro che un'interfaccia grafica per AVRDUDE.
Ho impostato la porta seriale dell'Arduino e su tipo di programmatore ho messo "Atmel AVRISP" e ho caricato il file HEX che ho generato prima con AVR Studio.
La scrittura della flash mi ha però dato errore. Questo è il log:
Codice: Seleziona tutto
avrdude.exe: stk500_getsync(): not in sync: resp=0x00
avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

Ora, considerando che io non ho usato nessun oscillatore esterno e che l'ATmega16 era stato già precedente usato e il suo precedente utilizzatore non si ricorda se l'ultima volta avesse usato l'oscillatore interno o quello esterno, potrebbe essere questa la causa?

Spero di essere stato abbastanza chiaro, se non avete capito qualcosa chiedetemi pure.
Grazie a tutti in anticipo.

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 0:16
da TardoFreak
Perché crearsi problemi quando con la spesa di 5 pacchetti di sigarette ci si può comprare QUESTO ? :-M

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 15:01
da giacky98
Si avevo in mente di comprare un programmatore ma intanto finché non facevo l'acquisto volevo sperimentare un po'... Comunque grazie lo stesso :ok:

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 15:10
da TardoFreak
Se vuoi sperimentare con i bootloader puoi usare gli AT90USB. Questo articolo ne illustra un' applicazione.

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 15:27
da giacky98
Si, avevo già letto quell'articolo in precedenza, è una soluzione abbastanza interessante, ma prima di cominciare a utilizzare interfacce USB volevo programmare qualche semplice ATmega senza vari bootloader.
Dato che non ho mai programmato MCU della Atmel (a parte Arduino ma quello ha già tutte le funzioni pronte, quindi non c'è "divertimento"), volevo cominciare da qualcosa di più "tipico", programmando via ISP. Magari più avanti prenderò un AT90USB.
Ne approfitto per chiedere una cosa a riguardo di quest'ultimo: è possibile utilizzare la porta USB per creare una propria periferica USB o simularne altre (es. fare in modo che l'AT90USB venga riconosciuto come un mouse o una periferica di archiviazione, ecc...)?

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 15:47
da TardoFreak
Certo che è possibile, ce l' ha a posta!
Se però leggi bene l' articolo ti accorgerai che per programmarli tramite l' USB non devi fare un bel niente. Il bootloader è programmato dalla fabbrica.

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 16:54
da giacky98
Si ho visto. Adesso mi rendo conto che forse è una buona soluzione anche quella... scusa ma io a volte sono un po' testardo :D
Quando posso ne ordino uno e mi metto a provare, ho visto che su eBay vendono l'AT90USB162 a 5 euro compreso di spedizione.
Poi mi farò io il PCB con l'aiuto di una persona che conosco che ha molta più esperienza di me :-)

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 19:06
da TardoFreak
Brao!
Avrai doppia soddisfazione: quello di aver fatto la cosa da te e di non dover spendere niente per il programmatore. :ok:

Re: Programmare ATmega16 con "Arduino as ISP"

MessaggioInviato: 12 dic 2011, 20:25
da giacky98
Giusto! :ok: Grazie per i consigli!