Go Down

Topic: ATmega328PB (Read 95988 times) previous topic - next topic

testato

#285
Mar 02, 2016, 12:21 pm Last Edit: Mar 02, 2016, 12:21 pm by Testato
Inglobato ufficialmente non so, ma di certo uscirà a breve il core terze parti da installare via board manager
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP

#286
Mar 02, 2016, 07:01 pm Last Edit: Mar 02, 2016, 07:02 pm by PaoloP
Ecco la mia Wire in allegato.
Da un errori multipli di "undefined reference to". Credo sia il linker ma non so come risolvere.
Il file sono da mettere in una directory "Wire" dentro la cartella "libraries" del core ATmega328PB.

p.s. Se la sovrascivete alla wire, cancellate la cartella utility che contiene i file twi.h e twi.c. Li ho inglobati... male ... ma li ho inglobati.

uwefed

#287
Mar 03, 2016, 02:40 am Last Edit: Mar 03, 2016, 02:42 am by uwefed
Andre Moehl su https://hackaday.io/project/9313-uino-mini-super-atmega328pb
ha messo una libreria sostitutiva SPI (Library Replacement for SPI) https://cdn.hackaday.io/files/9313398447392/libraries.tar.gz
Non mi ci metto di provarla a quest' ora.
Ciao Uwe

PaoloP

#288
Mar 03, 2016, 08:07 am Last Edit: Mar 07, 2016, 07:29 pm by PaoloP
Ho visto il codice... usa sempre e solo una SPI. Mentre sarebbe da riscrivere multi SPI come la HardwareSerial.h. Ma è un lavoraccio.

Funzionano entrambe le SPI.

PaoloP

A breve pubblicheró una nuova versione della libreria Wire.
Ho preso ispirazione dalla HardwareSerial e dalla DallasTemperature/OneWire.

PaoloP

#290
Mar 04, 2016, 11:37 am Last Edit: Mar 04, 2016, 12:29 pm by PaoloP
Ecco la libreria Wire.
Purtroppo non compila perchè da un errore nel linker. (undefined reference to)
Potete dare uno sguardo al codice?

gpb01

Materiale arrivato da Mouser ... :D

Paolo ...

Ho usato come bootloader quello di Watterott, con quello standard di Arduino non andava.
... hai solo caricato il bootloader sul ATmega328PB (via ISP) o hai dovuto anche fare altre cose/modifiche per il ATmega32U4 ?

Grazie,

Guglielmo
Search is Your friend ... or I am Your enemy !

PaoloP

#292
Mar 07, 2016, 07:24 pm Last Edit: Mar 07, 2016, 07:27 pm by PaoloP
Ho caricato il bootloader e cambiato i fuse per far partire il bootloader. Non ho modificato niente sul chip 32U4 (aka mEDBG).

I fuse e il bootloader li ho messi con ATmel Studio 7 (che è solo per Windows).

PaoloP

Come librerie aggiuntive usa quelle di Andre Moehl su https://hackaday.io/project/9313-uino-mini-super-atmega328pb.
La SPI è completa, mentre la Wire la deve completare.
La mia Wire è troppo complessa e non funziona... lascia perdere. In effetti il codice scritto da Moehl è migliore.

gpb01

#294
Mar 07, 2016, 08:34 pm Last Edit: Mar 07, 2016, 08:34 pm by gpb01
Ho caricato il bootloader e cambiato i fuse per far partire il bootloader.
Perfetto ...
... se ricordo bene optiboot richiede solo 512 bytes quindi fuse:

low: 0xE0
high: 0x9C
extended: 0xFD

(Brown-out enabled a 2.7V, Debug Wire enabled, Serial Programming enabled, Boot size 512, Boot reset vector enabled, External clock RESET:6 CK/14 CK +65ms)

giusto ?

Guglielmo
Search is Your friend ... or I am Your enemy !

PaoloP

Debug Wire non ti serve abilitato almeno che non abbia un software che lo supporti.

astrobeed

Debug Wire non ti serve abilitato almeno che non abbia un software che lo supporti.
Attenzione che se abiliti debug wire (fuse DWEN) non puoi programmare il micro tramite ISP, puoi farlo solo tramite debug wire e relativo programmatore che lo supporta, p.e. il Dragon di Atmel.
Scientia potentia est

gpb01

#297
Mar 08, 2016, 06:57 am Last Edit: Mar 08, 2016, 07:03 am by gpb01
Grazie Paolo, grazie Astro ...
... ho sia il Dragon che l'ICE, ma non pensavo al fatto che, usando il pin RESET, rendeva impossibile la programmazione ISP e, in questa fase ... non vorrei perdere la possibilità  ::)

Low: 0xE0
High: 0xDC
Extended: 0xFD

Guglielmo

Search is Your friend ... or I am Your enemy !

testato

#298
Mar 08, 2016, 09:30 am Last Edit: Mar 08, 2016, 09:32 am by Testato
Il debugwire comunque viene gestito direttamente da AtmelStudio e lo gestisce con un popout ed anche una voce apposita nei menu
C'è anche un softearino terze parti per attivarlo disattivarlo.

Questa cosa è necessaria perché appunto una volta attivato non si potrebbe ricambiare il fuse per disattivarlo visto che per i fuse ti serve spi
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

astrobeed

Il debugwire comunque viene gestito direttamente da AtmelStudio e lo gestisce con un popout in apertura di programma.
Si ma se non disponi di un programmatore che supporta Debug Wire ti attacchi, p.e. con Arduino ISP se attivi il fuse DWEN hai finito di giocare con Arduino :)
Scientia potentia est

Go Up