Jag håller på med ett projekt där jag bland annat har en grafisk LCD, en USB-modul som kommunicerar med UART, ett externt interrupt och lite A/D-ingångar. För snabbt att få snurr på allt använder jag AVRlib och det funkar klockrent med en Atmega16 som jag labbat med. LCD, UART, externa interrupts etc funkar bra och är enkelt att implementera med AVRlib.
Men nu försöker jag byta upp mig till en Atmega128L och INGENTING fungerar. Jag har testat att implementera alla olika delar var för sig men med samma resultat: så fort jag kallar på någon av AVRlibs funktioner, t.ex. uartInit(), så låser sig programmet och går inte vidare. Kommenterar jag bort det så går programmet snällt in i en whileslinga och blinkar en diod.
Är det någon som har en ide om vad som kan vara felet?
Har suttit och försökt i typ fyra timmar nu utan resultat, håller på att bli galen. Allt kompilerar såklart som det ska utan fel.
De saker jag har testat är timer128.h, uart.h, uart2.h, ks0108.h.
Edit: Lägger in en exempelkod
Kod: Markera allt
#include <avr/io.h>
#include "global.h"
#include "timer128.h"
void delayo(int del);
int main(void) {
timerInit();
DDRA = 0xFF;
PORTA = 0xF0;
while(1) {
PORTA = ~PORTA;
delayo(1000);
}
return 0;
}
void delayo(int del) {
int i, j;
for (j=0;j<del;j++) {
for (i=0;i<del;i++)
asm("nop");
}
}