Go Down

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

testato

Infatti visto che lui ne ha due di prog adatti gli dicevo appunto di non preoccuparsi
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP

#301
Mar 09, 2016, 09:54 am Last Edit: Mar 09, 2016, 09:54 am by PaoloP
Disponibile la WattDuino 328PB ProMini
--> http://www.watterott.com/en/Wattuino-pro-mini-PB-5V-16MHz

nid69ita

#302
Mar 09, 2016, 09:55 am Last Edit: Mar 09, 2016, 09:56 am by nid69ita
Disponibile la WattDuino 328PB ProMini
--> http://www.watterott.com/en/Wattuino-pro-mini-PB-5V-16MHz
Con una bella scritta: "The ATmega328PB microcontroller is currently not directly supported from the Arduino IDE" però !
my name is IGOR, not AIGOR

gpb01

#303
Mar 09, 2016, 10:05 am Last Edit: Mar 09, 2016, 10:06 am by gpb01
Paolo, Astro, ho visto che nella distribuzione di Watterott ci sono vari "optiboot" per il 328PB (optiboot_m328pb_blink.hex, optiboot_m328pb_wdt250ms.hex, optiboot_m328pb_wdt500ms.hex e optiboot_m328pb.hex) ... quale avete usato ?

Ho provato il "optiboot_m328pb_blink.hex" ed effettivamente il led lampeggia, mentre con quello che immaginavo fosse di base "optiboot_m328pb.hex", al reset il led non da segni di vita (... ricordavo che optiboot facesse dei lampeggi) ... è normale ?

Grazie :)

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

PaoloP

Con una bella scritta: "The ATmega328PB microcontroller is currently not directly supported from the Arduino IDE" però !
E' giusto che avvisino.

PaoloP

Paolo, Astro, ho visto che nella distribuzione di Watterott ci sono vari "optiboot" per il 328PB (optiboot_m328pb_blink.hex, optiboot_m328pb_wdt250ms.hex, optiboot_m328pb_wdt500ms.hex e optiboot_m328pb.hex) ... quale avete usato ?

Ho provato il "optiboot_m328pb_blink.hex" ed effettivamente il led lampeggia, mentre con quello che immaginavo fosse di base "optiboot_m328pb.hex", al reset il led non da segni di vita (... ricordavo che optiboot facesse dei lampeggi) ... è normale ?

Grazie :)

Guglielmo
Io uso quello senza blink. Credo sia questione di gusti personali.

gpb01

Io uso quello senza blink. Credo sia questione di gusti personali.
Ok    Grazie.

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

gpb01

Bene ...
... dopo alcune difficoltà per fargli vedere la toolchain 3.5.1 sotto OSX ed aver sistemato la mancanza di alcuni files ... almeno le funzioni base sembrano andare senza errori  :smiley-mr-green:


Blink compilato correttamente e caricato via USB (quindi tramite bootloader).

Gli esperimenti continuano ... ;)

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

PaoloP

#308
Mar 09, 2016, 04:12 pm Last Edit: Mar 09, 2016, 04:13 pm by PaoloP
Puoi sperimentare anche la libreria SPI (https://hackaday.io/project/9313-uino-mini-super-atmega328pb). La Wire non è completa.

Considera però che il file pins_arduino.h di Watterott non assegna bene i pin della seconda SPI. Li duplica sulla prima. Guarda il mio --> https://github.com/PaoloP74/ATmega328PB-Testing/blob/master/hardware/atmega328pb/avr/variants/pb/pins_arduino.h

gpb01

#309
Mar 09, 2016, 05:12 pm Last Edit: Mar 09, 2016, 05:12 pm by gpb01
Grazie Paolo, allora metto quello che hai linkato ...

Ma il file platform.txt va toccato ? Perché io non l'ho modificato e non ho errori ... ::)

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

PaoloP

#310
Mar 09, 2016, 05:18 pm Last Edit: Mar 09, 2016, 05:18 pm by PaoloP
Il platform.txt solo va modificato solo se vuoi separare la toolchain da quella integrata.
Io invece di cambiare la toolchain dell'IDE ne ho aggiunta un'altra e ho messo il percorso nel file platform.txt.

Ricordati di modificare l'AVRdude.conf.

gpb01

Io ho rimpiazzato la toolchain integrata con quella di Atmel per OSX ... ho dovuto creare qualche "Symbolic Link" per dei files che si trovavano in un altra cartella, ed ho aggiunto i files mancati. Null'altro :)

Si, ho modificato il avrdude.conf come avevamo detto parecchi post fa ;)

Ah ... ho messo la SPI che mi hai indicato :)

Ora ho un IDE "portable" per OS X ... che è QUASI completo ... :D :D :D

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

gpb01

#312
Mar 09, 2016, 05:55 pm Last Edit: Mar 09, 2016, 06:06 pm by gpb01
Mmm ...
... riscontro un problema nell'uso della EEPROM con le chiamate alla AVRlibc (#include <avr/eeprom.h>).

Il linker va in errore con:

Code: [Select]
var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/build162b418b25013babb9a807cdc8fae07f.tmp/sketch/FindMe.ino.cpp.o: In function `setup_InitEEPROM()':
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1833: undefined reference to `__eerd_dword_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1841: undefined reference to `__eewr_dword_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1845: undefined reference to `__eewr_byte_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1846: undefined reference to `__eewr_byte_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1849: undefined reference to `__eewr_block_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1854: undefined reference to `__eewr_block_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1855: undefined reference to `__eewr_block_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1865: undefined reference to `__eerd_byte_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1866: undefined reference to `__eerd_byte_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1875: undefined reference to `__eerd_block_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1884: undefined reference to `__eerd_block_m328p'
/var/folders/td/xjbgg2n97rl9wsy40_rsj90h0000gn/T/arduino_162b418b25013babb9a807cdc8fae07f/FindMe.ino:1898: undefined reference to `__eerd_block_m328p'

... naturalmente ho già sostituito il file eeprom.h con quello che include le righe :

#elif defined (__AVR_ATmega328PB__)
# define _EEPROM_SUFFIX  _m328p

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

PaoloP

#313
Mar 09, 2016, 06:04 pm Last Edit: Mar 09, 2016, 06:06 pm by PaoloP
Qui il file EEPROM.h proposto da Watterott --> https://github.com/watterott/ATmega328PB-Testing/blob/master/hardware/tools/avr/avr/include/avr/eeprom.h
Si, crea il nome della funzione concatenando nome proprio della funzione e suffisso.
Non chiedermi il perché.... suppongo che dentro la lib precompilata siano tutte divise per tipo di processore.

astrobeed

Mmm ...
... riscontro un problema nell'uso della EEPROM con le chiamate alla AVRlibc (#include <avr/eeprom.h>).
Ho fatto una ricerca all'interno di tutta la toolchain, però non trovo traccia di definizioni o funzioni del tipo "eewr_byte_m328", sembra che non esiste nulla di simile, la ricerca l'ho fatta fare su tutta la cartella "avr" anche nei file .exe.
Scientia potentia est

Go Up