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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-01T16:09:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14122&amp;mode</id>
<entry>
<author><name><![CDATA[yozue]]></name></author>
<updated>2016-02-01T16:09:35+01:00</updated>
<published>2016-02-01T16:09:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=152324#p152324</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=152324#p152324"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=152324#p152324"><![CDATA[
Zapomniałem dopisać.<br />Układ który robiłem to chińszczyzna ProMini układ po prostu padł<br />Zrobiłem na zwykłej kostce 328p i poszło bez żadnego ale.<br />Morał nie kupować taniej podróby tylko zrobić porządny układ.<br />Dzięki za zainteresowanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3470">yozue</a> — 1 lut 2016, o 16:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2016-01-08T15:49:42+01:00</updated>
<published>2016-01-08T15:49:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149971#p149971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149971#p149971"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149971#p149971"><![CDATA[
<div class="quotetitle">yozue napisał(a):</div><div class="quotecontent"><br />Po poprzednim poście kolegi zacząłem właśnie to robić od początku.<br />I tu chyba jest pies pogrzebany.<br />wstawiłem sobie w przerwanie jakieś licz++ i chciałem sprawdzić czy to działa, ale na wyświetlaczu mam tylko &quot;0&quot;<br />Czepiam się Timera2 a o przerwanie chyba chodzi.<br /><br />Cierpliwość mam na drugie imię od wtorku siedzę nad tym kawałkiem kodu szukam w necie pomocy (żeby w odpowiedzi na forum nie usłyszeć &quot;...google&quot; )<br />Dzięki za naprowadzanie<br />a czy w wyzwoleniu INT0 (kod) jest wszystko w porządku ?<br /></div><br /><br />Kolego więc najpierw sprawdz timer czy działa, czyli  włącz ten prescaler na poczatku kodu i sprawdz <br /><br />A przerwanie zewnętrzne masz ustawione dla int1 a pewnie chciałeś na int0<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 8 sty 2016, o 15:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yozue]]></name></author>
<updated>2016-01-08T15:43:49+01:00</updated>
<published>2016-01-08T15:43:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149970#p149970</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149970#p149970"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149970#p149970"><![CDATA[
Po poprzednim poście kolegi zacząłem właśnie to robić od początku.<br />I tu chyba jest pies pogrzebany.<br />wstawiłem sobie w przerwanie jakieś licz++ i chciałem sprawdzić czy to działa, ale na wyświetlaczu mam tylko &quot;0&quot;<br />Czepiam się Timera2 a o przerwanie chyba chodzi.<br /><br />Cierpliwość mam na drugie imię od wtorku siedzę nad tym kawałkiem kodu szukam w necie pomocy (żeby w odpowiedzi na forum nie usłyszeć &quot;...google&quot; )<br />Dzięki za naprowadzanie<br />a czy w wyzwoleniu INT0 (kod) jest wszystko w porządku ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3470">yozue</a> — 8 sty 2016, o 15:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2016-01-08T15:30:04+01:00</updated>
<published>2016-01-08T15:30:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149968#p149968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149968#p149968"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149968#p149968"><![CDATA[
<div class="quotetitle">yozue napisał(a):</div><div class="quotecontent"><br />Jak pisałem wyżej kod z BB płynna regulacja 230V trochę przerobiony (tylko nazwy).<br />w całości wygląda tak :<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define STEP 200<br />#define ZERO 1.8<br />#define __OCR_STEP ((F_CPU/8)*((1000-((ZERO*100)/2))/STEP))/100000<br />#define procent(x) ((x*(STEP-1))/100)<br /><br />#define BRAMKA_ON PORTD |= (1&lt;&lt;PD7)<br />#define BRAMKA_OFF PORTD &amp;= ~(1&lt;&lt;PD7)<br /><br /><br /><br />volatile uint8_t kroki;<br />volatile uint8_t kanal1;<br /><br />volatile uint8_t ika1;<br /><br /><br />int main(void) {<br /><br />DDRD |= (1&lt;&lt;PD7);<br />BRAMKA_OFF;<br /><br /><br />// Przerwanie INT0<br />EICRA |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10);// zbocze narastające<br />EIMSK |= (1&lt;&lt;INT0);// odblokowanie INT0<br /><br /><br />// TIMER2<br />#define TIMER2_START TCCR2B |= (1&lt;&lt;CS21)// prescaler=8<br />#define TIMER2_STOP TCCR2B &amp;= ~(1&lt;&lt;CS21)// prescaler off<br /><br /><br />TCCR2A |= (1&lt;&lt;WGM21);// tryb CTC<br />TIMSK2 |= (1&lt;&lt;OCIE2A);// odblokowanie przerwania COMPARE MATCH<br />OCR2A = __OCR_STEP;<br /><br /><br />sei();<br /><br />kanal1 = procent(10);<br />_delay_ms(3000);<br /><br /><br />#define SZYBKOSC_SCIEMNIACZA 15<br />uint8_t i,k;<br />while(1) {<br />for( i=0; i&lt;101; i++ ) {<br />kanal1 = procent(i);<br />_delay_ms(SZYBKOSC_SCIEMNIACZA);<br />}<br />_delay_ms(2000);<br />for( k=0, i=100; k&lt;101; k++,i-- ) {<br />kanal1 = procent(i);<br />_delay_ms(SZYBKOSC_SCIEMNIACZA);<br />}<br />_delay_ms(2000);<br />}<br />}<br /><br /><br />ISR(INT0_vect) {<br />TIMER2_STOP;<br />BRAMKA_OFF;<br /><br />kroki=STEP;<br /><br />/* podwójne buforowanie, synchronizacja do 50Hz */<br />ika1=kanal1;<br /><br />TCNT2 = 0;<br />TIMER2_START;<br />}<br /><br />ISR(TIMER2_COMP_vect) {<br />if(ika1 &amp;&amp; kroki == ika1) BRAMKA_ON;<br />kroki--;<br />}[/syntax]<br /><br />Oryginalny kod na Atmega8 działa (ze zmienionymi nazwami) <br />Błąd musi być w tych linijka które poprzednio wysłałem (różnica w rejestrach) i właśnie tego nie potrafię dopasować.<br /></div><br /><br />Kolego niestety język C wymaga cierpliwości. Próbujesz dopasować coś do czegoś. Nie prościej będzie najpierw uruchomić timera jeśli działa to idziemy dalej itp.<br /><br />Skąd wiesz że timer nie działa? Jak uruchamiasz go  w przerwaniu INT. Skąd wiesz że INT masz dobrze zainicjalizowane. Próbowałeś uruchomić samego timera tzn twoje makro timer_start wstawić na początku kodu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 8 sty 2016, o 15:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yozue]]></name></author>
<updated>2016-01-08T15:03:00+01:00</updated>
<published>2016-01-08T15:03:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149966#p149966</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149966#p149966"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149966#p149966"><![CDATA[
Jak pisałem wyżej kod z BB płynna regulacja 230V trochę przerobiony (tylko nazwy).<br />w całości wygląda tak :<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define STEP 200<br />#define ZERO 1.8<br />#define __OCR_STEP ((F_CPU/8)*((1000-((ZERO*100)/2))/STEP))/100000<br />#define procent(x) ((x*(STEP-1))/100)<br /><br />#define BRAMKA_ON PORTD |= (1&lt;&lt;PD7)<br />#define BRAMKA_OFF PORTD &amp;= ~(1&lt;&lt;PD7)<br /><br /><br /><br />volatile uint8_t kroki;<br />volatile uint8_t kanal1;<br /><br />volatile uint8_t ika1;<br /><br /><br />int main(void) {<br /><br />DDRD |= (1&lt;&lt;PD7);<br />BRAMKA_OFF;<br /><br /><br />// Przerwanie INT0<br />EICRA |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10);// zbocze narastające<br />EIMSK |= (1&lt;&lt;INT0);// odblokowanie INT0<br /><br /><br />// TIMER2<br />#define TIMER2_START TCCR2B |= (1&lt;&lt;CS21)// prescaler=8<br />#define TIMER2_STOP TCCR2B &amp;= ~(1&lt;&lt;CS21)// prescaler off<br /><br /><br />TCCR2A |= (1&lt;&lt;WGM21);// tryb CTC<br />TIMSK2 |= (1&lt;&lt;OCIE2A);// odblokowanie przerwania COMPARE MATCH<br />OCR2A = __OCR_STEP;<br /><br /><br />sei();<br /><br />kanal1 = procent(10);<br />_delay_ms(3000);<br /><br /><br />#define SZYBKOSC_SCIEMNIACZA 15<br />uint8_t i,k;<br />while(1) {<br />for( i=0; i&lt;101; i++ ) {<br />kanal1 = procent(i);<br />_delay_ms(SZYBKOSC_SCIEMNIACZA);<br />}<br />_delay_ms(2000);<br />for( k=0, i=100; k&lt;101; k++,i-- ) {<br />kanal1 = procent(i);<br />_delay_ms(SZYBKOSC_SCIEMNIACZA);<br />}<br />_delay_ms(2000);<br />}<br />}<br /><br /><br />ISR(INT0_vect) {<br />TIMER2_STOP;<br />BRAMKA_OFF;<br /><br />kroki=STEP;<br /><br />/* podwójne buforowanie, synchronizacja do 50Hz */<br />ika1=kanal1;<br /><br />TCNT2 = 0;<br />TIMER2_START;<br />}<br /><br />ISR(TIMER2_COMP_vect) {<br />if(ika1 &amp;&amp; kroki == ika1) BRAMKA_ON;<br />kroki--;<br />}[/syntax]<br /><br />Oryginalny kod na Atmega8 działa (ze zmienionymi nazwami) <br />Błąd musi być w tych linijka które poprzednio wysłałem (różnica w rejestrach) i właśnie tego nie potrafię dopasować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3470">yozue</a> — 8 sty 2016, o 15:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2016-01-08T14:50:00+01:00</updated>
<published>2016-01-08T14:50:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149963#p149963</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149963#p149963"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149963#p149963"><![CDATA[
Kolego a gdzie masz ten timetr_start wstawiony. Próbowałeś najpierw go uruchomić bez tworzenia makr  &quot;timer_start&quot; itp Jak będzie działać to możesz sobie kombinować. Najpierw zrób porządną inicjalizację timera2 jak będzie działać możesz kombinować , modyfikować<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 8 sty 2016, o 14:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-01-08T12:46:15+01:00</updated>
<published>2016-01-08T12:46:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149957#p149957</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149957#p149957"/>
<title type="html"><![CDATA[Re: Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149957#p149957"><![CDATA[
<div class="quotetitle">yozue napisał(a):</div><div class="quotecontent"><br />i niestety nie umiałem ustawić Timera2<br /></div><br /><br /><div class="quotetitle">yozue napisał(a):</div><div class="quotecontent"><br />i zwracam się z wielką prośbo o pomoc z Timerem 2.<br /></div><br /><br />weź chwilkę pomyśl nad tym jak zadajesz pytania ? co z tego wynika co napisałeś ? mi się wydaje że nic <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />- co to znaczy, że nie umiałeś ustawić ?<br />- co w ogóle chciałeś ustawić?<br />- jak miał wg twojego planu działać ten timer?<br />- zatem o jaką pomoc chodzi ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 sty 2016, o 12:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yozue]]></name></author>
<updated>2016-01-08T12:30:44+01:00</updated>
<published>2016-01-08T12:30:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149956#p149956</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149956#p149956"/>
<title type="html"><![CDATA[Mój pierwszy projekt w C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14122&amp;p=149956#p149956"><![CDATA[
Witam<br />Zaczynam swoją przygodę z C i AVR (poprzednio programowałem w BASCOM).<br />Dzięki poradnikom pana Mirka wydaje się to być dość proste. (ale tylko wydaje).<br />Przeprojektowałem swój poprzedni układ na potrzeby C, i po kolei uruchamiam poszczególne moduły (OLED, DS18B20, RC5, DS1307) i stanąłem na sercu układu &quot;regulator fazowy&quot;.<br />Mój układ opiera się na Atmedze328p (mini pro), korzystałem z kodów pana Mirka i niestety nie umiałem ustawić Timera2<br />[syntax=c]// Przerwanie INT0<br />EICRA |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10);// zbocze narastające<br />EIMSK |= (1&lt;&lt;INT0);// odblokowanie INT0<br /><br /><br />// TIMER2<br />#define TIMER2_START TCCR2B |= (1&lt;&lt;CS21)// prescaler=8<br />#define TIMER2_STOP TCCR2B &amp;= ~(1&lt;&lt;CS21)// prescaler off<br /><br /><br />TCCR2A |= (1&lt;&lt;WGM21);// tryb CTC<br />TIMSK2 |= (1&lt;&lt;OCIE2A);// odblokowanie przerwania COMPARE MATCH<br />OCR2A = __OCR_STEP;<br /><br /><br />sei();[/syntax]<br /><br />po kilku dniach walki z (DataShed) darowałem sobie i zmieniłem układ na Atmege8 wszystko ruszyło praktycznie od kopa ale pojawił się kolejny problem brak możliwości swobodnej współpracy z OLED'em czyli brak pamięci.<br />A więc wracam do swojej Atmegi 328p (układ mini pro) i zwracam się z wielką prośbo o pomoc z Timerem 2.<br /><br />ps założyłem swój wątek bo tu będę się zwracał o pomoc ze wszystkimi problemami związanymi z moim sterownikiem<br /><br />pozdrawiam Marek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3470">yozue</a> — 8 sty 2016, o 12:30</p><hr />
]]></content>
</entry>
</feed>