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

[Atmega8][C] Program dla wyświetlacza LCD.

27 Lut 2011 10:33 6840 15
REKLAMA
  • #1 9210172
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • REKLAMA
  • #3 9210273
    Mad Bekon
    Poziom 23  
    Masz kolego błędy w pliku Makefile.
    Najprościej skorzystać z działającego będącego w przykładach WinAVR.

    ścieżka : WinAVR / doc / avr-libc / examples

    Zwróć uwagę na początkowe:

    F_CPU		   = 1000000
    PRG            = main.o
    OBJ            = main.o hd44780.o
    MCU_TARGET     = atmega8
    
  • #4 9210444
    Konto nie istnieje
    Poziom 1  
  • #5 9210490
    Mad Bekon
    Poziom 23  
    Osoba która stworzyła przykład który jest w WinAVR nie wie jaki masz programator, w związku z czym nie ma w makefile'u reguły na "make program".
    Napisz jakiego używasz programatora, coś zaradzimy.
  • REKLAMA
  • #6 9210684
    Konto nie istnieje
    Poziom 1  
  • #7 9210876
    Mad Bekon
    Poziom 23  
    W takim razie dowiedz się jak skonfigurować Avrdude dla twojego programatora

    dodaj:
    
    AVRDUDE = avrdude
    AVRDUDE_PROGRAMMER = {tutaj typ dla STK500}
    AVRDUDE_PORT = {tutaj port tego STK500}
    
    AVRDUDE_WRITE_FLASH = -U flash:w:$(PRG).hex
    AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER)
    
    # Program the device. 
    program: $(PRG).hex  
    	$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
    
    a
    PRG = main.o
    

    zmień na
  • #8 9210893
    piotrva
    VIP Zasłużony dla elektroda
    przesiądź się na avr studio 4, ono ma pełne wsparcie dla programatora stk500
  • #9 9211001
    Konto nie istnieje
    Poziom 1  
  • #10 9211514
    Mad Bekon
    Poziom 23  
    Spróbuj:
    AVRDUDE_PROGRAMMER = stk500v2
    AVRDUDE_PORT = com3 
    

    albo
    AVRDUDE_PROGRAMMER = stk500v2
    AVRDUDE_PORT = avrdoper
    
  • #11 9211566
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #13 9211794
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #14 9213180
    Mad Bekon
    Poziom 23  
    Kolego, spójrz na wywołanie pierwsze, to błędne.
     
    avrdude -p  -c stk500v2 -P com3 -V  -U flash:w:main.hex 
    

    a teraz to drugie
    
    avrdude -p atmega8 -P com3 -c stk500v2    -U flash:w:testowy.hex 
    


    nie widzisz różnicy?
    Wynika to z błędy w Makefile'u, przyznaje, z mojej winy.
    Szkoda, że nie przeglądasz tego pliku i nie starasz się zrozumieć jak to działa.
    W makefile zamiast
    
    AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER) -P $(AVRDUDE_PORT)
    
    powinno być:
    
    AVRDUDE_FLAGS = -p $(MCU_TARGET) -c $(AVRDUDE_PROGRAMMER) -P $(AVRDUDE_PORT)
    
  • #15 9213647
    Konto nie istnieje
    Poziom 1  
  • #16 9246578
    Konto nie istnieje
    Poziom 1  
REKLAMA