logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega128, fusebity - uisp błędnie odczytuje ustawienia, co robić?

gromnik19 29 Sie 2007 09:38 1387 5
REKLAMA
  • #1 4227376
    gromnik19
    Poziom 15  
    Posty: 98
    Pomógł: 10
    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ś:
    > "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: 0


    Niby 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ń :/
  • REKLAMA
  • #2 4227525
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    ad.2 Na porcie F jest interfejs Jtag, jak go nie wyłączysz (fuse-bity), nie będziesz miał dostępu do tych wyprowadzeń.
  • REKLAMA
  • #3 4231743
    gromnik19
    Poziom 15  
    Posty: 98
    Pomógł: 10
    no spoko, tylko nie moge sie dalej dostac do fusow :/
  • REKLAMA
  • #4 4231830
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    Korzystasz ze standardowego programatora obsługiwanego przez multum programów, masz dostęp do procesora - nie jest zablokowany dlaczego nie spróbujesz odczytać konfiguracji za pomocą innego programu?
  • REKLAMA
  • #5 4231920
    macio
    Poziom 12  
    Posty: 14
    Pomógł: 1
    JTAGa można też wyłączyć w software - rejestr MCUCSR bit JTD.
  • #6 4231934
    gromnik19
    Poziom 15  
    Posty: 98
    Pomógł: 10
    Akurat JTAG jest tu najmniejszym problemem, gorzej z tymi FUSami, kolega dal sluszna uwage o innym programie, wlasnie sie szarpie z ponyprogiem, probuje go skonfigurowac dla 128 (nigdy go ie uzywalem)
REKLAMA