ATNEL tech-forum
https://forum.atnel.pl/

Problem odczytu zmiennej z eproma
https://forum.atnel.pl/topic24309.html
Strona 1 z 1

Autor:  AKSELINEK [ 11 wrz 2022, o 19:06 ]
Tytuł:  Problem odczytu zmiennej z eproma

Witam.
Dla utrwalenia wiedzy z zakresu programowania języka C wykonałem ćwiczenie odczytu zmiennej z Eeproma i wyświetlenie na LCD.
Niestety robię jakiś błąd i nie wiem gdzie .
Opisze dokładniej:

Deklaruję zmienną globalną i nadaje jej wartość 40 :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Następnie próbuję odczytać przy pomocy funkcji i przekazać do zmiennej estart :

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


Niestety po próbie wyświetlenia na lcd :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wartość wyświetla -1 :(

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

Autor:  tonygryps [ 11 wrz 2022, o 19:43 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

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

Autor:  mario2015 [ 11 wrz 2022, o 20:15 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

A gdzie masz funkcję do zapisu zmiennej do eeprom?
Ja bym to zrobił tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i dopiero teraz wyślj zmienną "tmp1" na wyswietlacz.

Autor:  AKSELINEK [ 11 wrz 2022, o 21:20 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

No dobrze tak będzie ale jak zrobić żeby od razu w deklaracji zmienna uint8_t zmienna_w_eeprom EEMEM przyjęła wartość 40 ? A dopiero potem w pętli głównej ją odczytać?
to znaczy jak inaczej wykonać ten zapis skoro jest zły :(
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  mario2015 [ 12 wrz 2022, o 09:50 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

Nie tylko zapis deklaracji zmiennej jest zły ale ty nigdzie w programie nie zapisujesz jej do eeprom a próbujesz ją z niego odczytać.
A jeśli chcesz ją zadeklarować od razu z wartością i zapisać, to zrób tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I dopiero teraz na wyświetlacz.

Autor:  AKSELINEK [ 12 wrz 2022, o 18:45 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

Tak oczywiście masz racje dopiero teraz zrozumiałem że tak należy zrobić, mylnie rozumowałem że można prościej.
Dlaczego w ogóle o to pytam już wyjaśniam: W pewnym moim projekcie napotkałem na problem ze stosem dlatego kombinuje czy część zmiennych globalnych zapisałbym do EEproma i zwolniłbym RAM.
Ale nie wiem czy to się uda i czy to dobry kierunek moich rozważań?

Autor:  mario2015 [ 12 wrz 2022, o 20:12 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

Ja do eeproma zapisuję tylko takie dane, które chcę mieć przy starcie procka, czyli tzw."ustawienia fabryczne" a
co do zmiennych to tam gdzie nie jest to konieczne, to nie używam zmiennych globalnych, tylko zmienne lokalne.
Mam nadzieję, że pomogłem.

Autor:  micky [ 13 wrz 2022, o 07:46 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

Ja bym do Eeproma takich rzeczy nie chował. Eeprom potrafi płatać figle przy zakłóceniach. Trzeba się zabezpieczać sumami kontrolnymi, żeby miec pewność, że to co jest zapisane nie uległo przekłamaniu.
Lepiej w swoim kodzie pootymalizuj co się da lub zmień procek na większy zamiast pakować zmienne do eeproma. W Eepromie trzyma sie ustawienia a nie zmienne. Chyba, że byś chciał użyć szeregowego RAMu - są takie kruszynki lub nawet FRAM. Ale to już takie fanaberie :)

Autor:  AKSELINEK [ 13 wrz 2022, o 13:55 ]
Tytuł:  Re: Problem odczytu zmiennej z eproma

Dzięki za podpowiedz to teraz wątpliwości już mam rozwiane

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/