Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[atmega32][c]zegar sterujący definicje funkcji

16 Mar 2011 20:40 1928 11
  • Poziom 16  
    Witam.Nie potrafię w prosty sposób zdefiniować funkcji zegara sterującego czterema obwodami załączanymi lub wyłączanymi o określonym ustawionym czasie. Próbowałem zastosować kilka przykładów definicji funkcji z książek,sam tworzyłem jakieś karkołomne definicje ale wszystko niestety przekracza możliwości atmegi32 bo kod po prostu się w niej nie mieścił.Ten wycinek kodu to jeden ekran wyświetlacza 4x20 na którym chciałbym ustawiać potrzebne wartości.
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 13  
    A tak po polsku to co chcesz zrobić?
  • Poziom 16  
    Mam cztery obwody gniazdek które chciałbym niezależnie włączać lub wyłączać o określonym czasie [tryb automatyczny] lub sterować nimi ręcznie w razie potrzeby [tryb manualny] oraz mieć możliwość w trybie automatycznym odroczenia zadziałania o max 6 godzin czyli ja załączony to odroczone wyłączenie np; o 3 godziny i na odwrót tylko po to by za każdym razem nie przestawiać czasu nastaw zegara sterującego jeżeli chcę by dane urządzenie miało napięcie w gniazdku trochę dłużej.Czas bieżący otrzymuje z PCF8583 w którym zapisane są również zaprogramowane czasy nastaw zegara sterującego.
  • Poziom 13  
    Nadal nie kumam. widze że chcesz mieć lcd ale do tego jakaś klawiatura czy wszystko pobierane z tego PCF i 4 przyciski do całości?

    Ja bym zegar zaimplementował w uC i dał do tego jakieś podtrzymywanie - łatwiej będzie.
    Najlepiej rozpisz wszystko w postaci algorytmu i wrzuć tutaj.
  • Poziom 35  
    Po pierwsze, każde z urządzeń potraktuj jako oddzielną "strukturę". Napisz jeden silnik, do ktorego będziesz podawał wskaznik na taką strukturę. W skrócie:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    piszesz funkcję typu
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Chybaze chodzi ci o scheduler, ktory będzie wykonywał sekwencję zdarzeń według zaprogramowanych wpisów, a akcję danego wpisu będzie można odroczyć o x sekund/minut/godzin? To wtedy trzeba do tego podejść trochę inaczej...
  • Poziom 16  
    Klawiszy jest pięć - kod wkleiłem bez ich obsługi ale to szczegół. menu zorganizowałem tak że dana linia wyświetlacza odpowiada odpowiada umieszczonemu obok LCD klawiszowi oczywiście w większych pionowych odstępach a nad nimi jest klawisz pierwszy mający spełniać funkcję zatwierdź/zapisz. próbowałem już zastosować strukturę na podstawie książki pana Mirosława Kardasia ale kompilator się ze mną droczy twierdząc że definicja struktury jest nieprawidłowa ?...może kod całego menu przybliży nieco moja koncepcję być może wymagającą korekcji.
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 16  
    Korzystając z książki i idąc za sugestią ukroiłem taki kawałek kodu ale kompilator aż się czerwieni ze złości a ja nie wiem o co mu chodzi...proszę wytłumaczcie mi co jest źle..
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 35  
    to jest programistyczny koszmar :]

    Strukturkę napisałeś niczego sobie, ale...

    - co to jest za unia? Po co ci ona? Jeśli będziesz chciał np. zapisywać ją do pamięci nieulotnej bajt po bajcie, to chyba lepiej zrzutować konkretny element na wsk na bajt
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Co robi ten kod?
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Moze lepiej napisz jeszcze raz powoli, i spokojnie, co chcesz osiągnąć. Kod, który napisałeś, no cóż...coś w nim nie tak...
  • Poziom 16  
    Książkowy przykład jedynie ze zmienionymi nazwami zmiennych...jeżeli w książkach są błędy to wybaczcie że nie wiem jak napisać ten program ... że zaczyna mnie doprowadzać do szału bo co napisze kawałek kodu to utykam w jakimś miejscu i zaczynam od nowa ... że już kilka razy przebudowywałem całe menu aby było proste co chyba osiągnąłem ale teraz z kolei borykam się z definicjami , zależnościami i na dodatek książkowymi błędami...
  • Poziom 16  
    Czy ktoś potrafi zrobić z tego kodu użyteczny program ? ? ? .... zaczynam się zastanawiać czy nie zlecić jego napisania ale nie mam pojęcia ile taka usługa może kosztować. Dla zorientowania się o co mi chodzi wklejam cały kod którego część funkcjonuje.
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 32  
    W asemblerze to proste jak drut. Jedna funkcje sprawdzająca wywoływana wielokrotnie za kazdym razem tylko z innym offsetem wskazującym na dane.
    A tych "gniazdek" moze byc tyle na ile wystarczy pamieci.
    A tu jakiś koszmar i jak on jest ksiązkowy to pól biedy a że ty chcesz go przerobić na swoją modłe to moje gratulacje. Ja bym wczesniej skonczyl swój program i to w ASM nic rozgryzł co inny poeta mial na myśli.
    Bujasz sie z tym 4 dni a jakbys zaczał od początku sam kombinowac moze by to zajęło wiecej skoro nie umiesz programować ale przy okazji nauczyłbys sie włąsnie programowania. A jak umiesz programować to nei zajęłoby cie to nawet dwóch dni. NA elektrodzie to jakaś istna mania podbierania cudzych programów.
  • Poziom 16  
    W kwestii wyjaśnienia obsługa TWI i LCD to ogólnie dostępne procedury kod obsługi przetwornika ADC otrzymałem od jednego z użytkowników Elektrody gdy miałem z nim kłopoty reszta to moje kombinacje i kawałki kodu zaczerpnięte z książek a nie zerżnięte od innego użytkownika Elektrody. Nie mam doświadczenia i przyznaję że nie potrafię zastosować większości definicji dostępnych w C ale jak spojrzeć na inne napisane programy to każdy pisze inaczej , każdy definiuje inaczej co wynika z faktu że są mniej lub bardziej zaawansowani w programowaniu. Nie pisze programu dla kogoś i nigdy pisał nie będę...jestem w programowaniu wróblem i raczej kanarkiem się nie stanę i prawdopodobnie jak uporam się tym który usiłuję napisać to odłożę temat programowanie AVR-ów na półkę.