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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-10-30T01:25:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=19480&amp;mode</id>
<entry>
<author><name><![CDATA[michajlo007]]></name></author>
<updated>2017-10-30T01:25:29+01:00</updated>
<published>2017-10-30T01:25:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=198021#p198021</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=198021#p198021"/>
<title type="html"><![CDATA[Re: Problem z przejściem kodu z ATMEGA32 na ATTINY13]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=198021#p198021"><![CDATA[
Dziękuję wszystkim za pomoc.Po tych zmianach PWM ruszył od razu.Jedynie miałem drobny problem z ADC.Trzeba było skonfigurować ADMUXA żeby mógł działać na pinie PB4  i musiałem dodać jeszcze jedną rzecz i wystartował ADC.[syntax=c]ADMUX |= (1 &lt;&lt; MUX1);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3167">michajlo007</a> — 30 paź 2017, o 01:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[michajlo007]]></name></author>
<updated>2017-10-29T11:14:45+01:00</updated>
<published>2017-10-29T11:14:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197964#p197964</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197964#p197964"/>
<title type="html"><![CDATA[Re: Problem z przejściem kodu z ATMEGA32 na ATTINY13]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197964#p197964"><![CDATA[
Zabieram się za zmiany i dam znać jak poszło.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3167">michajlo007</a> — 29 paź 2017, o 11:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2017-10-29T00:23:18+01:00</updated>
<published>2017-10-29T00:23:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197947#p197947</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197947#p197947"/>
<title type="html"><![CDATA[Re: Problem z przejściem kodu z ATMEGA32 na ATTINY13]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197947#p197947"><![CDATA[
Również samo ustawienie timera w tryb pracy CTC powinno wyglądać raczej tak:<br />[syntax=c]// ustawienia TIMER0 w tryb CTC<br />TCCR0A |= (1&lt;&lt;WGM01);// tryb pracy CTC<br />TCCR0B |= (1&lt;&lt;CS00);// preskaler = 1<br />OCR0A=255;<br />TIMSK0 |= (1&lt;&lt;OCIE0A);  // zezwolenie na przerwanie CompareMatch[/syntax]<br />Upewnij się jeszcze zaglądając do noty. <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=7157">anshar</a> — 29 paź 2017, o 00:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-10-28T21:23:43+01:00</updated>
<published>2017-10-28T21:23:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197944#p197944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197944#p197944"/>
<title type="html"><![CDATA[Re: Problem z przejściem kodu z ATMEGA32 na ATTINY13]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197944#p197944"><![CDATA[
<div class="quotetitle">michajlo007 napisał(a):</div><div class="quotecontent"><br />Mam problem z konfiguracją sprzętowego PWM<br /></div> Piszesz o sprzętowym PWM a z tego co widzę program masz do programowego PWM - taki szczegół.<br /><br /><div class="quotetitle">michajlo007 napisał(a):</div><div class="quotecontent"><br />gdzieś robię błąd ,a nie wiem gdzie.<br /></div>Przyjrzyj się nazwom wektorów przerwań bo w programie masz niewłaściwe dla attiny13. Ten procek ma tylko jeden timer ale ma dwa rejestry porównania i dwa wektory przerwania od porównania.<br />masz:<br />[syntax=c]ISR( TIMER0_COMP_vect )[/syntax]<br /><br />a powinno być:<br />[syntax=c]ISR( TIM0_COMPA_vect )[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 28 paź 2017, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[michajlo007]]></name></author>
<updated>2017-10-28T20:33:03+01:00</updated>
<published>2017-10-28T20:33:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197942#p197942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197942#p197942"/>
<title type="html"><![CDATA[Problem z przejściem kodu z ATMEGA32 na ATTINY13]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19480&amp;p=197942#p197942"><![CDATA[
Witam.Mam problem z konfiguracją sprzętowego PWM oraz ADC. Kod działał bez problemu na ATMEGA 32, a w chwili przejścia na ATTINY 13 wyjście PWM nie chce podjąć pracy.Proszę o pomoc z konfiguracją,gdzieś robię błąd ,a nie wiem gdzie.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />        // *************   definicje dla preprocesora<br /><br />#define LED_PWM_PIN (1&lt;&lt;PB0)// definicja pinu PWM<br /><br /><br />#define REF_VCC (1&lt;&lt;REFS0)<br /><br />uint16_t POMIAR(uint8_t kanal);<br /><br />volatile uint8_t pwm1;         // zmienne typu uint8_t, rozdzielczość 8-bitowa<br /><br />           int main(void)   //  początek programu głównego<br />           {<br />        <br /><br />        //***** SPRZĘTOWY PWM  *******<br />        // ustawienie końcówki (PB0) sprzętowy PWM jako WYJŚCIE<br />        DDRB |= (1&lt;&lt;PB0);    <br />        <br /><br /><br />        // ustawienia TIMER0 w tryb CTC<br />        TCNT0 |= (1&lt;&lt;WGM01);// włączenie trybu CTC w rejestrze OCRA<br />        TCNT0 |= (1&lt;&lt;CS00);// preskaler = 1<br />        OCR0A = 255;// dodatkowy podział częstotliwości przez 255<br />        TIMSK0 |= (1&lt;&lt;OCIE0A);// zezwolenie na przerwanie CompareMatch<br /><br />                        //  USTAWIENIA przetwornika ADC<br />        ADMUX  &amp;= ~ REF_VCC;      // włączenie zrodla napiecia odniesienia jako +5V<br />                   <br />        ADCSRA |= (1&lt;&lt;ADEN);    // WLACZENIE ADC<br />                        ADCSRA |=  (1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0);  // PRESKALER NA 128 CZYLI częstotliwość<br /><br />           uint16_t wynik=0;<br />   <br /><br />           sei();<br />               while(1)<br />               {<br /><br />                OCR0A=LED_PWM_PIN;<br />                wynik = POMIAR(PB4 );  //  pomiar ADC na pinie PB4<br /><br /><br /><br />                if ( (wynik) &gt;440)  // 440 ADC czyli jakieś 2,22 V <br />                {<br />                pwm1=78;  //   35% PWM<br /><br /><br />                }<br /><br />                    if ( (wynik) &lt; 440)  //   440 ADC<br />                    {<br />                    <br />                    pwm1=0;   //  wyłączenie  PWM-wypełnienie 0%<br />                    }<br /><br /><br />           }       //  koniec pętli<br />}                 //  koniec programu głównego<br /><br /><br /><br /><br />           // ciało procedury obsługi przerwania Compare Match Timera2<br />           ISR( TIMER0_COMP_vect )<br />           {<br />           static uint8_t cnt; // definicja naszego licznika PWM<br /><br />           // bezpośrednie sterowanie wyjściami kanałów PWM<br />           if(cnt&gt;=pwm1) PORTB &amp;= ~ (1&lt;&lt;PB0); else PORTB |= (1&lt;&lt;PB0);<br /><br /><br />           cnt++;// zwiększanie licznika o 1<br /><br />           }<br />           uint16_t POMIAR( uint8_t kanal )<br />           {<br />             ADMUX = (ADMUX &amp; 0b11111000) |  kanal;<br />             ADCSRA |= (1&lt;&lt;ADSC);<br />               while( ADCSRA &amp; (1&lt;&lt;ADSC));<br />               _delay_ms(1);    //     zeby opoznic probkowanie ADC o 1ms<br />           return ADCW;<br /><br />           }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3167">michajlo007</a> — 28 paź 2017, o 20:33</p><hr />
]]></content>
</entry>
</feed>