Witam,
pierwszy raz zabrałem się za programowanie ATmega128 i od początku problemy:
1. Przy skoku do jakiejkolwiek funkcji w programie (język C, WinAVR) proc idzie "w maliny", doczytałem, że trzeba ustawic tryb zgodności z ATmega103, można coś więcej na ten temat? czy tylko należy ustawic extended fuse na 0xff?
2. Probowałem użyc, jako zwykłego portu wyjściowego, portu F. Kiedy cały rejestr PORTF ustawiam jako 0, na pinach 4 i 5 wciąż jest napięcie. Niestety nie miałem jak go zmierzyc, bo mi umarł miernik. Widzę że jest napięcie bo LED świeci (co prawda nie pełną mocą ale świeci). Jakiś pomysł?
3. Zasadnicza sprawa: używany przeze mnie programator to ISP oczywiście. Chciałbym żeby procek pracował na 16Mhz. Wrzucam więc do uisp odpowiednią komendę i dostaję takie coś:
Niby wszystko jest ok, powinien pracowac, ale jak chce odczytac fusy to dostaje cos takiego:
Mam dwa takie same ATmegi wpinane do tej płytki i na obu to samo. Pomóżcie bo siedzę nad tym już trzeci dzień :/
pierwszy raz zabrałem się za programowanie ATmega128 i od początku problemy:
1. Przy skoku do jakiejkolwiek funkcji w programie (język C, WinAVR) proc idzie "w maliny", doczytałem, że trzeba ustawic tryb zgodności z ATmega103, można coś więcej na ten temat? czy tylko należy ustawic extended fuse na 0xff?
2. Probowałem użyc, jako zwykłego portu wyjściowego, portu F. Kiedy cały rejestr PORTF ustawiam jako 0, na pinach 4 i 5 wciąż jest napięcie. Niestety nie miałem jak go zmierzyc, bo mi umarł miernik. Widzę że jest napięcie bo LED świeci (co prawda nie pełną mocą ale świeci). Jakiś pomysł?
3. Zasadnicza sprawa: używany przeze mnie programator to ISP oczywiście. Chciałbym żeby procek pracował na 16Mhz. Wrzucam więc do uisp odpowiednią komendę i dostaję takie coś:
> "uisp" -dlpt=0x378 -dprog=stk200 -dpart=ATmega128 --wr_fuse_l=0xef --wr_fuse_h=0x89
Atmel AVR ATmega128 is found.
Fuse Low Byte set to 0xef
Fuse High Byte set to 0x89
> Process Exit Code: 0Niby wszystko jest ok, powinien pracowac, ale jak chce odczytac fusy to dostaje cos takiego:
> "uisp" -dlpt=0x378 -dprog=stk200 -dpart=ATmega128 --rd_fuses
Atmel AVR ATmega128 is found.
Fuse Low Byte = 0xff
Fuse High Byte = 0xff
Fuse Extended Byte = 0xff
Calibration Byte = 0xff -- Read Only
Lock Bits = 0xff
BLB12 -> 1
BLB11 -> 1
BLB02 -> 1
BLB01 -> 1
LB2 -> 1
LB1 -> 1
> Process Exit Code: 0
Mam dwa takie same ATmegi wpinane do tej płytki i na obu to samo. Pomóżcie bo siedzę nad tym już trzeci dzień :/