Difference between revisions of "Atmel experiments"

From Hackerspace ACKspace
Jump to: navigation, search
(Created page with "{{Project |State=Active |Members=Coolepascal |Description=Diverse experimenten met Atmel chipjes }} Al een hele tijd ben ik bezig met diverse projectjes met microcontrollers Hier...")
 
Line 6: Line 6:
 
Al een hele tijd ben ik bezig met diverse projectjes met microcontrollers
 
Al een hele tijd ben ik bezig met diverse projectjes met microcontrollers
 
Hier een paar notes voor mijzelf zodat ik info online bij de hand heb.
 
Hier een paar notes voor mijzelf zodat ik info online bij de hand heb.
 +
Dus als je jezelf terecht afvraagt waarom ik zulke basale info op een wiki zet,
 +
Nou dat is simpel omdat ik een hele boel projectjes doe en echt niet van elke cpu en elk details elke futuliteit ga onthouden, het beste geheugen is immers een potlood en een stukje papier (of een wiki)
 +
 +
 +
== Rudumentary Makefile ==
 +
  # Title    : Makefile
 +
  # Function : Sample Makefile for AVRISPMKII on OSX
 +
  # Author  : Pascal Schiks (C) 2012 GNU/GPL
 +
 +
  # To erase chip and lock fuses
 +
  # -e -U lock:w:0x3f:m -U lfuse:w:0xdf:m -U hfuse:w:0xca:m
 +
 +
  CC=avr-gcc
 +
  CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega328p
 +
  OBJ2HEX=avr-objcopy
 +
  AVRDUDE=avrdude -c avrispmkII -p m328p -P usb -F -U flash
 +
 +
  TARGET=blink
 +
 +
  program : $(TARGET).hex
 +
          $(AVRDUDE):w:$(TARGET).hex
 +
 +
 +
  %.obj : %.o
 +
          $(CC) $(CFLAGS) $< -o $@
 +
 +
  %.hex : %.obj
 +
          $(OBJ2HEX) -R .eeprom -O ihex $< $@
 +
 +
  default:
 +
          $(AVRDUDE):w:default.hex:i
 +
 +
  read:
 +
          $(AVRDUDE):r:dump.hex:i
 +
 +
  clean :
 +
          rm -f *.hex *.obj *.o
 +
 +
== Rudumentary c file ==
 +
  // Title        : nuts.c
 +
  // Function : nuts.c
 +
  // Author    : CoolePascal
 +
  #define F_CPU 10000000UL
 +
  #include <avr/io.h>
 +
  #include <avr/delay.h>
 +
 +
  void delayms(uint16_t millis)
 +
  {
 +
  // uint16_t loop;
 +
    while ( millis )
 +
    {
 +
        _delay_ms(1);
 +
      millis--;
 +
    }
 +
  }
 +
 +
  int main(void)
 +
  {
 +
    DDRD |= 1<<PD7; /* set PD7 to output */
 +
    DDRB |= 1<<PB5; /* set PB5 to output */
 +
    while(1)
 +
    {
 +
        PORTD |= 1<<PD7;
 +
        PORTB &= ~(1<<PB5); /* LED on */
 +
        delayms(500);
 +
        PORTD &= ~(1<<PD7);
 +
        PORTB |= 1<<PB5; /* LED off */
 +
        delayms(500);
 +
    }
 +
    return 0;
 +
  }

Revision as of 10:00, 3 June 2012

Project: Atmel experiments
Featured:
State Active
Members Coolepascal
GitHub No GitHub project defined. Add your project here.
Description Diverse experimenten met Atmel chipjes
Picture
No project picture! Fill in form Picture or Upload a jpeg here

Al een hele tijd ben ik bezig met diverse projectjes met microcontrollers Hier een paar notes voor mijzelf zodat ik info online bij de hand heb. Dus als je jezelf terecht afvraagt waarom ik zulke basale info op een wiki zet, Nou dat is simpel omdat ik een hele boel projectjes doe en echt niet van elke cpu en elk details elke futuliteit ga onthouden, het beste geheugen is immers een potlood en een stukje papier (of een wiki)


Rudumentary Makefile

 # Title    : Makefile
 # Function : Sample Makefile for AVRISPMKII on OSX
 # Author   : Pascal Schiks (C) 2012 GNU/GPL
 # To erase chip and lock fuses
 # -e -U lock:w:0x3f:m -U lfuse:w:0xdf:m -U hfuse:w:0xca:m
 CC=avr-gcc
 CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega328p
 OBJ2HEX=avr-objcopy
 AVRDUDE=avrdude -c avrispmkII -p m328p -P usb -F -U flash
 TARGET=blink
 program : $(TARGET).hex
         $(AVRDUDE):w:$(TARGET).hex


 %.obj : %.o
         $(CC) $(CFLAGS) $< -o $@
 %.hex : %.obj
         $(OBJ2HEX) -R .eeprom -O ihex $< $@
 default:
         $(AVRDUDE):w:default.hex:i
 read:
         $(AVRDUDE):r:dump.hex:i
 clean :
         rm -f *.hex *.obj *.o

Rudumentary c file

 // Title        : nuts.c
 // Function : nuts.c
 // Author    : CoolePascal
 #define F_CPU 10000000UL
 #include <avr/io.h>
 #include <avr/delay.h>
 void delayms(uint16_t millis)
 {
 // uint16_t loop;
    while ( millis )
    {
       _delay_ms(1);
      millis--;
    }
 }
 int main(void)
 {
    DDRD |= 1<<PD7; /* set PD7 to output */
    DDRB |= 1<<PB5; /* set PB5 to output */
    while(1)
    {
       PORTD |= 1<<PD7;
       PORTB &= ~(1<<PB5); /* LED on */
       delayms(500);
       PORTD &= ~(1<<PD7);
       PORTB |= 1<<PB5; /* LED off */
       delayms(500);
    }
    return 0;
 }