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



Teraz jest 6 lut 2025, o 23:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
PostNapisane: 30 mar 2018, o 11:36 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Ostatnio podjąłem się wykonania prostego sterownika do wentylatorka. Użyłem w tym celu programu do obsługi czujnika DS18B20 i
oparłem się na programie z BB. Napisałem małe menu i dzięki pomocy kolegów z forum wszystko ładnie
pracuje (menu). Mogę wybierać temperatury przyciskiem i diodka ładnie się zaświeca i gasi. Jedyne, czego nie wiem, jak dalej zacząć,
to zapamiętywanie ustawień po wyłączeniu. Zawsze wraca do domyślnych z programu.
Nauczyłem się zapisywać np. dane z wyświetlacza i potem po włączeniu odczytywać z eeprom. W tym przypadku nie interesują mnie
jakieś tam adresy w pamięci itp...Wystarczy, żeby tylko pamięci wystarczyło :lol: , ale jak się to ma z zapisaniem wartości jakichś
zmiennych typu np. uint8_t temperatura; i potem po włączeniu uruchomienie z zapisanymi wcześniej zmianami, to nie wiem. Nigdy do
tej pory nie było mi to potrzebne i nie rozumiem zagadnienia.
Proszę o jakieś wsparcie w tym temacie i jak to ugryźć. Z góry dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2018, o 11:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Hmm,
No to potrafisz już to co do takiej operacji jest potrzebne.
Zapisujesz w eepromie po dokonaniu zmian,
a odczytujesz przed pętlą while. :)
chyba że nie zrozumiałem o co chodzi. :/

Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2018, o 15:03 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Dziękuję Wam za pomoc.

Poradniki oglądałem nie raz, tylko było to dawno, a że nie pisałem ostatnio nic związanego z w/w zapisem, to nie pamiętam. Obejrzę na "świeżo".
Dzięki za podpowiedź.
Daro69.
Swego czasu ćwiczyłem sobie zapis tablic z tekstem pomiędzy flash, eeprom i ram. Wszystko grało. W Mirkowych funkcjach do zapisu podawałem, jako
argument (jeśli dobrze dobrałem słownictwo) nazwę tablicy, tablic i się kopiowało pomiędzy. To tzn. w tym przypadku, jako argument funkcji muszę podać
nazwę interesującej mnie zmiennej, jak to było z tablicami ? i jeśli mam np., przesadzam, dziesięć zmiennych, to muszę mieć dziesięć funkcji, po jednej dla
każdej, czy coś w tym rodzaju ?. Nie nie potrzebuję martwić się o adresy i kopiować wszystko w locie ?

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



Jak bym mógł np. zastosować w tym przypadku przy jakichś zmiennych typu temperatura_1, temp_2......, itd ?

Oczywiście użycie przycisku do tej akcji, użycie w main i w pętli jest mi znane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2018, o 16:53 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Dzięki zubik.
Nie nie. W poście pokazałem przykładowe funkcje, dzięki którym kopiowałem sobie np. tablice tekstowe. Zmieniałem jakiś tekst na lcd i potem zapisywałem do eeprom. Potem przy starcie programu wczytywałem do ram z eeprom i było, co miało być. Nie ma żadnych struktur na tą chwilę.

Teraz chcę zapamiętać ustawienia temperatury, przy której ma się włączyć wentylator. Gdyby była tylko jedna wartość (domyślna w programie), to nie musiałbym
zapamiętywać, ponieważ przy starcie domyślna się uruchomi, ale ja zrobiłem w podmenu możliwość wyboru 5 różnych wartości (coś na zasadzie termostatu) i
mogę sobie wybierać klawiszem pozycję. Po wyjściu z podmenu i menu do ekranu głównego program reaguje na nową nastawę, ale po restarcie uruchamia się
domyślna. Pewnie to jest proste, ale mi ciężko zaskoczyć. Mam przykładowo zmienną uint8_t temperatura;. Przypisuję jej różne wartości, jak nazwałem w
podmenu <temperatury>. Taras, jeśli wybiorę np. 30 C i jednocześnie przypiszę wartość 30, to chciałbym za pomocą np. przycisku zapisz zmiany zapisać.
Potem przy starcie ma tak być, jak ustawiłem. Sorki, że tyle piszę, ale już tak mam... :lol: .
Oczywiście, jak załapię z tą temperaturą, to z innymi zmiennymi sobie pewnie poradzę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2018, o 20:02 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Bardzo dziękuję zubik za tak obszery tekst.

