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



Teraz jest 31 sty 2025, o 21:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 14 gru 2019, o 17:48 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Witam
Mam następujące pytanie związane z strukturą i zapisem do eeprom
mianowicie
Stworzyłem strukturę w swoim projekcie sterownika, który steruje 8-ma
wyjściami portu A
Ale ustawienia są w pamięci RAM

Dla jasności struktura ta wygląda tak ( sterownik działa super z tą strukturą )
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Ale ustawienia dla poszczególnych wyjść są w RAM

Teraz chciałem zrobić zapis ustawień w EEPROM i dodać opcję dla ustawień fabrycznych
więc dodałem kod według mnie prawidłowy dla tych opcji ( ale mogę się mylić )
w ten sposób ( posiłkowałem się informacjami zawartymi w poradniku AVR-EEPROM struktury )

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


Wszystkie funkcje poustawiałem prawidłowo ( tak myślę bo niema żadnych błędów )
tylko w tym kodzie wyskakuje komunikat że za dużo danych
kod błędów wygląda tak

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


Czy to oznacza że trzeba przebudować całą strukturą którą pokazuję jako pierwszą ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2019, o 19:38 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Chyba trochę nakrętoliłeś
Zobacz utworzyłeś jedną zmienną:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a później napełniasz ją całą masą danych.
Raczej należało by powołać tablicę struktur i wtedy ją napełnić.
Chyba już to kiedyś Ci podsyłałem
Tu zrobiłem tablicę wartości (Twoich nastaw) zresztą też dla zabawy pisałem sterownik z nastawami we flash i eeprom

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


Zmienna kontrolka służy do tego że program najpierw sprawdza czy w eepromie jest na początku 192
jak go nie ma to przepisuje z flash do eeprom.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2019, o 20:24 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

w górnej strukturze jest coś takiego

TWYJ_PORT wyj_1, wyj_2, wyj_3, wyj_4, wyj_5, wyj_6, wyj_7, wyj_8 ;

to tak jak by było 8 struktur jedna dla każdego wyjścia tylko jak je poskładać
aby działały razem z kodem nastawianym w eeprom ?

czy zamiast tworzyć jedną zmienną - extern const TWYJ_PORT wyj_al __attribute__((__progmem__));
powinienem się odwoływać w ten sposób - extern const TWYJ_PORT wyj_1 __attribute__((__progmem__));
dla każdej nastawy osobno - extern const TWYJ_PORT wyj_2 __attribute__((__progmem__));

Myślę o tych zmiennych wyj_1 , wyj_2 nie jak o pojedynczej zmiennej lecz jak o strukturze z wieloma zmiennymi

Chodzi mi o to aby zrobić w ten sposób jak miał zrobione Mirek w swoim poradniku gdzie
miał fajnie rozpisane gdzie i co ustawia w ustawieniach fabrycznych a nie stertę liczb
i teraz co było do czego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2019, o 18:12 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Jeśli zrobię to w ten sposób będzie dobrze ?
Tworzę dla każdej struktury osobną zmienną
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 ustawiam wartości domyślne ( fabryczne ) w ten sposób

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 zapisuje te zmienne do pamięci
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czy to wszystko mi zadziała z strukturą z pierwszego wpisu ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2019, o 17:05 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Czyżbym naprawdę pisał takie bzdury że nikomu nie chce się
nawet na ten temat rozmawiać ?
Wypowiedzcie swoją opinię czy dobrze kombinuję czy nie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2019, o 18:58 
Offline
Moderator
Avatar użytkownika

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

obejrzyj porządnie to:



i to:


_________________
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: 16 gru 2019, o 20:04 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Właśnie cały czas słucham co Pan mówi w tym poradniku
i próbuję zakumać jak zapisać dane dla 8 struktur
to jest

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


