Ciao a tutti!
Sono nuovo del forum e ho bisogno di aiuto.
Volevo provare a collegare arduino con glediator per poter controllare delle strisce led indirizzabili (ws2812b).
Ho scaricato il codice fornito dal sito ufficiale di glediator (Solderlab). (Il codice per le ws2812b).
Ho provato a caricare il codice sul mio arduino micro (32u4) ma non mi lasciava caricarlo dando il seguente errore: “UCSR0A was not declared in this scope”.
Ho cercato una soluzione su qualche forum e dicevano che il codice è funzionale per arduino uno (Atmega328p).
L’errore lo da su questi “registri”
// Initialize UART
UCSR0A |= (1<<U2X0);
UCSR0B |= (1<<RXEN0) | (1<<TXEN0) | (1<<RXCIE0);
UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00) ;
UBRR0H = 0;
UBRR0L = 1; //Baud Rate 1 MBit (at F_CPU = 16MHz)
E nel forum consigliavano di modificare i nomi dei registri mettendo 1 al posto che 0 trasformandolo in:
// Initialize UART
UCSR1A |= (1<<U2X1);
UCSR1B |= (1<<RXEN1) | (1<<TXEN1) | (1<<RXCIE1);
UCSR1C |= (1<<UCSZ11) | (1<<UCSZ10) ;
UBRR1H = 0;
UBRR1L = 1; //Baud Rate 1 MBit (at F_CPU = 16MHz)
Ho modificato il codice e poi l’ho caricato.
Avevo dimenticato di modificare un valore allora ho riaperto il codice l’ho modificato e ho provato a caricarlo ma non voleva proprio caricarlo.
Dice: “Sto caricando” la barra di caricamento arriva fino in fondo e rimane tutto fermo senza caricare niente.
Ho provato a caricare anche altri codici come ad esempio il classico “Blink” ma niente.
Ho provato anche a fare il reset della scheda utilizzando il pin reset della scheda ma anche così non riesce a caricare.
Spero che qualcuno riesca ad aiutarmi.
Grazie in anticipo!