O to mi chodziło, o ideę, a żebym załapał, o co kaman. Nie proszę o 100% kod, bo samemu trzeba podziałać. Widzę, że jest tu sporo podobnej koncepcji, jak pisał kolega Daro69, gdzie zapisywałem teksty. Tam też trzeba było bliźniacze tablice robić dla każdego rodzaju pamięci. No i te we flash były niezmienne, tylko do
odczytu. Dopiero we wtorek może popiszę i przetestuję, ale myślę, że podołam. Po niedzieli również będą punkty, a na razie wielkie dzięki i Wesołych Świąt
wszystkim forumowiczom. Pozdrawiam....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2018, o 13:46 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Witam po małej przerwie.
Próbowałem ogarnąć zapis do pamięci eeprom pojedyńczych zmiennych, ale coś mi nie wychodzi. W związku z tym napisałem kawałek kody, a żeby sprawdzić sam zapis bez reszty programu. Dla uproszczenia zrezygnowałem z tablic. Proszę o analizę, co tu mogłem zrobić
źle. Trochę zmieniłem składnie kolegi zubika. Dla jasności ustawiłem fusebit EESAVE, a żeby nie kasowało eeprom przy kolejnym ładowaniu wsadu. Przy pierwszym wgrywaniu wsadu mam "wyłączoną funkcję wczytywania z eeprom" //copy_eem_to_ram(); przed
wchile(1). Po uruchomieniu programu otrzymuję na ekranie liczbę 15, która jest rezultatem działania liczba=a*b, czyli jest ok.
Następnie uruchamiam przycisk, który ma spowodować zapis do pamięci eeprom. Następnie włączam kopiowanie z ram do
eeprom przed while(1) copy_eem_to_ram();, kompiluję i wgrywam do atmegi8. Eeprom nie powinien być kasowany, a więc przy
ponownym uruchomieniu zestawu powinienem mieć załadowaną liczbę 15 z eepromu, a otrzymuje na ekranie 0.
W ustawieniach eclipse mam włączony eeprom do kompilacji.
Proszę podpowiedzieć, gdzie się pogubiłem, bo już ciężko myśleć. Może trochę dziwnie kombinuję, ale tak mam :roll:

Oto kod:


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2018, o 15:14 
Offline
Moderator
Avatar użytkownika

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

ja bardzo przepraszam ale kod jest kompletnie bez sensu .... nie dość, że upierasz się żeby zapisywać pojedyncze zmienne do EEPROM - kompletne nieporozumienie - no ale kto ci zabroni ? ;) można robić różne dziwne rzeczy - nawet bezsensowen - a cio tam ;)

to jeszcze do zapisu zmiennej uint8_t wytaczasz działa w postaci najpierw

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


później opakowane w

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


gdzie na dodatek akurat copy z update ma tyle wspólnego co pięść z okiem .... no ale ....

nie ma to jak masochizowanie się - zamiast obejrzenia poradnika wideo, który poleciłem i który pokazuje jak warto podejść do eeprom - gdzie każdy kto go obejrzał - zawsze stwierdził że to najprostsza, najpewniejsza i jedna z najlepszych metod

a ty kręć dalej z zapisem pojedynczej zmiennej .... sorry ale kompletny nonsens robisz i idziesz w coraz ciemniejszą ślepą uliczkę. Im więcej na nią stracisz czasu tym później bardziej będziesz pluł sobie w brodę, że od razu nie zabrałeś się za to jak się należy - bo i tak koniec końców zawrócisz z tej uliczki ... no chyba, że działasz od przypadku do przypadku i za każdym projektem lubisz mieć z tym problemy "od nowa"

zubik napisał(a):
musisz też zrobić bliźniaczą tablicę w pamięci eeprom:

zubik sam pisałeś w jakimś wątku, że żałujesz już że wciąż omijasz struktury i unie ... tobie też polecam jeszcze raz obejrzeć ten poradnik i ew jeszcze raz - a gdy czegoś z niego nie zrozumiesz to co za problem tu zapytać - żeby w końcu zaskoczyć ... bo warto ... A zamiast tego męczysz te tablice w EEPROM ;) no to już i tak może nieco lepiej niż walka z pojedynczymi zmiennymi ale .... i tak męczarnia i problemy. Mówię ci - polecam też ten poradnik.

