Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 2 maja 2025, o 22:41


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 40 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 20 lut 2014, o 13:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Witam wszystkich,
    złożyłem stację z kitu AVT987 i z archiwum EP http://ep.com.pl/archiwum.html lipca i sierpnia 2007 pobrałem z materiałów dodatkowych wsad. Chcę lekko zmodyfikować kod między innymi po to aby stacja nie włączała się od razu z "ON", tylko żeby zaczynała od "OFF".

    Cały program się kompiluje w Eclipse, jednak mam błędy, których nie potrafię rozgryźć, choć prawdopodobnie są oczywiste:
    Cytuj:
    **** Build of configuration Release for project sta ****

    make all
    Building file: ../hw.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=16000000UL -MMD -MP -MF"hw.d" -MT"hw.d" -c -o "hw.o" "../hw.c"
    In file included from ../hw.c:3:0:
    c:\program files (x86)\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>." [-Wcpp]
    ../hw.c:4:20: fatal error: config.h: No such file or directory
    compilation terminated.
    make: *** [hw.o] Błąd 1

    **** Build Finished ****


    Błąd wyskakuje na oryginalnym wsadzie z archiwum, jeszcze nic nie zmieniałem.
    Krzyczy o config.h, a plik znajduje się w katalogu projektu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2014, o 15:08 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    Bo używasz najnowszego atmel toolchaina, a wsad sprzed iluś lat gdzie kiedyś się używało np makr przerwań typu

    SIGNAL()

    a dzisiaj powinny to być

    ISR()

    podobnie jak kiedyś się inkludowało zdaje się <avr/signal.h> a dzisiaj pownieneś używać <avr.interrupt.h>

    popraw te sprawy i powinno być lepiej o ile nie wyskoczą kolejne warningi i trzeba będzie dalej poprawiać

    albo .... albo skompiluj z udziałem starszego toolchaina czyli WinAVR i wtedy będzie bez krzyku ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2014, o 20:35 
    Offline
    Nowy

    Dołączył(a): 02 sty 2013
    Posty: 18
    Pomógł: 0

    Witam. Może ja pomogę.
    Jakiś czas temu wykonywałem tą stację i znalazłem na elektrodzie kod do tej stacji z wprowadzoną zmianą o którą ci chodzi + możliwość wyboru rodzaju termopary (J, K, T ) jaki mamy w kolbie (wyboru dokonujemy poprzez drobną zmianę w kodzie i ponowną kompilację). Jak się później okazało musiałem dokonać zmiany w kodzie aby dodać nową termoparę jaką ja miałem (typu E) i musiałem przerobić kod pod nowego toolchaina. W załączniku oryginalny kod kolegi z elektrody (działa na 100 % i jak znajdę ten post to wkleję link) i moja przeróbka pod Atmel Studio 6. Kod kompiluje się bez błędów ani ostrzeżeń jednak go nie wgrywałem gdyż nie mam jak tego teraz zrobić.


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 16:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Zarówno poprawiony przeze mnie kod jak i ten z załącznika po kompilacji daje jeden "fatal error":
    Cytuj:
    **** Build of configuration Release for project sta ****

    make all
    Building file: ../hw.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=16000000UL -MMD -MP -MF"hw.d" -MT"hw.d" -c -o "hw.o" "../hw.c"
    ../hw.c:2:27: fatal error: avr.interrupt.h: No such file or directory
    compilation terminated.
    make: *** [hw.o] Błąd 1

    **** Build Finished ****



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 18:30 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    dudinr1 napisał(a):
    ../hw.c:2:27: fatal error: avr.interrupt.h: No such file or directory

    Ma być:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 19:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    To już wcześniej sprawdzałem, wtedy nie podobają się kompliatorowi makra przerwań ISR().
    Cytuj:
    **** Build of configuration Release for project sta ****

    make all
    Building file: ../hw.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=16000000UL -MMD -MP -MF"hw.d" -MT"hw.d" -c -o "hw.o" "../hw.c"
    ../hw.c:68:8: error: attempt to use poisoned "SIG_OUTPUT_COMPARE1A"
    ../hw.c:126:8: error: attempt to use poisoned "SIG_INTERRUPT0"
    ../hw.c:154:8: error: attempt to use poisoned "SIG_ADC"
    make: *** [hw.o] Błąd 1

    **** Build Finished ****



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 19:55 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    dudinr1 napisał(a):
    ../hw.c:68:8: error: attempt to use poisoned "SIG_OUTPUT_COMPARE1A"
    ../hw.c:126:8: error: attempt to use poisoned "SIG_INTERRUPT0"
    ../hw.c:154:8: error: attempt to use poisoned "SIG_ADC

    bo ma być zamiast SIGNAL(SIG_OUTPUT_COMPARE1A) itd. odpowiednio:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 21:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Teraz mam problem z wykryciem Atmega8 przez USBasp z Atnel i mkAVRcal.
    Nie wykrywa ani Atmega8 ani atmega 328p, natomiast Attiny45 już bez problemu.
    Auto SCK ustawione.

    Połączenia sprawdzone, program i sterowniki przeinstalowane, AVRdude zainstalowany.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 22:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Czy ustawiałeś fusbity ?
    jeśli tak to czy
    masz zewnętrzny kwarc podłączony ?
    z tego co pamiętam ten projekt używa kwarcu zewnętrznego
    ale nie jestem pewien czy 8 czy 16 MHz



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 22:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    używa kwarcu 8Mhz.
    ponieważ mkavr go nie wykrył nic w nim nie przestawiałem. Tak czy inaczej powinien wykryć, szczególnie że drugi uC jaki testowałem to ATmega 328P i już wcześniej ją programowałem i była bez problemu wykrywana.

    Stawiam drugi system na "warsztatowym" laptopie aby wykluczyć problem z konfiguracją komputera.

    Nie wiem czy mam rację ale nawet jeśli ATmega8 z projektu stacji ma zewnętrzny kwarc to powinna być i tak wykryta po podłączeniu na płytce stykowej.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 22:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Przepraszam za niezbyt precyzyjne pytanie trochę za bardzo
    skrótowo zapytałem.

    Tak masz rację co do wykrycia uC jeśli najpierw wgrywasz wsad
    dlatego zapytałem czy ustawiłeś już fusebit-y na te z projektu
    a dopiero później chciałeś zaprogramować wsad



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 22:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 lut 2013
    Posty: 600
    Pomógł: 47

    Czy wcześniej używałeś zewnętrznego kwarca a teraz nie, dobrze rozumiem.

    _________________
    https://www.instagram.com/myfirstquadcopter/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 22:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Wpiąłem się bezpośrednio do płytki stacji lutowniczej, jest tam gniazdo do programowania i wszystko zostało odczytane przez mkavr.
    Najprawdopodobniej płytka stykowa mi się "sfochowała", choć sprawdzałem połączenia obstawiałbym ją ponieważ ATtiny45 w innym jej miejscu ją wykrywało.

    Wcześniej zewnętrznych kwarców nie używałem.
    Czy dobrze rozumiem, że jak Fusebity są ustawione na zewnętrzny kwarc to potem po podłączeniu bez niego Uc nie zostanie wykryty?
    Wydawało mi się, że powinno wykryć bez problemu.

    Kurcze mam ostatnio pecha z tym, że coś nie styka, to przelotka uszkodzona w Kicie, to płytka stykowa...
    Cóż takie hobby, trzeba brać pod uwagę wszystko:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 23:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Tak dobrze rozumiesz - jeśli ustawisz uC na zewnętrzny kwarc to bez niego (zewnętrznego kwarcu)
    nie wykryjesz uC
    to jest tak zwana jedna z przyczyn zablokowania uC
    Tak przy okazji
    inną przyczyną może być ustawienie pinu Reset jako normalnego pinu We/Wy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2014, o 23:17 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Po zasugerowanej poprawce:
    Cytuj:
    dudinr1 napisał(a):
    ../hw.c:68:8: error: attempt to use poisoned "SIG_OUTPUT_COMPARE1A"
    ../hw.c:126:8: error: attempt to use poisoned "SIG_INTERRUPT0"
    ../hw.c:154:8: error: attempt to use poisoned "SIG_ADC

    bo ma być zamiast SIGNAL(SIG_OUTPUT_COMPARE1A) itd. odpowiednio:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    ISR(TIMER1_COMPA_vect)
    ISR(INT0_vect)
    ISR(ADC_vect)


    Dostałem inny komunikat błędu, który jest zlokalizowany w plikurl1.c
    Cytuj:
    **** Build of configuration Release for project sl ****

    make all
    Building file: ../hw.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"hw.d" -MT"hw.d" -c -o "hw.o" "../hw.c"
    In file included from ../hw.c:3:0:
    c:\program files (x86)\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>." [-Wcpp]
    Finished building: ../hw.c

    Building file: ../lcd.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"lcd.d" -MT"lcd.d" -c -o "lcd.o" "../lcd.c"
    In file included from ../lcd.c:2:0:
    c:\program files (x86)\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." [-Wcpp]
    Finished building: ../lcd.c

    Building file: ../rl1.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"rl1.d" -MT"rl1.d" -c -o "rl1.o" "../rl1.c"
    ../rl1.c: In function 'GetTemp':
    ../rl1.c:131:3: warning: array subscript has type 'char' [-Wchar-subscripts]
    ../rl1.c: In function 'DispSetScreen':
    ../rl1.c:224:15: error: variable 'opisy' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    make: *** [rl1.o] Błąd 1

    **** Build Finished ****


    ------------------------ [ Dodano po: 9 minutach ]

    ok dodałem const w linijce:
    Cytuj:
    static PGM_P const opisy[] PROGMEM = {n1,n2,n3,n4,n5};


    i posunąłem się krok dalej.

    Pozostało jeszcze ostrzeżenie w linii kodu:
    Cytuj:
    memcpy_P(&di,&dw[i],sizeof(float));



    Komunikat po kompilacji:
    Cytuj:
    **** Build of configuration Release for project sl ****

    make all
    Building file: ../rl1.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"rl1.d" -MT"rl1.d" -c -o "rl1.o" "../rl1.c"
    ../rl1.c: In function 'GetTemp':
    ../rl1.c:131:3: warning: array subscript has type 'char' [-Wchar-subscripts]
    Finished building: ../rl1.c

    Building target: sl.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,sl.map -mmcu=atmega8 -o "sl.elf" ./hw.o ./lcd.o ./rl1.o
    c:/program files (x86)/atmel/avr tools/avr toolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/bin/ld.exe: sl.elf section `.text' will not fit in region `text'
    c:/program files (x86)/atmel/avr tools/avr toolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/bin/ld.exe: region `text' overflowed by 2238 bytes
    collect2: ld returned 1 exit status
    make: *** [sl.elf] Błąd 1

    **** Build Finished ****



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 00:33 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Przekroczyłeś rozmiar pamięci programu. Dodaj sobie bibliotekę math jak na poniższym obrazku. Musisz wejść w Project->Properties
    Obrazek

    Należy pozbyć się też ostrzeżeń:
    1)
    dudinr1 napisał(a):
    c:\program files (x86)\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>." [-Wcpp]

    usuń linię #include <avr/signal.h>
    2)
    dudinr1 napisał(a):
    c:\program files (x86)\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." [-Wcpp]

    zamień na:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    3)
    dudinr1 napisał(a):
    ../rl1.c:131:3: warning: array subscript has type 'char' [-Wchar-subscripts]

    zamień char na uint8_t w pobliżu tego ostrzeżenia.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 12:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Krauser, program skompilował się poprawnie po dodaniu biblioteki.
    I zamianie #include <avr/signal.h> na #include <util/delay.h>
    Jestem strasznie ciekawy jak dodanie biblioteki pozwoliło nie przekroczyć pamięci programu.

    Zamieniłem również char na uint8_t, warning zniknął.

    Wgrałem wsad na stację lutowniczą i program się zapętla na pierwszych dwóch ekranach z kawałka kodu pliku rl1.c
    Cytuj:
    void Intro(void)
    {
    InstLcd(LCDLINE1);
    PutsLcd_P(PSTR(" Stacja "));
    InstLcd(LCDLINE2);
    PutsLcd_P(PSTR(" lutownicza "));
    DispTim = 255;
    while(DispTim) wdt_reset();
    InstLcd(LCDLINE1);
    PutsLcd_P(PSTR("Kompilacja(GCC):"));
    InstLcd(LCDLINE2);
    PutsLcd_P(PSTR(__DATE__));
    PutsLcd_P(PSTR(" "));
    DispTim = 255;
    while(DispTim) wdt_reset();
    }


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 18:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Niestety u mnie było to samo
    próbowałem wyłączyć wszystkie watchdogi (w fusbitach też :) )i nic to nie pomogło
    zapętlił się w innym miejscu w funkcji getADC.
    Tak że dałem sobie spokój i teraz wpadła mi myśl ,że może
    do kompilacji trzeba użyć toolchain-a z tamtego okresu (tak jak Mirek radzi),
    tylko to musi jeszcze poczekać aż się więcej nauczę :D

    ------------------------ [ Dodano po: 1 minucie ]

    Z drugiej strony ,u mnie skompilowany plik *.hex (oryginalny ten ściągnięty)
    też nie działał :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 20:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    U mnie oryginalny wsad również się zapętla. Czytam szukam rozwiązania.

    Wgrywałem oryginalny wsad również z poziomu mkAVR bez dodatkowej kompilacji pliku hex i eep.

    Swoją drogą Żaba, dziękuję za próbę pomocy, przykro mi że teraz i tobie stacja się "zapętliła".



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 21:23 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    dudinr1 napisał(a):
    Zamieniłem również char na uint8_t, warning zniknął.

    Zmień na int8_t. Inaczej nie będzie działać.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 21:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Zmieniłem, wywaliło kolejny błąd:
    Cytuj:
    **** Build of configuration Release for project pokolei ****

    make all
    Building target: pokolei.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,pokolei.map -mmcu=atmega8 -o "pokolei.elf" ./hw.o ./lcd.o ./rl1.o -lm
    c:/program files (x86)/atmel/avr tools/avr toolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/bin/ld.exe: pokolei.elf section `.text' will not fit in region `text'
    c:/program files (x86)/atmel/avr tools/avr toolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/bin/ld.exe: region `text' overflowed by 22 bytes
    collect2: ld returned 1 exit status
    make: *** [pokolei.elf] Błąd 1

    **** Build Finished ****


    Ok skróciłem tekst "przywitania" i poszło.
    Skąd te ograniczenie? Nie przekroczyłem ilości znaków mieszczących się na LCD.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 21:56 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Do nie dotyczy to ilości znaków na wyświetlaczu tylko pamięci programu procesora. Tak to zostało nazwane. Zobacz tutaj. Oczywiście ma to związek, bo każdy napis w programie musi zostać zapisany w pamięci flash. Więcej literek = więcej zajętych bajtów.

    PS. I co działa ta stacja?


    Autor postu otrzymał pochwałę

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2014, o 22:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Tak stacja działa, serdeczne dzięki wszystkim za pomoc.
    Jej praca zaczyna się od trybu "off", a głównie o to mi chodziło, no i jest wsad działający, na pewno się też przyda.
    Zgłębię temat i mam nadzieję uda mi się więcej znaków wcisnąć.
    Niebieska książka dopiero do mnie jedzie, także zgłębiać tajniki programowania zacznę niebawem:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 lut 2014, o 22:15 
    Offline
    Nowy

    Dołączył(a): 02 sty 2013
    Posty: 18
    Pomógł: 0

    Witam. Chyba muszę przeprosić autora postu bo trochę nagmatwałem (tak mi się wydaje).
    Plik który wysłałem (Stacja_EP_poprawka) zawierał pliki projektu z atmel studio, które przed wysyłką sprawdzałem i kompilowały się bez problemu a dodatkowo był tam folder o nazwie: "Poprawiony, termopara K, J, T" forumowicza z elektrody, który teoretycznie powinien być poprawiony przeze mnie a jednak jak przed chwilą sprawdziłem nie jest a każdy z niego korzystał próbując koledze pomóc. Wina leży po mojej stronie gdyż niedawno odzyskiwałem dane z komputera i najwyraźniej na zewnętrznym dysku miałem zapisany nie w pełni poprawiony plik.
    Za mój błąd przepraszam i ciesze się że inni pomogli. Trochę późno odpowiadam ale w tygodniu nie bardzo mam jak.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 12:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Bober666 taka Twoja wina, że wszystko działa i jest ok:)
    Nie ma tego złego, mamy działający skompilowany WSAD i stacja zaczyna pracę od Trybu "off" o co głównie chodziło.
    Zanim dodam Wsad jako załącznik, chcę rozwiązać problem ilości znaków jakie można dodać do początkowych ekranów.
    Mam również wrażenie, że na nowym wsadzie, temperatura jest mniej stabilna niż na oryginalnym.


    Już wszystko jasne, w programie miałem ustawioną tablicę wielomianu dla termopary J, stąd mniej stabilne działanie.
    W pliku rl1.c należy usunąć komentarz z tablicy danej termopary.
    Następnie w 129 linii tego pliku zmienić wartość "i" na odpowiadająca konkretnej termoparze, ja mam K, więc wpisałem 8:
    Cytuj:
    for(int8_t i=8;i>=0;i--) //K-8, J-6, T-5


    W tym samym pliku możemy zmienić wartości wyświetlanych ekranów początkowych, teraz ustawiłem przykładowe stringi:
    Cytuj:
    {
    InstLcd(LCDLINE1);
    PutsLcd_P(PSTR("test"));
    InstLcd(LCDLINE2);
    PutsLcd_P(PSTR("test1"));
    DispTim = 255;
    while(DispTim) wdt_reset();
    InstLcd(LCDLINE1);
    PutsLcd_P(PSTR("test3"));
    InstLcd(LCDLINE2);
    PutsLcd_P(PSTR(__DATE__));
    PutsLcd_P(PSTR(" "));
    DispTim = 255;
    while(DispTim) wdt_reset();
    }



    Dodaję w załączniku skompilowany, działający kod.
    Ustawiony na termoparę typu "K".
    Stacja zaczyna pracę od trybu "off".

    Dziękuję wszystkim za pomoc:)
    Wojtek


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2015, o 12:58 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 sie 2013
    Posty: 52
    Pomógł: 0

    Witam, też się przymierzam do zbudowania tej stacji, zauważyłem że po necie krąży kilka wersji wsadów i schematów.
    Czy można wiedzieć do którego schematu jest ten, tutaj przedstawiony, poprawiony wsad?

    Do stacji chce zastosować taką kolbę:
    http://allegro.pl/kolba-lutownicza-do-s ... 68934.html
    Wprawdzie za te pieniądze można kupić jakiegoś salomona ale 48W zamiast 60W.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2015, o 19:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 sie 2013
    Posty: 52
    Pomógł: 0

    I co nikt nie wie???
    Już zamawiam części i chciałbym przynajmniej zacząć rysować mozaikę z właściwego schematu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sie 2015, o 22:25 
    Offline
    Nowy

    Dołączył(a): 02 sty 2013
    Posty: 18
    Pomógł: 0

    Do Doctore.
    Kolego ja robiłem wg oryginalnego schematu z EP. Jak potrzeba to jutro podeślę schemat eagle z mojego projektu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 wrz 2015, o 18:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 sie 2013
    Posty: 52
    Pomógł: 0

    No ok.
    Czy ktoś może sprawdzić schemat czy wszystko ok?
    Obrazek
    Stabilizator 5V ma pozamieniane wyprowadzenia bo nie mogłem odpowiedniego znaleźć w bibliotece więc użyłem innego i pozamieniałem...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 wrz 2015, o 23:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 sie 2013
    Posty: 52
    Pomógł: 0

    A 495k dostanę? xD
    Nie zwróciłem uwagi na ten rezystor.
    Ale chyba po prostu dobiorę jakiś 1M co ma rzeczywiście 990k, bo taki 1M 5% może mieć od 950k do 1M05.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 40 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO