- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Einsteigerhilfe mit AVR und dem Arduino Lernpaket

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29

    Einsteigerhilfe mit AVR und dem Arduino Lernpaket

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo zusammen ;D
    Da ich mir damals das Arduiono Lernpaket von Franzis gekauft habe und es ohne ISP Probleme gab habe ich mir das AVRISP-MKII zugelegt.
    Jetzt habe ich mir das AVR Studio 4 heruntergeladen und möchte gerne testen obs funktioniert.
    Die Treiber sind alle aktuell und scheinen zu laufen.
    Jetzt habe ich eine kleine Bitte...
    Da die Programmierung jetzt anders erfolgt als mit dem Lernpaket frage ich euch ob mir einer ein kleines C Programm geben kann was nur die integrierte Leuchte auf dem Arduino-Board zum leuchten bringt damit ich alles mal testen kann.

    http://www.amazon.de/Lernpaket-Mikro...5878918&sr=8-3

    Es ist ein Atmega-168 verbaut.

    Danke für eure Hilfe (:

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Hi,

    Wenn es aufgebaut ist wie das Arduino Duemlianove sollte das funktionieren. Sonst wäre ein Schaltplan nicht schlecht.
    Dieses Programm schaltet die LED an PinB5 ein:
    Code:
    /*
     * AVRGCC3.c
     *
     * Created: 01.05.2012 15:57:49
     *  Author: Daniel
     */ 
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
        
        DDRB = 0xFF;                                                                        // Kompletter Port C auf Ausgang
        
        while(1)
        {
            PORTB = (1<<PINB5);
        }
    }
    Und dieses Programm lässt die LED blinken

    Code:
    /*
     * AVRGCC3.c
     *
     * Created: 01.05.2012 15:57:49
     *  Author: Daniel
     */ 
    
    #ifndef F_CPU
    #define F_CPU 16000000UL    
    #endif
    
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
        
        DDRB = 0xFF;                                                                        
        
        while(1)
        {
            PORTB ^= (1<<PINB5);
             _delay_ms(1000);
        }
    }
    Geändert von Kampi (01.05.2012 um 16:59 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Danke hat super funktioniert (:
    Kann mir einer noch ein gutes Assemblertutorial zeigen (oder Buch) wie man die Programmierung von Grund auf lernt?
    Am besten eins wo die Beispiele zum meinem Microcontroller passen ^^

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Die Assemblerbefehle sind für die AVRs alle gleich. Aber für genauere Infos musst du ins Datenblatt schauen. Dort sind alle Befehle aufgelistet.
    Ein Tutorial hast du hier:

    http://www.avr-asm-tutorial.net/avr_de/index.html

    Das Datenblatt hast du hier:

    http://www.atmel.com/Images/doc2545.pdf

    Wenn du dann mal auf Seite 347 schaust, findest du einen Bereich der "Instruction set Summary" heißt (die Kategorie heißt in fast allen Datenblättern so).
    Dort sind alle Befehle aufgelistet die der Controller versteht.
    Von daher brauchst du keine Programme die für deinen Controller zugeschnitten sind. Da der Grundaufbau der AVRs immer gleich ist kannst du quasi ein Programm für alle schreiben (vorrausgesetzt du verwendest keinen ADC usw. Bei der Peripherie musst du unterschiede zwischen den Chips berücksichtigen).
    Geändert von Kampi (02.05.2012 um 20:19 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Gut das lese ich mir die Tage mal durch.
    Eine (vielleicht etwas größere) Frage habe ich noch.
    Und zwar habe ich auf einem Laptop Debian drauf. Da habe ich mir nun "gcc-avr" "avr-gcc" "avr-libc" und "avrdude" heruntergeladen.
    Nun möchte ich den oben genannten Quellcode kompilieren doch ich brauche anscheinen eine Makefile dafür.
    Gibt es dafür eine Art Vorlage?
    Weil ich komme da momentan nicht weiter...

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Gibt es für Linux keine AVR-Studio Version die du verwenden kannst?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Da ist ein ganz alter Laptop da läuft nur Debian richtig drauf also ohne GUI.

  8. #8
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Zitat Zitat von Digital-Ghost Beitrag anzeigen
    Da ist ein ganz alter Laptop da läuft nur Debian richtig drauf also ohne GUI.
    Uff....ok da kann ich dir dann nicht weiterhelfen
    Hab leider keine Ahnung von AVRDude usw....
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Kann mir sonst keiner weiterhelfen?

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Also ich habe bereits erfolgreich mein Programm mit dem AVRStudio kompiliert und übertragen.
    Jetzt habe ich im Projektordner diese Makefile verwendet (die funktioniert)
    Ist diese Makefile Plattformunabhängig also kann ich die für den gcc-avr unter Debian verwenden?
    Weiß das einer?


    Code:
    ################################################################################
    # Automatically-generated file. Do not edit!
    ################################################################################
    
    SHELL := cmd.exe
    RM := rm -rf
    
    USER_OBJS :=
    
    LIBS := 
    PROJ := 
    
    O_SRCS := 
    C_SRCS := 
    S_SRCS := 
    S_UPPER_SRCS := 
    OBJ_SRCS := 
    ASM_SRCS := 
    PREPROCESSING_SRCS := 
    OBJS := 
    OBJS_AS_ARGS := 
    C_DEPS := 
    C_DEPS_AS_ARGS := 
    EXECUTABLES := 
    OUTPUT_FILE_PATH :=
    OUTPUT_FILE_PATH_AS_ARGS :=
    AVR_APP_PATH :=$$$AVR_APP_PATH$$$
    QUOTE := "
    ADDITIONAL_DEPENDENCIES:=
    OUTPUT_FILE_DEP:=
    
    # Every subdirectory with source files must be described here
    SUBDIRS := 
    
    
    # Add inputs and outputs from these tool invocations to the build variables 
    C_SRCS +=  \
    ../Leuchte.c
    
    
    PREPROCESSING_SRCS += 
    
    
    ASM_SRCS += 
    
    
    OBJS +=  \
    Leuchte.o
    
    
    OBJS_AS_ARGS +=  \
    Leuchte.o
    
    
    C_DEPS +=  \
    Leuchte.d
    
    
    C_DEPS_AS_ARGS +=  \
    Leuchte.d
    
    
    OUTPUT_FILE_PATH +=Leuchte.elf
    
    OUTPUT_FILE_PATH_AS_ARGS +=Leuchte.elf
    
    ADDITIONAL_DEPENDENCIES:=
    
    OUTPUT_FILE_DEP:= ./makedep.mk
    
    # AVR32/GNU C Compiler
    
    
    
    ./%.o: .././%.c
    	@echo Building file: $<
    	@echo Invoking: AVR/GNU C Compiler
    	$(QUOTE)C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe$(QUOTE)  -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"  -mmcu=atmega168  -o"$@" "$<" 
    	@echo Finished building: $<
    
    
    
    # AVR32/GNU Preprocessing Assembler
    
    
    
    # AVR32/GNU Assembler
    
    
    
    
    ifneq ($(MAKECMDGOALS),clean)
    ifneq ($(strip $(C_DEPS)),)
    -include $(C_DEPS)
    endif
    endif
    
    # Add inputs and outputs from these tool invocations to the build variables 
    
    # All Target
    all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
    
    $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP)
    	@echo Building target: $@
    	@echo Invoking: AVR/GNU C Linker
    	$(QUOTE)C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Leuchte.map" -Wl,-lm   -mmcu=atmega168  
    	@echo Finished building target: $@
    	"C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature  "Leuchte.elf" "Leuchte.hex"
    	"C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom  --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0  --no-change-warnings -O ihex "Leuchte.elf" "Leuchte.eep" || exit 0
    	"C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-objdump.exe" -h -S "Leuchte.elf" > "Leuchte.lss"
    	"C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-size.exe" -C --mcu=atmega168  "Leuchte.elf"
    	
    
    
    
    
    # Other Targets
    clean:
    	-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES) 
    	rm -rf "Leuchte.hex" "Leuchte.lss" "Leuchte.eep" "Leuchte.map"

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Wer kennt Lernpaket MC Technik mit Arduino?
    Von davinci1999 im Forum Buchempfehlungen
    Antworten: 17
    Letzter Beitrag: 10.01.2011, 22:52
  2. Rn-Control Einsteigerhilfe
    Von Kuwe im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 4
    Letzter Beitrag: 06.10.2009, 12:49
  3. edit: brauche einsteigerhilfe mit bascom
    Von PhoenixTS82 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 12.07.2008, 14:22
  4. Lernpaket Mikrocontroller von Franzis
    Von cesupa im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 28.08.2007, 21:27
  5. Einsteigerhilfe für C?
    Von manu_f im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 14.09.2006, 21:24

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test