Hallo,
ich wollte meine Porgammieren des Atmega328P-PU mit Atmel Studio 7
vornehmen, damit ich die Programmierung in C vornehmen kann.
da ich von ehajo.de den AVR-ISP-Stick benutze habe ich unter
<tools/external tools> diesen definiert mit folgenden Parametern:
1 | Title:ehajo-isp
|
2 | Command: C:\WinAVR-20100110\bin\avrdude.exe
|
3 | Arguments: avrdude -c ehajo-isp -P usb -p m328p -B200 -Uflash:w:$(ProjectDir)Debug\$(TargetName).hex:i
|
Unter <tools/Options/toolchain> habe ich, da ich mit WinAVR arbeite,
folgendes definiert:
1 | toolchains: Atmel AVR 32-bit (C Language)
|
"Add flavor"
1 | Package Name: WinAVR
|
2 | Package Base path: C:\WinAVR-20100110\bin
|
diesen habe ich auch als "default" gesetzt.
Nun bekomme ich wenn ich neues Projekt starte folgende Kommentare in
mein Skript:
1 | /**
|
2 | * \file
|
3 | *
|
4 | * \brief Empty user application template
|
5 | *
|
6 | */
|
7 |
|
8 | /**
|
9 | * \mainpage User Application template doxygen documentation
|
10 | *
|
11 | * \par Empty user application template
|
12 | *
|
13 | * Bare minimum empty user application template
|
14 | *
|
15 | * \par Content
|
16 | *
|
17 | * -# Include the ASF header files (through asf.h)
|
18 | * -# "Insert system clock initialization code here" comment
|
19 | * -# Minimal main function that starts with a call to board_init()
|
20 | * -# "Insert application code here" comment
|
21 | *
|
22 | */
|
23 |
|
24 | /*
|
25 | * Include header files for all drivers that have been imported from
|
26 | * Atmel Software Framework (ASF).
|
27 | *
|
28 | */
|
29 | #include <asf.h>
|
30 |
|
31 | int main (void)
|
32 | {
|
33 | /* Insert system clock initialization code here (sysclk_init()). */
|
34 |
|
35 | board_init();
|
36 |
|
37 | /* Insert application code here, after the board has been initialized. */
|
38 | }
|
Wenn ich mein Programm (Blinkschaltung) hochladen möchte unter
<tools/ehajo-isp> passiert garnichts außer, dass das die Konsole von
avrdude.exe aufgeht und er das Programm wohl geflashed hätte.
1 | #include <asf.h>
|
2 |
|
3 | int main (void) {
|
4 |
|
5 | DDRB |= (1 << PC5); // damit ist dann PB0 ein Ausgang
|
6 |
|
7 | while(1){
|
8 | PORTB |= (1 << PB0); //PB0 im PORTB setzen
|
9 | _delay_ms(250); //250ms warten
|
10 |
|
11 | PORTB &= ~(1 << PB0); //PB0 im PORTB löschen
|
12 | _delay_ms(250); //250ms warten
|
13 |
|
14 | }
|
15 |
|
16 | return 0;
|
17 | }
|
Wo liegt das Problem? in Bascom funktioniert es aber bei Atmel Studio
passiert gar nichts.
Vielen Dank schonmal im voraus!
Meik