<?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=58&amp;t=15256&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-04-30T15:26:34+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=15256&amp;mode</id>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-04-30T15:26:34+01:00</updated>
<published>2016-04-30T15:26:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159621#p159621</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159621#p159621"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159621#p159621"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Niestety to w żaden sposób nie pomogło, mimo braku wywołania funkcji VERIFICATION_PIN dalej wyświetla na ekranie LCD_WriteText(&quot;haslo poprawne&quot;);<br /></div>Cudów nie ma. Albo nie zapisałeś kodu przed kompilacją lub nie skompilował Ci się poprawnie i wgrałeś starego hex-a (albo tez się nie wgrał nowy a myślisz, że tak).<br /><br />Jest taka wartość dostarczana przez kompilator gcc możliwa do wykorzystaniu, by mieć pewność że korzystamy na pewno z najnowszego wsadu. Należy zdefiniować sobie stałą (lub zmienną) np:<br />[syntax=c]const uint8_t FirmwareTimeSignature&#91;&#93; PROGMEM = &quot;Compiled: &quot;__DATE__ &quot; &quot; __TIME__;[/syntax]<br />i ją wyświetlać na początku startu programu.<br /><br /><br />Co do działania programu, to wrzuć na początek wyświetlanie w funkcji SERVICE_SWITCH() wartości portu B i zobacz czy poprawnie Ci reaguje na naciskane przyciski.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 30 kwi 2016, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Karbos]]></name></author>
<updated>2016-04-30T10:11:18+01:00</updated>
<published>2016-04-30T10:11:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159612#p159612</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159612#p159612"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159612#p159612"><![CDATA[
<div class="quotetitle">Jaglarz napisał(a):</div><div class="quotecontent"><br />Rozumiem że ciężko się zaznajomić? <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic14999.html" >topic14999.html</a><!-- l --><br /></div><br /><br />Racja, nie było to trudne  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12083">Karbos</a> — 30 kwi 2016, o 10:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2016-04-30T10:00:14+01:00</updated>
<published>2016-04-30T10:00:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159611#p159611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159611#p159611"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159611#p159611"><![CDATA[
Rozumiem że ciężko się zaznajomić? <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic14999.html" >topic14999.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 30 kwi 2016, o 10:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Karbos]]></name></author>
<updated>2016-04-30T09:54:06+01:00</updated>
<published>2016-04-30T09:54:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159610#p159610</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159610#p159610"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159610#p159610"><![CDATA[
<div class="quotetitle">kicajek napisał(a):</div><div class="quotecontent"><br />Witam<br />Spróbuj z nawiasami:<br />[syntax=c]DDRB &amp;= ~(L_SWITCH|P_SWITCH|SEND_PIN);      //ustawianie jako wejścia[/syntax]<br />...albo wywal to całkowicie - chyba że chcesz wiedzieć co robisz; kompilator wie  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Pozdr.<br /></div><br /><br /><br />Niestety to w żaden sposób nie pomogło, mimo braku wywołania funkcji <strong>VERIFICATION_PIN</strong> dalej wyświetla na ekranie <strong>LCD_WriteText(&quot;haslo poprawne&quot;);</strong><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">Jaglarz napisał(a):</div><div class="quotecontent"><br />Kod źle wklejony.<br /></div><br /><br /><br />Głupio w ten sposób się usprawiedliwiać, ale wciąż pozostaję przeciętnym początkującym, mógłbyś mi wyjaśnić, dlaczego według ciebie źle wkleiłem kod źródłowy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12083">Karbos</a> — 30 kwi 2016, o 09:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2016-04-29T22:54:05+01:00</updated>
<published>2016-04-29T22:54:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159603#p159603</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159603#p159603"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159603#p159603"><![CDATA[
Kod źle wklejony.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 29 kwi 2016, o 22:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-04-29T22:50:03+01:00</updated>
<published>2016-04-29T22:50:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159601#p159601</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159601#p159601"/>
<title type="html"><![CDATA[Re: Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159601#p159601"><![CDATA[
Witam<br />Spróbuj z nawiasami:<br />[syntax=c]DDRB &amp;= ~(L_SWITCH|P_SWITCH|SEND_PIN);      //ustawianie jako wejścia[/syntax]<br />...albo wywal to całkowicie - chyba że chcesz wiedzieć co robisz; kompilator wie  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 29 kwi 2016, o 22:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Karbos]]></name></author>
<updated>2016-04-30T10:10:31+01:00</updated>
<published>2016-04-29T22:29:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159599#p159599</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159599#p159599"/>
<title type="html"><![CDATA[Tekst samorzutnie wyświetla się na ekranie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15256&amp;p=159599#p159599"><![CDATA[
Witam,<br />Z problemem borykam się drugi dzień i kompletnie nie pojmuję jakie są jego przyczyny. <br /><br />No więc na początku opiszę, co chcę aby program robił. Ma być to swego rodzaju czytnik haseł. Program początkowo wykonuje pomiar, który jest przekształcany na wartość z zakresu od 0 do 9, a później ma przypisać do numeru tablicy &quot;Table&quot; odpowiednią wartość w postaci znaku char, które są zawarte w tablicy &quot;Values&quot;. Następnie użytkownik, jeśli wpisze poprawne hasło, program ma wyświetlić napis &quot;hasło poprawne&quot;. Tutaj pojawia się problem ponieważ tekst ten wyświetla się zanim w ogóle zostanie wywołana funkcja, która ma w sobie instrukcję tegoż wyświetlenia tekstu. <br /><br />Procesor: ATmega88-20PU<br />Taktowanie: 8MHz<br /><br /><br />plik main.c<br />[syntax=c]//PLIKI NAGŁÓWKOWE<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &quot;HD44780.h&quot;<br />#include &quot;declarations.h&quot;<br />#include &quot;macro_definitions.h&quot;<br /><br />int main(void){//główna funkcja programu<br />//KONFIGURACJA PINÓW<br />DDRB &amp;= ~L_SWITCH|P_SWITCH|SEND_PIN;//ustawianie jako wejścia<br />DDRB |= BUZZER;//ustawianie jako wyjścia<br />PORTB |= L_SWITCH|P_SWITCH|BUZZER|SEND_PIN;<br />//KONIEC KONFIGURACJI PINÓW<br /><br />LCD_Initalize();//inicjalizacja wyświetlacza<br /><br />//KONFIGURACJA ADC<br />ADMUX |= (1&lt;&lt;REFS0)|(1&lt;&lt;MUX2)|(1&lt;&lt;MUX0);//napięcie odniesienia 5v, pomiar na pinie 5<br />ADCSRA |= (1&lt;&lt;ADEN)|(1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1);//włączenia ADC, preskaler 64<br />//KONIEC KONFIGURACJI ADC<br /><br />while(1){//główna pętla progamu<br />LCD_Clear();<br /><br />ASCRIPTION_VALUE();<br />SERVICE_SWITCH();<br />LCD_WriteText(Table);<br />LCD_WriteText(&quot;&quot;);<br />LCD_GoTo(PositionX,0);<br />_delay_ms(300);<br />}<br />}[/syntax]<br /><br /><br />plik definitions.c <br />[syntax=c]* definitions.c<br /><br />//PLIKI NAGŁÓWKOWE<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;declarations.h&quot;<br />#include &quot;HD44780.h&quot;<br />#include &quot;macro_definitions.h&quot;<br /><br />char Table&#91;4&#93; = {'0','0','0','0'};<br />char Values&#91;10&#93; = {'0','1','2','3','4','5','6','7','8','9'};<br />char PIN&#91;4&#93;  = {'1','2','3','4'};<br /><br />//funckja pomiarowa<br />uint16_t survery(void){<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}<br /><br />//funkcja przesunięcia kursowa w lewo<br />void  SERVICE_SWITCH(void){<br />if(!(PINB &amp; L_SWITCH)){<br />_delay_ms(80);<br />if(!(PINB &amp; L_SWITCH)) PositionX -= 1;<br />CONTROL;<br />}<br /><br />if(!(PINB &amp; P_SWITCH)){<br />_delay_ms(80);<br />if(!(PINB &amp; P_SWITCH)) PositionX += 1;<br />CONTROL;<br />}<br />CONTROL_X();<br /><br />if(!(PINB &amp; SEND_PIN)){<br />_delay_ms(80);<br />if(!(PINB &amp; SEND_PIN)){<br />VERIFICATION_PIN();<br />}<br />}<br />}<br /><br />//funkcja kontrolująca pozycję kursora<br />void CONTROL_X(void){<br />if(PositionX &lt; 0) PositionX = 0;<br />if(PositionX &gt; 3) PositionX = 3;<br />}<br /><br />//funkcja przypisująca wartości do tablicy wyświetlaniej na ekranie<br />void ASCRIPTION_VALUE(void){<br />static uint16_t Comparison = 0;<br />if(survery()/113 != Comparison){<br />Table&#91;PositionX&#93; = Values&#91;(survery()/113)&#93;;<br />Comparison = survery()/113;<br />}<br />}<br /><br />//funkca która porównuje wartosc wpisaną z hasłem zawartym w programie<br />void VERIFICATION_PIN(void){<br />LCD_Clear();<br />CONTROL;<br />LCD_WriteText(&quot;haslo poprawne&quot;);<br />_delay_ms(1000);<br />}[/syntax]<br /><br />plik macro_definitions.h<br />[syntax=c]#ifndef MACRO_DEFINITIONS_H_<br />#define MACRO_DEFINITIONS_H_<br /><br />//MAKRODEFINICJE<br />#define L_SWITCH (1&lt;&lt;PB6)<br />#define P_SWITCH (1&lt;&lt;PB7)<br />#define SEND_PIN (1&lt;&lt;PB1)<br />#define BUZZER (1&lt;&lt;PB2)<br /><br /><br />#define CONTROL PORTB ^= BUZZER;<br /><br />#endif /* MACRO_DEFINITIONS_H_ */[/syntax]<br /><br />Dodam jeszcze, że zanim w pętli while w pliku main.c napisałem &quot;LCD_WriteText(&quot;&quot;);&quot; na wyświetlaczu pojawiał się &quot;krzaczek&quot;, który znikał on po skomentowaniu funkcji &quot;ASCRIPTION_VALUE();&quot; i &quot;SERVICE_SWITCH();&quot;, podejrzewam, że właśnie tam należy szukać problemu .<br /><br /><br />Obecnie efekt programu wygląda tak: <br /><a href="https://obrazkiforum.atnel.pl/12083/84532c1643d0670984414c6539a31db7.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12083/84532c1643d0670984414c6539a31db7.jpg" alt="Obrazek" /></a><br /><br /><br />Z góry dziękuję za każdą odpowiedź i przepraszam jeśli coś będzie nie zrozumiałe.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12083">Karbos</a> — 29 kwi 2016, o 22:29</p><hr />
]]></content>
</entry>
</feed>