[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-chat] AVR Test
From: |
Chris Spencer |
Subject: |
[avr-chat] AVR Test |
Date: |
Mon, 29 May 2006 21:22:24 -0400 |
User-agent: |
Thunderbird 1.5.0.2 (X11/20060501) |
I was able to get my dev environment setup (thanks Galen) and
successfully write a hex file to my atmega48. However, my test program
doesn't make the led blink. Below is my c code and makefile. Does anyone
see any glaring problems? Is my makefile setting (or not setting) the
appropriate fuse bits? I'm testing on two Pololu Baby Orangutan boards
(http://www.pololu.com/products/pololu/0215/), so I'm pretty confident
it's not a hardware issue. All lights are green on the programmer.
#include <avr/io.h>
/* at 8 MHz we get 1us per 8 instructions */
inline void delayus() { asm volatile("nop\nnop\nnop\nnop\n"
"nop\nnop\nnop\nnop"); }
void delayms(uint16_t millis) {
uint16_t loop;
while ( millis ) {
loop = 100;
while (loop) {
/* 20us of delays */
delayus(); delayus(); delayus(); delayus(); delayus();
delayus(); delayus(); delayus(); delayus(); delayus();
loop--;
}
millis--;
}
}
int main(void) {
DDRD |= 1<<PD1; /* set PD1 to output */
while(1) {
PORTD |= 1<<PD1; /* LED on */
delayms(1000);
PORTD &= !(1<<PD1); /* LED off */
delayms(1000);
}
return 0;
}
CC=avr-gcc
CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega48
OBJ2HEX=avr-objcopy
TARGET=blink
PART=m48
PROGRAMMER=avrisp2
program: $(TARGET).hex
avrdude -p $(PART) -c $(PROGRAMMER) -P usb -e flash:w:$(TARGET).hex
%.obj: %.o
$(CC) $(CFLAGS) $< -o $@
%.hex: %.obj
$(OBJ2HEX) -R .eeprom -O ihex $< $@
clean:
rm -f *.hex *.obj *.o
- [avr-chat] AVR Test,
Chris Spencer <=