_________________
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: 3 kwi 2018, o 15:57 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Dziękuję Mirku.
No to zjechałeś mnie równo, że nie powiem, no ale pewnie masz rację, jak zwykle z resztą. W takim razie zabieram się za poradnik, bo szkoda więcej czasu marnować. A tak na marginesie, to jedną zmienną utworzyłem tylko do próby zapisania i odczytania. Jest ich więcej (no ale tu struktury trzeba będzie,jak
mówisz). Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2018, o 17:10 
Offline
Moderator
Avatar użytkownika

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

Robert_1967 napisał(a):
No to zjechałeś mnie równo,

Nie zjechałem - ale jak widzę na naszym forum, że ktoś brnie w takie dziwne rzeczy to wybacz mi, że reaguję - bo nie chcę aby później inni, którzy się uczą znajdowali coś takiego i próbowali się na czymś takim opierać - a później pisać na innych forach - że u nas są takie kiepskie porady ok ? Bo kto tam będzie pamiętał kto pytał a kto odpowiadał - zapamięta tylko że były jakieś przedziwne rozwiązania ...

Poza tym chciałem tą oceną zmotywować - bo jak patrzę na datę pierwszego postu i twoje męczarnie to przez ten czas miałbyś już 5 razy ten poradnik przerobiony

A nadmienię jeszcze raz - jeśli czegokolwiek nie zrozumiesz z poradnika to ŚMIAŁO TU PYTAJ - na pewno nie tylko ja chętnie pomogę - bo jak się człowiek czasem zatnie to później nie idzie jakoś - a gdy zaskoczysz to sam zobaczysz - że niepotrzebnie traciłeś czas z tymi pojedynczymi zmiennymi.

_________________
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: 3 kwi 2018, o 20:28 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

A więc po słusznych uwagach i obejrzeniu poradnika na ten moment dotarłem do tego miejsca. Jeszcze nie wiem dokładnie, jak dalej wykorzystać, ale myślę nad
tym. Czy słusznie prawię ???


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2018, o 20:35 
Offline
Moderator
Avatar użytkownika

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

no dokładnie o to chodzi ;) teraz możesz sobie dowolnie rozbudowywać strukturę o nowe zmienne jeśli zajdzie potrzeba a w kodzie nie będziesz musiał robić żadnych zmian pod kątem dodawania zapisów czy odczytów - tych kolejnych zmiennych ;) Sam chyba widzisz, że teraz się sporo uporządkowało. Przygotowałeś ładny szkielet tego mechanizmu.

Dodatkowo masz możliwość odzyskania DOMYŚLNYCH ustawień z FLASH'a ;)

_________________
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: 3 kwi 2018, o 21:25 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Dziękuję Mirku.
Docelowo będzie podział na pliki. Jutro na innym kompie spróbuję ruszyć dalej. Tu tylko przygotowałem grunt. Raczkuję, ale lubię mieć porządek w kodzie, tzn.
wcięcia, komentarze itd...To mi utkwiło z książek i poradników. W sumie, to chodzi mi tylko o zapis ram eeprom, ale zrobiłem od razu taki, jak zauważyłeś szablon.
Będzie na przyszłość. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2018, o 21:29 
Offline
Moderator
Avatar użytkownika

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

No ale właśnie o to chodzi - do testów nie trzeba zaraz milion plików robić - na początek prosto byle zrozumieć - a później już z górki poleci.

Robert_1967 napisał(a):
sumie, to chodzi mi tylko o zapis ram eeprom,

hmmm widzisz, gdyby nie to, że wiem czego ty pewnie jeszcze nie wiesz - skoro pierwszy raz zajmujesz się EEPROMem .. to wiedz, że czy chcesz czy nie - będziesz szybko potrzebował też tych wartości domyślnych ustawionych we Flash ... a przynajmniej sam się przekonasz jakie będzie to przydatne gdy zaczniesz już chociażby pierwsze testy ;) .... ale spokojnie działaj dalej ... na niczym się TAK nie nauczymy jak na własnych ćwiczeniach i doświadczeniach ... bo tego już ci nikt nie odbierze a w głowie zostanie na zawsze ;)