dla -> wyj_1 - ustawienia w tej strukturze dla wyjścia nr 1
Nie wiem cze dobrze myślę i Pan się zemną zgodzi że wyj_1, wyj_2 itd. są strukturami
więc mam 8 struktur do których będę chciał wpisać ustawienia fabryczne
więc tak myślę że będę musiał to zrobić rozpisując w ten sposób jak pokazuję to w poście
Pan mówi w tym poradniku że trzeba by było zrobić wielką strukturę która by zawierała wszystkie
zmienne dla ustawień
Czyli tak myślę muszę rozpisać wszystkie zmienne z każdej struktury osobno i wypełnić je wartościami domyślnymi
i to wszystko zapisać w EEPROM

Wszystko fajnie i łatwo wygląda w Pana poradniku gdzie jest tylko jedna struktura ale jak
sobie poradzić z 8-mioma

Mam nadzieję że nie namotałem za bardzo i to moje pisanie jest zrozumiałe



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2019, o 20:12 
Offline
Moderator
Avatar użytkownika

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

A co za problem wszystkie 8 struktur albo i więcej umieścić w jednej nadrzędnej strukturze ? Toż w poradniku wyraźnie gdzieś tam mówię, żeby nie dzielić pamięci EEPROM na jakieś kawałki bo to bez sensu. Jedna duża główna struktura - po to one są w języku C.

_________________
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: 16 gru 2019, o 20:19 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Czyli musiałbym przebudować prawie cały kod
zgadza się ?

Muszę rozbić wszystkie struktury na poszczególne zmienne
i umieścić w jednej strukturze , zgadza się ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2019, o 20:37 
Offline
Moderator
Avatar użytkownika

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

miki53 napisał(a):
Muszę rozbić wszystkie struktury na poszczególne zmienne
i umieścić w jednej strukturze , zgadza się ?

Sorki ale kompletnie bez sensu ten wniosek. Czy w strukturach - jak widać WIELOKROTNIE w moich poradnikach, nie można umieszczać innych struktur?

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



i później:

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

_________________
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: 17 gru 2019, o 07:41 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Włączę się do tematu rozbudowanych struktur.
Żeby dopiąć temat
Jak taką strukturę ze strukturami napełnić danymi we flash
I drugie pytanie jak wygenerować tablicę struktur i też napełnić danymi we flash.

Parę postów wyżej radziłem jak w strukturze umieścić tablicę i wypełnić danymi.
ale nie daje sobie rady z wygenerowaniem tablicy i napełnieniem danymi.

P/S
Poradziłem sobie z "wrzuceniem" danych struktury struktur do pamięci flash:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pozostała jeszcze tablica struktur

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2019, o 08:21 
Offline
Moderator
Avatar użytkownika

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

mirekk36 napisał(a):
Jak taką strukturę ze strukturami napełnić danymi we flash

jak to jak ? bardzo prosto np tak:

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


masz w środku dwie struktury to je napełniasz ;)

a tablica takich struktur ? w czym problem ? ;)

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

_________________
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: 17 gru 2019, o 08:32 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Dzięki
Teraz muszę to przetrawić :)

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2019, o 13:25 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Przetrawiłem
Wyszło mi takie coś:
common.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2019, o 13:44 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Wybaczcie jeśli to pytanie wyda się głupie
ale nie wiem jak ustawić wskażniki do tych struktur

dla jasności

Ustawiam dane w strukturze dla wyjścia nr1
potrzebuję wskażnika który mi będzie wskazywał którą zmienną nastawiam ( nastawy odbywają się w
innym pliku za pomocą pilota )
Teraz chcę ustawić dla wyjścia nr2
Pytanie jak zrobić wskażniki dla poszczególnych struktur ?
A może jeden wspólny dla wszystkich struktur ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2019, o 13:51 
Offline
Moderator
Avatar użytkownika

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

miki53 napisał(a):
jak ustawić wskażniki do tych struktur


np tak:

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


a później w kodzie:

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

_________________
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: 17 gru 2019, o 15:30 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Dzięki Mirku
Ja napisałem prawie poemat aby wyjaśnić o co mi chodzi
A tu wystarczyły dwa słowa mistrza i wszystko jasne

Ale nie mówię że nie będę więcej się dopytywał w tym temacie
gdy czegoś nie będę wiedział

Na razie dzięki za pomoc



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO