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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-12-04T06:42:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=19739&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2017-12-04T06:42:32+01:00</updated>
<published>2017-12-04T06:42:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199950#p199950</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199950#p199950"/>
<title type="html"><![CDATA[Re: Sygnalizacja świetlna ATmega644P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199950#p199950"><![CDATA[
Na początku wkleiłeś same źródła bez żadnego pytania czy opisu i tego dotyczyło moje pytanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 4 gru 2017, o 06:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sev3n]]></name></author>
<updated>2017-12-03T23:01:44+01:00</updated>
<published>2017-12-03T23:01:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199946#p199946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199946#p199946"/>
<title type="html"><![CDATA[Re: Sygnalizacja świetlna ATmega644P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199946#p199946"><![CDATA[
No i to że nie mogę usunąć postu, więc piszę że sobie poradziłem, żeby nie zabierać czasu ludziom którzy chcieliby pomóc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18456">Sev3n</a> — 3 gru 2017, o 23:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2017-12-03T21:45:03+01:00</updated>
<published>2017-12-03T21:45:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199943#p199943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199943#p199943"/>
<title type="html"><![CDATA[Re: Sygnalizacja świetlna ATmega644P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199943#p199943"><![CDATA[
No i?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 3 gru 2017, o 21:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sev3n]]></name></author>
<updated>2017-12-03T20:22:14+01:00</updated>
<published>2017-12-03T20:22:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199937#p199937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199937#p199937"/>
<title type="html"><![CDATA[Sygnalizacja świetlna ATmega644P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19739&amp;p=199937#p199937"><![CDATA[
Witam, mam problem, gdyż napisany program nie działa i nie mam pojęcia dlaczego. Nie wyświeta błędów warningów. Program startuje od zapalonych dwóch diód, po czym po upływie ok 10s dioda na PB0 gaśnie a dioda na PA1 ściemnia się (WTF) i tak już zostaje. Ktoś ma jakieś pomysły gdzie popełniłem błąd (lub prawdopodobniej błędy)? Jeszcze zapytam, czy jeśli mam włączone ADC to mogę normalnie korzystać z pinów od ADC (uruchamiać je jako wejścia/wyjścia 0/1)?<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 30 lis 2017<br /> *      Author: Sokół<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />volatile uint16_t tim0;<br />uint16_t pomiar (uint8_t kanal) ;<br />uint8_t tzm;<br />void stan ();<br /><br />int main(void) {<br /><br />DDRB |= (1&lt;&lt;PB2); //czerwone G<br />DDRB |= (1&lt;&lt;PB1); //zolte G<br />DDRB |= (1&lt;&lt;PB0); //zielone G<br />DDRA |= (1&lt;&lt;PA1); //czerwone D<br />DDRA |= (1&lt;&lt;PA2); //zolte D<br />DDRA |= (1&lt;&lt;PA3); //zielone D<br /><br />ADCSRA |= (1&lt;&lt;ADEN); // inicjacja ADC<br />ADCSRA |= (1&lt;&lt;ADPS2);<br />ADMUX |= (1&lt;&lt;REFS0); //napiecie odniesienie =Vcc<br />TCCR0A |= (1&lt;&lt;WGM01); //ctc<br />TIMSK0 |= (1&lt;&lt;OCIE0A);<br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00); //presc<br />OCR0A=156;  //8MHz/presc/czest przerw<br />sei();<br />PORTB |= (1&lt;&lt;PB0); //start z zielone G<br />PORTA |= (1&lt;&lt;PA1); //start z czerwone D<br /><br />while(1){<br /><br />if (tim0&gt;500)<br />{<br />if( PORTB &amp; ((1&lt;&lt;PB0) )) //jesli na porcie jest 1...<br />{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />DDRA |= (1&lt;&lt;PA2);<br />DDRB &amp;= ~ (1&lt;&lt;PB0);<br />}<br />DDRB |= (1&lt;&lt;PB2);<br />DDRA &amp;= ~ (1&lt;&lt;PA1);<br />DDRA |= (1&lt;&lt;PA3);<br /><br />}<br />else{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />DDRA |= (1&lt;&lt;PA2);<br />DDRA &amp;= ~ (1&lt;&lt;PA3);<br />}<br />DDRA |= (1&lt;&lt;PA1);<br />DDRB &amp;= ~ (1&lt;&lt;PB2);<br />DDRB |= (1&lt;&lt;PB0);<br />}<br />tim0=0;<br />}<br /><br /><br />}<br />}<br /><br />ISR(TIMER0_COMPA_vect) //obsluga przerwan od timera<br />{<br /><br />tim0++;<br /><br />}<br /><br /><br />uint16_t pomiar (uint8_t kanal) //ADC<br />{<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while( ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}<br /><br />void stan ()<br />{<br />if( PORTB &amp; ((1&lt;&lt;PB0) )) //jesli na porcie jest 1...<br />{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />DDRA |= (1&lt;&lt;PA2);<br />DDRB &amp;= ~ (1&lt;&lt;PB0);<br />}<br />DDRB |= (1&lt;&lt;PB2);<br />DDRA &amp;= ~ (1&lt;&lt;PA1);<br />DDRA |= (1&lt;&lt;PA3);<br /><br />}<br />else{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />DDRA |= (1&lt;&lt;PA2);<br />DDRA &amp;= ~ (1&lt;&lt;PA3);<br />}<br />DDRA |= (1&lt;&lt;PA1);<br />DDRB &amp;= ~ (1&lt;&lt;PB2);<br />DDRB |= (1&lt;&lt;PB0);<br />}<br />tim0=0;<br /><br />}[/syntax]<br /><br />Pozdrawiam i z góry dziękuję za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><br />EDIT:<br />Nie śmiejcie się, zauważyłem te DDRB/DDRA xD ale jeśli ktoś mógłby przejrzeć czy coś jeszcze jest rażącego xD<br /><br />Dobra przepraszam za zamieszanie, pomyślałem i zrobiłem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Chyba do zamknięcia<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 30 lis 2017<br /> *      Author: Sokół<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />volatile uint16_t tim0;<br />uint16_t pomiar (uint8_t kanal) ;<br />uint8_t tzm;<br />void stan ();<br /><br />int main(void) {<br /><br />DDRB |= (1&lt;&lt;PB2); //czerwone G<br />DDRB |= (1&lt;&lt;PB1); //zolte G<br />DDRB |= (1&lt;&lt;PB0); //zielone G<br />DDRA |= (1&lt;&lt;PA1); //czerwone D<br />DDRA |= (1&lt;&lt;PA2); //zolte D<br />DDRA |= (1&lt;&lt;PA3); //zielone D<br /><br />ADCSRA |= (1&lt;&lt;ADEN); // inicjacja ADC<br />ADCSRA |= (1&lt;&lt;ADPS2);<br />ADMUX |= (1&lt;&lt;REFS0); //napiecie odniesienie =Vcc<br />TCCR0A |= (1&lt;&lt;WGM01); //ctc<br />TIMSK0 |= (1&lt;&lt;OCIE0A);<br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00); //presc<br />OCR0A=156;  //8MHz/presc/czest przerw<br />sei();<br />PORTB |= (1&lt;&lt;PB0); //start z zielone G<br />PORTA |= (1&lt;&lt;PA1); //start z czerwone D<br /><br />while(1){<br /><br />if (tim0&gt;500)<br />{<br />stan();<br />}<br /><br /><br />}<br />}<br /><br />ISR(TIMER0_COMPA_vect) //obsluga przerwan od timera<br />{<br /><br />tim0++;<br /><br />}<br /><br /><br />uint16_t pomiar (uint8_t kanal) //ADC<br />{<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while( ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}<br /><br />void stan ()<br />{<br />if( PORTB &amp; ((1&lt;&lt;PB0) )) //jesli na porcie jest 1...<br />{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />PORTB |= (1&lt;&lt;PB1);<br />PORTA |= (1&lt;&lt;PA2);<br />PORTB &amp;= ~ (1&lt;&lt;PB0);<br />}<br />PORTB |= (1&lt;&lt;PB2);<br />PORTA &amp;= ~ (1&lt;&lt;PA1);<br />PORTB &amp;= ~ (1&lt;&lt;PB1);<br />PORTA &amp;= ~ (1&lt;&lt;PA2);<br />PORTA |= (1&lt;&lt;PA3);<br /><br />}<br />else{<br />tim0=0;<br />while (tim0&lt;250)<br />{<br />PORTB |= (1&lt;&lt;PB1);<br />PORTA |= (1&lt;&lt;PA2);<br />PORTA &amp;= ~ (1&lt;&lt;PA3);<br />}<br />PORTA |= (1&lt;&lt;PA1);<br />PORTB &amp;= ~ (1&lt;&lt;PB2);<br />PORTB |= (1&lt;&lt;PB0);<br />PORTB &amp;= ~ (1&lt;&lt;PB1);<br />PORTA &amp;= ~ (1&lt;&lt;PA2);<br />}<br />tim0=0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18456">Sev3n</a> — 3 gru 2017, o 20:22</p><hr />
]]></content>
</entry>
</feed>