_________________
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: 4 kwi 2018, o 08:47 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

No więc Mirku wszystko stało się prostsze po zastosowaniu do poradnika. Przynajmniej na tym etapie. Od razu skorzystałem z opcji ustawień domyślnych.Do poprzedniego kodu ze strukturami dodałem 3 przyciski i dzięki nim widzę, co się dzieje i czy kopiowanie faktycznie się odbywa. Wszystko śmiga. teraz pozostaje mi zaadoptować do mojego małego projektu z wentylatorem. Dzięki za motywację i zawrócenie mnie ze złej drogi. Pozdrawiam. Kawałek kodu z pętli.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2018, o 11:20 
Offline
Moderator
Avatar użytkownika

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

No i super! ;) ... a jak jeszcze by się pojawiły jakieś pytania to wal śmiało jak w dym ;)

_________________
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: 5 kwi 2018, o 12:24 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Mam prośbę o ewentualną pomoc, podpowiedź w temacie.
W zasadzie prawie ogarnąłem zapisywanie ustawień, ale trochę się jeszcze gubię. Poniżej zamieszczam kawałek kodu, gdzie ustawiam
sobie temp. załączania wentylatora. Temp. do testu na palec, z tond takie dziwaczne.

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


Kiedy przycisnę "save", to się zapisuje, ale efekt jest dopiero po restarcie urządzenia. Rozumiem, dlaczego. Funkcja copy_eem_to_ram(); w main ( nie w submenu ), "wgrywa" nastawę dopiero przy starcie. Jak zakombinować, a żeby zmiany
były od razu, czy powiedzmy zaraz po opuszczeniu menu. Próbowałem na logikę zaraz po copy_ram_to_eem(); dać
copy_eem_to_ram(), ( mowa o submenu oczywiście ), ale to nie działa. Niżej main:


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



Dałem nawet do testu dodatkową funkcję "save" z przycisku w pętli głównej, ale też nie idzie. Dopiero po restarcie są zmiany.
Trochę się pogubiłem. Co robię źle. Proszę zerknąć.

Chciałem zaznaczyć, że korzystam z przerwań i czy jeszcze nie powinienem za każdym razem przy użyciu funkcji kopiujących
dawać cli(); , a po zapisie znów sei();



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2018, o 12:37 
Offline
Moderator
Avatar użytkownika

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

Przede wszystkim KOLEJNA WAŻNA podpowiedź - PANIE kochany - panie kochany, jak testujesz kod bo ci coś nie działa - to zrób że wersję testową a nie rypiesz się, że tak powiem na KOMBAJNIE - zamiast na rowerze - gdzie łatwiej zawsze sprawdzić problem. Po co ci w tym kodzie MILION case'ów i nie wiadomo czego - a to tym bardziej zaciemnia obraz pytania - nie mówiąc już o tym, że tobie to samemu przede wszystkim przeszkadza w znalezieniu błędu. Ileż razy ja mówię - DZIELIĆ PROBLEM NA DWA ... Wystarczyłoby żebyś sobie stworzył nowy projekt i do niego SKOPIOWAŁ tylko tę JEDNĄ pozycję z którą masz problem. Inaczej mówiąc - wczoraj zrobiłeś taki ładny SZKIELET - to właśnie na nim sobie przetestuj zapis zmiennej włącznie z jej wyświetlaniem np na LCD z RAM. JAKIEJŚ jednej testowej zmiennej i jak zobaczysz że działa - to później w swoim kodzie będziesz wiedział, że BABOL nie jest w ogóle związany jakby z mechanizmem zapisu do eeproma.

Robert_1967 napisał(a):
ak zakombinować, a żeby zmiany
były od razu, czy powiedzmy zaraz po opuszczeniu menu. Próbowałem na logikę zaraz po copy_ram_to_eem(); dać
copy_eem_to_ram(),


Po jaki gwint po zapisie do eeprom - znowu kopiować z eeprom do RAM skoro MUSIAŁEŚ przecież tę wartość zapisać do RAM wcześniej aby zapisać do EEMEM - więc kółko maślane jakby chcesz robić ...

Krótko mówiąc na moje oko - bo nie jestem w stanie analizować takich przepastnych kodów - masz babola gdzieś w kodzie ale nie jest on związany z kopiowaniem do eeproma

