Go Down

Topic: AtMega32 programmieren (Read 1 time) previous topic - next topic

da_user

Hi,

ich würde mit der Arduino-Umgebung gerne den AtMega32 programmieren. Bootloader brauche ich keinen, ich würde den Sketch dann per ISP übertragen.

Aber: Woher bekomme ich die PinDefinitions oder wie die heißen (also das Board das ich auswählen muss). Habe schonmal bei Mikrocontroller.net was dazu runtergeladen, der hatte allerdings nur die digitalen Ports definiert, also keine analogen Eingänge, kein PWM, kein I2C,...

VG
da_user

PS: Toll wäre auch eine Art Tutorial in dem steht, wie ich diese PinDefinitons selbst schreibe, hätte noch eine andere AVRs rumliegen,...

mkl0815

Die Pin-Definition findest Du im Datenblatt des Controllers und das gibt's direkt bei Atmel (http://www.atmel.com/Images/doc2503.pdf)
Wenn Du den Atmega32 mit der Arduino-IDE programmieren willst, dann würde ich Dir empfehlen mal die Seiten von http://www.atmel.com/Images/doc2503.pdf zu studieren. Dort gibt es auch die passenden Core-Files für den Atmega644. Dieser ist 100% pinkompatibel zum Atmega32 und Atmega16. Der Atmega644 (und der Atmega1284P) haben nur deutlich mehr Speicher und ich glaub eine serielle Schnittstelle mehr.
Mario.

da_user

Hmm, dann meinte ich nicht die pindefitions,...

Ich muss ja in der arduino IDE das Board auswählen, wie bekomme ich den mega32 da rein?

Hallo,

im Arduino-Verzeichnis gibt es unter "hardware" - "arduino" eine Datei boards.txt. Vielleicht hilft es Dir weiter da mal reinzusehen. Mit einem normalen Programmiergerät kannst Du auf jeden Fall das Programm in den ATMega32 flashen, wie Du es findest (unter Windows) steht hier: http://www.elektronik-bastelkeller.de/arduinohexdatei.php. Dann musst Du nur noch aufpassen, welches Board Du unter der Arduino-Oberfläche wählst, ich vermute eines mit ATMega328 wird dem ATMega32 nahe kommen, musst Du aber ausprobieren. Den Bootloader benötigst Du auf jeden Fall auf dem Controller nicht.

Vielleicht hilft das ja weiter...

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

da_user

Danke. Habe doch noch das passende gefunden:

http://achuwilson.wordpress.com/2011/12/15/arduino-ide-for-programming-atmega-microcontrollers/

da_user

Mist, zu früh gefreut, die Cores (so heißen die Dinger xD) passen anscheinend nicht auf neuere Versionen der Arduino-IDE:

Code: [Select]

In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:64:1: warning: "portOutputRegister" redefined
In file included from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:145:1: warning: this is the location of the previous definition
In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:65:1: warning: "portInputRegister" redefined
In file included from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:146:1: warning: this is the location of the previous definition
In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:66:1: warning: "portModeRegister" redefined
In file included from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:147:1: warning: this is the location of the previous definition
In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Blink.ino:10:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:45: error: conflicting declaration 'const uint8_t port_to_mode_PGM []'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:127: error: 'port_to_mode_PGM' has a previous declaration as 'const uint16_t port_to_mode_PGM []'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:46: error: conflicting declaration 'const uint8_t port_to_input_PGM []'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:128: error: 'port_to_input_PGM' has a previous declaration as 'const uint16_t port_to_input_PGM []'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/pins_arduino.h:47: error: conflicting declaration 'const uint8_t port_to_output_PGM []'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:129: error: 'port_to_output_PGM' has a previous declaration as 'const uint16_t port_to_output_PGM []'


Ich habe leider auch keine passenden Cores für die Arduino-IDE 1.0.5 gefunden :(

da_user

Und, wie ich gerade eben rausgefunden habe, brauche ich nicht die cores, sondern die passende Pins Datei unter /hardware/arduino/variants

da_user

Der Kollege auf Mikrocontroller.net hat anscheinend daran weitergebastelt:

http://www.mikrocontroller.net/topic/246951

Viel Spaß an alle, die nen Mega32 programmieren möchten! ;-)

Go Up