Burn fuse for external crystal at 16K CK and 65ms
This commit is contained in:
4
Makefile
4
Makefile
@@ -57,8 +57,8 @@ flash: $(TARGET)
|
||||
$(E) "[AVD] Flashing..."
|
||||
$(Q) $(AVD) -l $(LOGFILE) \
|
||||
-c $(ASP) -p $(ARCH) \
|
||||
-U lfuse:w:0xff:m \
|
||||
-U hfuse:w:0x91:m \
|
||||
-U lfuse:w:0xFF:m \
|
||||
-U hfuse:w:0xD2:m \
|
||||
-U flash:w:$<
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
@@ -27,7 +27,7 @@ int USART_Init(void)
|
||||
|
||||
UCSR0B = BIT(RXCIE0); // Handle RXC interrupts
|
||||
UCSR0B |= BIT(RXEN0) | BIT(TXEN0); // Enable RX and TX circuitry
|
||||
UCSR0C = BIT(USBS0) | BIT(UCSZ00) | BIT(UCSZ01); // 8-bit data, 2-bit stop
|
||||
UCSR0C = BIT(UCSZ01) | BIT(UCSZ00); // 8-bit data, 1-bit stop, no parity
|
||||
UBRR0H = (USART_BAUD_PRESCALE >> 8); // Set baud rate upper byte
|
||||
UBRR0L = USART_BAUD_PRESCALE; // Set baud rate lower byte
|
||||
|
||||
|
||||
15
src/main.c
15
src/main.c
@@ -57,6 +57,16 @@ static int Init(void)
|
||||
|
||||
Info("Initializing...");
|
||||
|
||||
// FIXME: Something is wrong here:
|
||||
// - AVRDUDE sometimes fails to verify flash.
|
||||
// - UART sometimes stops working.
|
||||
// - External crystal problems?
|
||||
// - Power supply problems?
|
||||
// - Wrong fuses? Unlikely.
|
||||
// - Bootloader problems?
|
||||
|
||||
return 0;
|
||||
|
||||
// The watchdog timer is clocked from a separate
|
||||
// on-chip oscillator which runs at 1 MHz. Eight
|
||||
// different clock cycle periods can be selected
|
||||
@@ -232,10 +242,13 @@ int main(void)
|
||||
|
||||
for (;;) {
|
||||
WDT_Reset();
|
||||
Update();
|
||||
Info("UPDATE");
|
||||
continue;
|
||||
// Update();
|
||||
WDT_Reset();
|
||||
Sleep(1000);
|
||||
}
|
||||
|
||||
UNUSED(Update);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user