<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=22741&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-12-20T19:52:45+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22741&amp;mode</id>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T19:52:45+01:00</updated>
<published>2019-12-20T19:52:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223654#p223654</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223654#p223654"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223654#p223654"><![CDATA[
No to dobrze myślałem, a już się bałem że przekombinowałeś <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Znając założenia można trochę podłubać.<br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T18:46:27+01:00</updated>
<published>2019-12-20T18:46:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223652#p223652</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223652#p223652"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223652#p223652"><![CDATA[
Myślę o portach do których można podłączyć co się chce <br />czy pompkę do podlewania trawników lub brzęczyk i masz alarm <br />oczywiście że nie bezpośrednio tylko przez tranzystor jako wzmacniacz  <br />Pojęcie alarmów pozostało kiedy pytałem się na forum jak <br />na zegarze zrobić budzik i tak to ewoluowało do postaci sterownika<br /><br />czy tu czy tam i tak chodzi o sterowanie portami <br /><br />Z tym wpływem na inne porty chodzi mi o to że ustawiając parametry dla wyjścia 1 mogę ustawić<br />parametr nie dla wyjścia 1 ale np. dla wyj_4 lub wyj_8 mimo że jestem w menu na pozycji<br />ustawiania portu 1 w ten sposób mogę robić różne kombinacje i sterownik jest bardziej uniwersalny <br /><br />jest również przewidziana możliwość sterowania pilotem poszczególnych portów z osobna włącz wyłącz<br />lub włączasz pilotem jakiś port ( bo chcesz szybciej włączyć podlewanie trawinka a zegar o zadanej<br />porze wyłączy podlewanie, takie tam kombinacje )  <br /><br />chyba nie namotałem i jest zrozumiałe <br /><br />ps. faktycznie ta cytowana myśl wyszła trochę chaotycznie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T15:07:19+01:00</updated>
<published>2019-12-20T15:07:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223643#p223643</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223643#p223643"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223643#p223643"><![CDATA[
Wszyscy się uczymy na błędach, głowa do góry <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Maglujesz i możliwe że zupełnie niepotrzebnie, zamiast wstawić log z konsoli.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 18 minutach ]</span></strong><br /><br />Teraz przetłumacz to łopatologicznie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />Czyli ustawienia na wyjściu 1 mogą włączać i wyłączać ręcznie lub zegarem<br />wyjścia sąsiednie ( wy_1 , wy_2 lub wy_5 itd )<br /></div><br />Czy twoje &quot;wyjście 1&quot; to alarm czy port?, bo ciężko się polapać o co chodzi.<br />A może alarm na porcie_1 ma mieć też wpływ na inne porty?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 15:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T15:14:29+01:00</updated>
<published>2019-12-20T15:02:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223642#p223642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223642#p223642"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223642#p223642"><![CDATA[
Nie obraziłem się ale Mirek ma rację że magluję ten sam temat<br />już przez kilka postów i nic, widocznie muszą się sporo poduczyć<br />a nie zabierać czas i miejsce na forum  bez końca<br /><br />A gdyby ktoś chciał się pobawić i pokombinować nad moim sterownikiem<br />to założenia były takie 8 całkowicie niezależnych wyjść sterujących<br />ustawianych zegarem oraz z możliwością włączania i wyłączania ich ręcznie <br />każde wyjście może mieć wpływ na sąsiednie wyjścia <br />Czyli ustawienia na wyjściu 1 mogą włączać i wyłączać ręcznie lub zegarem<br />wyjścia sąsiednie ( wy_1 , wy_2 lub wy_5 itd ) niema wyłączania wszystkich naraz<br />choć i to można by zrobić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 15:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T14:50:17+01:00</updated>
<published>2019-12-20T14:50:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223641#p223641</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223641#p223641"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223641#p223641"><![CDATA[
Echh, następny się obraził  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /><br />Ja chyba też sobie zaraz pójdę pomigać diodką, bo zaraz zaczną gadać że nabijam posty <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 14:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T14:48:20+01:00</updated>
<published>2019-12-20T14:48:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223640#p223640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223640#p223640"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223640#p223640"><![CDATA[
Przepraszam Kolegów za swoje marudzenie<br />Dziękuję za poświęcony mi czas i cierpliwość<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 14:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T14:41:49+01:00</updated>
<published>2019-12-20T14:41:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223638#p223638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223638#p223638"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223638#p223638"><![CDATA[
Ok, to rozumiem i to jest jasne od samego początku. Nikt nie mówi że to jest złe, jedynie do czego mamy zastrzeżenia to właśnie do tworzenia tysiąca typów, zamiast zmiennych jak teraz piszesz. Pomysł z tablicą jest po to, żebyś mógł sobie np wyłączyć hurtem wszystkie alarmy na danym wyjściu a nie wpisywał po kolei dla każdej zmiennej, bo właśnie jak byś miał po kilka alarmów na każde wyjście to wtedy zaczynają się schody z obróbką.<br />Osobiście bym zrobił tablicę dwu wymiarową(TWYJ[nr_wyjscia][nr_alarmu], ale nie wiem jak ze strukturą w takim przypadku, tu musiałbyś doczytać/pokombinować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 14:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-12-20T14:31:41+01:00</updated>
<published>2019-12-20T14:31:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223637#p223637</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223637#p223637"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223637#p223637"><![CDATA[
<div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />Jak mam jedną strukturę to kompilator mi mówi że zbyt wiele danych dla tej jednej struktury<br /></div><br />a wiesz co to jest &quot;screenshot&quot; ? Zrzut ekranu? albo wkleić zawartość konsoli po kompilacji - nie wspomnę już o wklejeniu własnego kodu w którym to robisz ... no pomyśl sobie ile czasu można prosić o tak podstawowe rzeczy ?<br /><br />czy liczysz na to, że wszyscy się domyślą jak ty napisałeś ten kod i co widać w konsoli. Bo wybacz ale po twoich opisach błędów z konsoli można mieć poważne wątpliwości - że dobrze to interpretujesz.<br /><br />(przecież takie rebusy mogą ciągnąć się przez 600 postów w jednym wątku i nadal nikt nie wpadnie na to co ty w kodzie napisałeś i jaki się błąd pojawił konsoli.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 gru 2019, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T14:38:48+01:00</updated>
<published>2019-12-20T14:19:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223635#p223635</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223635#p223635"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223635#p223635"><![CDATA[
Cześć Harry<br /><br />Mam 8 wyjść które robią to samo ztym że są sterowane oddzielnie <br />dla każdego wyjścia mogę wpisać czas włączenia i wyłączenia<br />i przypisywać różne porty którymi ma sterować<br /><br />Np. dla wyjścia nr.1 mogę przypisać wyjście nr.1 lub nr.2, lub nr.3 itd<br />lub mogę ustawić aby wyjście  nr.1 się włączyło 8 razy <br />i takie tam kombinacje <br /><br />dlatego każde wyjście ma te same parametry i tylko inne nazwy wy_1 ,wy_2 itd<br /><br />Jak mam jedną strukturę to kompilator mi mówi że zbyt wiele danych dla tej jednej struktury<br />dlatego jak dam strukturę dla każdego ustawienia to jest ok<br />Ale wtedy  muszę powielać funkcje i rozbudowywać kod a tego nie chcę i kombinuję <br /><br />A i wiedza jeszcze zbyt wątła dlatego mam schody ale tak ciekawiej jest się uczyć<br />bo stawiam temat i próbuję go realizować a po drodze pokonywać przeszkody i dochodzić<br />co jak i dla czego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-12-20T14:07:09+01:00</updated>
<published>2019-12-20T14:07:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223634#p223634</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223634#p223634"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223634#p223634"><![CDATA[
<div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />Panie Mirku<br />Jeśli miałbym dwa lub trzy silniki które mają pracować w takich samych warunkach<br />i mają te same parametry<br />ale muszą byś sterowane oddzielnie to przecież zastosujemy dla nich te same<br />zmienne i tylko zmienimy nazwy silnik 1, silnik 2<br /></div><br />no i Harry ci to wyjaśnia i ja i inni ... powiedz mi dlaczego tak się bronisz przed wiedzą i praktyką programowania ?<br /><br />JEDEN Qurczę typ i zmienna tablicowa rozwiązuje ten twój problem. I TYLKO tak należy do tego podejść. Owszem można i po twojemu ale twój sposób to mniej więcej to samo jak gdybym miał zamigać 10x diodą LED. To twój sposób wyglądałby tak:<br /><br />[syntax=c]LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);<br />LED_ON;<br />_delay_ms(100);<br />LED_OFF;<br />_delay_ms(100);[/syntax]<br /><br /><br />a sposób który podpowiada ci Harry czy ja polegałby mniej więcej porównawczo z miganiem diodą na tym<br /><br />[syntax=c]for( uint8_t i=0; i&lt;10; i++ ) {<br />    LED_ON;<br />    _delay_ms(100);<br />   LED_OFF;<br />    _delay_ms(100);<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />i teraz gdybym chciał przerobić ten kod do migania diodą led żeby mignęła nie 10 a 127 razy ??? Spróbuj sobie wyobrazić co musiałbyś się napaplać z kodem z pierwszego przykładu - a w drugim kodzie ? zmieniłbyś TYLKO jeden wpis<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />for( uint8_t i=0; i&lt;<strong><span style="color: #FF0000">127</span></strong>; i++ ) {<br />        LED_ON;<br />        _delay_ms(100);<br />       LED_OFF;<br />        _delay_ms(100);<br />}<br /></div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />poza tym ja się za chwilę wyłączę z dyskusji bo ty mega uporczywie jakby nie czytasz porad - Harry już po raz kolejny cię pytał co ci kompilator pokazywał za błędy ? Toż to by warto było od razu w pytaniu napisać - a ty wciąż jedno i to samo - czyli swoje. Więc jak widzisz - możesz robić i po swojemu - nikt ci nie zabroni - ale wkrótce tzn za jakiś czas jak tak podziałasz to i tak zrozumiesz - wtedy o czym tobie mówiliśmy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 gru 2019, o 14:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T14:02:39+01:00</updated>
<published>2019-12-20T14:02:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223633#p223633</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223633#p223633"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223633#p223633"><![CDATA[
Masz rację, ale sam zauważ - zmienne w jednym typie, a nie dwa identyczne typy tylko o różnych nazwach jak próbowałeś zrobić.<br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 14:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T13:54:38+01:00</updated>
<published>2019-12-20T13:54:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223632#p223632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223632#p223632"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223632#p223632"><![CDATA[
jak można w ogóle powoływać dwa IDENTYCZNE typy i nadawać im tylko różne nazwy ? Pomieszanie z poplątaniem niestety.<br /><br />Panie Mirku <br />Jeśli miałbym dwa lub trzy silniki które mają pracować w takich samych warunkach<br />i mają te same parametry <br />ale muszą byś sterowane oddzielnie to przecież zastosujemy dla nich  te same <br />zmienne i tylko zmienimy nazwy silnik 1, silnik 2<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 13:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T13:31:14+01:00</updated>
<published>2019-12-20T13:31:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223631#p223631</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223631#p223631"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223631#p223631"><![CDATA[
Miki, ten przykład jest ok, tylko robisz sobie  krzywdę ilością zmiennych, lepiej byłoby zrobić z tego tablicę bo łatwiej jest operować na niej niż na 8 (na razie)niezależnych zmiennych. Pomyśl właśnie o rozbudowie w przyszłości.<br /> Zastanawiam się po co wogóle definiujesz stałe do zapisu flasha, zamiast odrazu tam wpisać co chcesz.<br /><br />Edit:<br />O co się rzucał kompilator?<br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-20T13:03:35+01:00</updated>
<published>2019-12-20T13:03:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223630#p223630</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223630#p223630"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223630#p223630"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />A co za problem wszystkie 8 struktur albo i więcej umieścić w jednej nadrzędnej strukturze ?<br /></div><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent">Muszę rozbić wszystkie struktury na poszczególne zmienne<br />i umieścić w jednej strukturze , zgadza się ?<br /></div><br />Sorki ale kompletnie bez sensu ten wniosek. Czy w strukturach - jak widać WIELOKROTNIE w moich poradnikach, nie można umieszczać innych struktur?<br /><br />[syntax=c]typedef struct {<br />  uint8_t zm_a1;<br />  uint8_t zm_a2;<br />} TSTRUCT1;<br /><br />typedef struct {<br />  uint8_t hh;<br />  uint8_t mm;<br />  uint8_t ss;<br />} TSTRUCT2;<br /><br />typedef struct {<br />  TSTRUCT1 ustawienia_silnika;<br />  TSTRUCT2 ustawienia_czasu;<br />} TBIG_EEPROM_STRUCT;[/syntax]<br /><br />[/syntax]</div><br /><br />Dlatego kombinuję i słucham podpowiedzi a jeśli chodzi o te same zmienne w strukturach to czy te struktury<br />nie posługuję się tymi samymi zmiennymi ?<br />[syntax=c]typedef struct WYJ_PORT {<br />            uint8_t on_hh;<br />            uint8_t on_mm;<br />            uint8_t on_ss;<br />            uint8_t ON_WYJ;<br />            uint8_t off_hh;<br />            uint8_t off_mm;<br />            uint8_t off_ss;<br />            uint8_t OFF_WYJ;<br /> <br /> <br />    } TWYJ_PORT;<br /> <br /> <br /> TWYJ_PORT wyj_1, wyj_2, wyj_3, wyj_4, wyj_5, wyj_6, wyj_7, wyj_8 ;[/syntax] <br />Przykład też zawarty z poradnika<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 20 gru 2019, o 13:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-12-20T07:52:26+01:00</updated>
<published>2019-12-20T07:52:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223627#p223627</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223627#p223627"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223627#p223627"><![CDATA[
<div class="quotetitle">Harry napisał(a):</div><div class="quotecontent"><br />Trzeba myśleć przyszłościowo, zawsze.<br /></div><br />Dokładnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i po to są właśnie struktury <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 gru 2019, o 07:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-20T00:02:43+01:00</updated>
<published>2019-12-20T00:02:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223626#p223626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223626#p223626"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223626#p223626"><![CDATA[
Tak mi przyszło coś na myśl <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Co zrobisz jak kiedyś dojdziesz do wniosku, że ustawienie jednego alarmu na wejście to za mało i będziesz chciał mieć ich np po 8, zdefiniujesz kolejne 56 struktur? Nie mówiąc już o dodaniu czegokolwiek do programu bez ślęczenia godzinę, żeby wszystko pozmieniać w 1000 miejsc. Trzeba myśleć przyszłościowo, zawsze.<br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 20 gru 2019, o 00:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-12-19T21:20:54+01:00</updated>
<published>2019-12-19T21:20:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223622#p223622</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223622#p223622"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223622#p223622"><![CDATA[
<div class="quotetitle">JarekB napisał(a):</div><div class="quotecontent"><br />Nadal nie mogę zrozumieć dlaczego generujesz tyle struktur.<br /></div><br /><br />[syntax=c]typedef struct  {<br /> <br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ_1;<br /> <br />   typedef struct  {<br /> <br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ_2;[/syntax]<br /><br />To jest niestety nawet kompletny nonsens i niezgodne z ze zdrowymi zasadami programowania w SZCZEGÓLNOŚCI do definiowania/powoływania nowych typów. Tu nawet nie chodzi o już o stworzenie tego tablicy - jak można w ogóle powoływać dwa IDENTYCZNE typy i nadawać im tylko różne nazwy ? Pomieszanie z poplątaniem niestety.<br /><br />można bowiem już na bazie pierwszego z tych typów albo powołać dwie niezależne zmienne o różnych nazwach albo powołać zmienną tablicową i ją indeksować.<br /><br />Dalej piszesz do kolegi który doradzał ci tablicę<br /><div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />To jest to samo co ja robiłem wcześniej tylko że Ty zamykasz to w tablicy<br /></div><br />No więc to co ty robisz jest dużo gorsze i nie pisz proszę że się czegoś nie da bo ci kompilator krzyczy - a jak krzyczy to ty zamiast dojść dlaczego i co źle robisz to rozbijasz wszystko na jakieś drastyczne setki tysiące pojedynczych zmiennych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 gru 2019, o 21:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekB]]></name></author>
<updated>2019-12-19T20:46:28+01:00</updated>
<published>2019-12-19T20:46:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223621#p223621</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223621#p223621"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223621#p223621"><![CDATA[
Zajrzyj dwa wątki niżej. Masz całą kopalnie wiedzy jak indeksować tablicę struktur. No bajka. Wszystkie Twoje dylematy rozwiązane w kilku linijkach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18188">JarekB</a> — 19 gru 2019, o 20:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-12-19T20:36:13+01:00</updated>
<published>2019-12-19T20:36:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223620#p223620</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223620#p223620"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223620#p223620"><![CDATA[
Miki, ano kombinujesz jak qń pod górę  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br />W jakim celu(albo raczej powodu)robisz ustawienia fabryczne w define? <br />Nie możesz wczytać tych ustawień z tablicy do twojej tablicy struktur?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 19 gru 2019, o 20:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-19T20:08:08+01:00</updated>
<published>2019-12-19T20:08:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223619#p223619</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223619#p223619"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223619#p223619"><![CDATA[
To jest to samo co ja robiłem wcześniej tylko że Ty zamykasz to w tablicy<br />[syntax=c]/* struktura dla wyjśc sterujących */<br />    typedef struct WYJ_PORT {<br />            uint8_t on_hh;<br />            uint8_t on_mm;<br />            uint8_t on_ss;<br />            uint8_t ON_WYJ;<br />            uint8_t off_hh;<br />            uint8_t off_mm;<br />            uint8_t off_ss;<br />            uint8_t OFF_WYJ;<br /> <br /> <br />    } TWYJ_PORT;<br /> <br /> <br /> TWYJ_PORT wyj_1, wyj_2, wyj_3, wyj_4, wyj_5, wyj_6, wyj_7, wyj_8 ;[/syntax]<br /><br />Ale wtedy nie mogę zrobić ustawień fabrycznych dla 8-śmiu takich struktur bo to jest 1 struktura -&gt; wyj_1 to 2 -&gt; wyj_2 itd.<br />Jak rozpiszę ustawienia fabryczne dla tych 8-śmiu struktur<br />to kompilator mi krzyczy że jest za dużo danych <br />Dlatego kombinuję jak koń pod górą , wziąłem przykład od Mirka z tymi zespolonymi  strukturami ale też są schody<br />bo gdy jedno pasuje w moim kodzie to drugie pada normalnie załamka, ale jeszcze walczę  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 19 gru 2019, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekB]]></name></author>
<updated>2019-12-19T19:02:53+01:00</updated>
<published>2019-12-19T19:02:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223615#p223615</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223615#p223615"/>
<title type="html"><![CDATA[Re: Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223615#p223615"><![CDATA[
Nadal nie mogę zrozumieć dlaczego generujesz tyle struktur. Ciężko to ogarnąć.<br />Nie lepiej jednak zrobić Tablice struktur?<br /><br />[syntax=c]typedef struct  {<br /> <br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ;<br /> <br />TYWJ wyjscia&#91;3&#93;;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18188">JarekB</a> — 19 gru 2019, o 19:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-12-19T18:53:14+01:00</updated>
<published>2019-12-19T18:53:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223614#p223614</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223614#p223614"/>
<title type="html"><![CDATA[Struktury ciąg dalszy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22741&amp;p=223614#p223614"><![CDATA[
Witam<br /><br />Mam kłopot z tymi zespolonymi strukturami i trudno mi je wpasować do mojego kodu<br />Potrzebuję paru informacji<br /><br />Mianowicie <br /><br />Stworzyłem struktury <br />[syntax=c]typedef struct  {<br /><br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ_1;<br /><br />   typedef struct  {<br /><br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ_2;<br /><br />   typedef struct  {<br /><br />            uint8_t on_h;<br />            uint8_t on_m;<br />            uint8_t on_s;<br />            uint8_t on_wy;<br />            uint8_t off_h;<br />            uint8_t off_m;<br />            uint8_t off_s;<br />            uint8_t off_wy;<br />   }TWYJ_3;<br /><br />  <br />   typedef struct {<br /><br />       TWYJ_1 USTAW_WYJ_1;<br />       TWYJ_2 USTAW_WYJ_2;<br />       TWYJ_3 USTAW_WYJ_3;<br />      <br /><br /><br />    } TWYJ_PORT;[/syntax]<br />  <br />Pytanie 1 - czy do każdej z tych struktur muszę mieć osobny wskażnik tj. TWYJ_1 * wsk_1, TWYJ_2 * wsk_2 itd.<br />Pytam się dlatego gdyż zrobię wskażnik dla TWYJ_PORT * al to w programie są niewidoczne zmienne zawarte w TWYJ_1 <br />,TWYJ_2 oraz TWYJ_3<br />W TWYJ_PORT * al  -  są tylko widoczne  nazwy struktur  TWYJ_1 USTAW_WYJ_1 itd.<br /><br />Jeśli każda struktura musi mieć własny wskażnik ( myślę że jednak będzie musiała bo jak inaczej wpisywać wartości )<br />to strasznie rozbuduje mi się kod np.<br /><br />Funkcji do ustawiania czasów alarmów musi ich być tyle ile mam struktur <br /><br />[syntax=c]void sterowanie_wyj( TDATETIME * dt, TWYJ_1 * al, uint8_t on_h, uint8_t on_m, uint8_t on_s, uint8_t on_wy, uint8_t off_h, uint8_t off_m, uint8_t off_s, uint8_t off_wy ){<br /><br /><br /> czas = ( dt-&gt;hh * 3600 ) + ( dt-&gt;mm * 60 ) + ( dt-&gt;ss );<br /> alarm = (al-&gt; on_h * 3600 ) + ( al-&gt; on_m * 60 ) + (al-&gt; on_s );<br /><br /><br />// ****  FUNKCJA WŁĄCZAJĄCA PORTY WYJŚCIOWE **************************************<br /><br />     if ( (czas == alarm) &amp;&amp; (al-&gt; on_wy == 1)) {<br />     PORTA &amp;= ~(1&lt;&lt;PA0);<br />        }<br />//     else<br />     if ( (czas == alarm ) &amp;&amp; (al-&gt; on_wy == 2)) {<br />     PORTA &amp;= ~(1&lt;&lt;PA1);<br />        }<br />//     else<br />     if ( (czas == alarm) &amp;&amp; (al-&gt; on_wy == 3)) {<br />     PORTA &amp;= ~(1&lt;&lt;PA2);<br />        }<br />//     else<br />     if ( (czas == alarm ) &amp;&amp; (al-&gt; on_wy == 4)) {<br />     PORTA &amp;= ~(1&lt;&lt;PA3);<br />        }<br />//     else<br />     if ( (czas == alarm) &amp;&amp; (al-&gt; on_wy == 5)) {<br />     PORTA &amp;= ~(1&lt;&lt;PA4);<br />        }[/syntax]  <br /><br />i teraz muszę napisać 8 takich funkcji dla każdego wskażnika struktury jedną ?<br /><br />Jeszcze jedno pytanie związane z ustawianiem wartości fabrycznych, wpisuję je w taki sposób <br />[syntax=c]// Ustawienia domyślne dla wyjśc sterujących (fabryczne)<br />#define  _1_ON_HH 12       // godzina włączenia wyjścia  nr 1<br />#define  _1_ON_MM 00       // minuty włączenia wyjścia   nr.1<br />#define  _1_ON_SS 00       // sekundy włączenia wyjścia  nr.1<br />#define  _1_ON_WY 1        // włączenie wyjścia          nr.1<br />#define  _1_OFF_HH 13      // godzina wyłączenia wyjścia nr.1<br />#define  _1_OFF_MM 15      // minuty wyłączenia wyjścia  nr.1<br />#define  _1_OFF_SS 00      // sekundy wyłączenia wyjścia nr.1<br />#define  _1_OFF_WY 1       // wyłączenie wyjścia         nr.1<br /><br />#define  _2_ON_HH 12       // godzina włączenia wyjścia  nr 2<br />#define  _2_ON_MM 00       // minuty włączenia wyjścia   nr.2<br />#define  _2_ON_SS 00       // sekundy włączenia wyjścia  nr.2<br />#define  _2_ON_WY 2        // włączenie wyjścia          nr.2<br />#define  _2_OFF_HH 13      // godzina wyłączenia wyjścia nr.2<br />#define  _2_OFF_MM 15      // minuty wyłączenia wyjścia  nr.2<br />#define  _2_OFF_SS 00      // sekundy wyłączenia wyjścia nr.2<br />#define  _2_OFF_WY 2       // wyłączenie wyjścia         nr.2<br /><br />#define  _3_ON_HH 12       // godzina włączenia wyjścia  nr 3<br />#define  _3_ON_MM 00       // minuty włączenia wyjścia   nr.3<br />#define  _3_ON_SS 00       // sekundy włączenia wyjścia  nr.3<br />#define  _3_ON_WY 3        // włączenie wyjścia          nr.3<br />#define  _3_OFF_HH 13      // godzina wyłączenia wyjścia nr.3<br />#define  _3_OFF_MM 15      // minuty wyłączenia wyjścia  nr.3<br />#define  _3_OFF_SS 00      // sekundy wyłączenia wyjścia nr.3<br />#define  _3_OFF_WY 3       // wyłączenie wyjścia         nr.3<br /><br /><br /><br /><br />// inicjalizacja ustawień fabrucznych dla wyjśc sterujących w pamięci Flash<br />const TWYJ_PORT wyj __attribute__((__progmem__)) = {<br /><br />  _1_ON_HH,<br />  _1_ON_MM,<br />  _1_ON_SS,<br />  _1_ON_WY,<br />  _1_OFF_HH,<br />  _1_OFF_MM,<br />  _1_OFF_SS,<br />  _1_OFF_WY,<br /><br />  _2_ON_HH,<br />  _2_ON_MM,<br />  _2_ON_SS,<br />  _2_ON_WY,<br />  _2_OFF_HH,<br />  _2_OFF_MM,<br />  _2_OFF_SS,<br />  _2_OFF_WY,<br /><br />  _3_ON_HH,<br />  _3_ON_MM,<br />  _3_ON_SS,<br />  _3_ON_WY,<br />  _3_OFF_HH,<br />  _3_OFF_MM,<br />  _3_OFF_SS,<br />  _3_OFF_WY,<br />};[/syntax]<br />i pokazują mi się błędy, <br />Czy powinienem je zapisywać też dla każdej struktury osobno ?<br />Czyli w ten sposób<br /><br />[syntax=c]const TWYJ_1 wyj __attribute__((__progmem__)) = {<br /><br />  _1_ON_HH,<br />  _1_ON_MM,<br />  _1_ON_SS,<br />  _1_ON_WY,<br />  _1_OFF_HH,<br />  _1_OFF_MM,<br />  _1_OFF_SS,<br />  _1_OFF_WY,<br />};<br />&#91;syntax=c&#93;const TWYJ_2 wyj __attribute__((__progmem__)) = {<br /><br />  _2_ON_HH,<br />  _2_ON_MM,<br />  _2_ON_SS,<br />  _2_ON_WY,<br />  _2_OFF_HH,<br />  _2_OFF_MM,<br />  _2_OFF_SS,<br />  _2_OFF_WY,<br /> };<br />&#91;syntax=c&#93;const TWYJ_3 wyj __attribute__((__progmem__)) = {<br /><br />  _3_ON_HH,<br />  _3_ON_MM,<br />  _3_ON_SS,<br />  _3_ON_WY,<br />  _3_OFF_HH,<br />  _3_OFF_MM,<br />  _3_OFF_SS,<br />  _3_OFF_WY,<br />};[/syntax] <br /><br />Proszę o cierpliwość i odpowiedzi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 19 gru 2019, o 18:53</p><hr />
]]></content>
</entry>
</feed>