_________________
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: 5 kwi 2018, o 13:13 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

Dzień dobry Panie Mirku.
No tak, znowu podpadłem :oops: . A to wszystko przez to, że ja sobie wcześniej stworzyłem projekt, który uruchamiam etapami.
Najpierw zrobiłem pomiary, potem temperaturę, potem wyświetlanie, a na końcu menu, które na tą chwilę jest na case i break, ponieważ
tylko ten sposób na tą chwilę w 99% rozumiem i mi działa. W końcu przyszła pora na zrobienie nastaw i zapamiętywanie w epromie.
Kiedy szablon ruszył, to zacząłem kombinować w docelowym programie, a tu zonk. Ruszyło w 50%.
No to spróbuje na szablonie. Ale przynajmniej domyślam się, że tak, jak Mirku napisałeś, to problem leży gdzie indziej, a ja muszę
się zastanowić, gdzie i co źle przemyślałem. Poza tym reszta funkcjonuje bardzo ładnie (przynajmniej tak myślę), choć całość, jak na
moje skromne możliwości jest spora :) . Pozdrawiam i dzięki za odpisanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2018, o 14:08 
Offline
Moderator
Avatar użytkownika

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

Robert_1967 napisał(a):
No tak, znowu podpadłem

nieee no panie kolego skąd takie wnioski - staram się doradzać jak mogę - a to, że staram się odpisywać czasem na wiele wątków na forum, na maila, na PW na Skype itp powoduje, że piszę często skrótowo i w pośpiechu co nigdy nie oznacza, żebym się denerwował czy kogoś opierniczał czy coś tam

Robert_1967 napisał(a):
No to spróbuje na szablonie.

Tak to bardzo dobry pomysł właśnie - spróbuj z tą jedną nastawą - sprawdź jak się będzie zachowywać - a jeśli pokażesz wtedy tutaj taki kod szablonowy, że tak powiem to i łatwiej będzie dopatrzeć gdzie robisz babola o ile sam go wcześniej nie znajdziesz ...

Dla mnie programowanie to panie kochany w 50% takie działania na własnych projektach, co chwilę gdy coś nie działa trzeba umieć się cofnąć o krok, podzielić projekt, stworzyć obok kod testowy, albo i nowy projekt jako narzędzie do testowania itp itd ....

_________________
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: 6 kwi 2018, o 09:06 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 368
Pomógł: 0

No więc Mirku dziękuje za wskazówki, cenne, jak zwykle.
Zrobiłem nowy projekt na spokojnie tylko z pomiarem temp., 3 przyciski i struktury, jak w postach wyżej. Dodatkowo napisałem
krótkie funkcje wyświetlające aktualną wartość zmiennych temp_value i nastawy.temp_1;. Dzięki temu widziałem na żywym
organizmie w czasie rzeczywistym, co się dzieje w momencie przyciśnięcia guzika save itd..., czy te zmienne aktualizują się w poszczególnych pamięciach i kiedy (taki pseudo debuger :lol: ).
Dzięki temu doszedłem, że muszę wstawić :

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


do pętli wchile(1), a nie do main, przed wchie(1). Tak przynajmniej sadzę, że prawidłowo. W każdym bądź razie wszystko teraz
działa zgodnie z założeniami :) . A już dodatkowe użycie przeze mnie zapisu do ram, to totalna porażka, jak pisałeś. Na usprawiedliwienie mogę tylko napisać, że nie potrafię nieraz zrobić sobie przerwy i iść na przysłowiowe piwko, tylko klepię coraz to
nowe głupoty w kodzie, kiedy główka już dawno nie pracuje. Efektem tego są potem takie herezje, jak wyżej :lol: .

Do wszystkich, którzy zaczynają przygodę z C i nie tylko. To co Mirek napisał:

1.Zatrzymać się, a najlepiej cofnąć wstecz.
2.Zrobić maleńki projekt dotyczący głównie problemu i go rozwiązać.
3.Wrócić do głównego projektu.
4.Zanim wstawisz jakiś kod na forum z zapytaniem, to zastanów się dobrze, a żeby potem kichy nie było..... :lol: .

I na tym kończę, a żeby nie zasmiecać nadmiernie forum.

Pozdrowionka.



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: 20 ] 

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