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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-15T21:16:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14538&amp;mode</id>
<entry>
<author><name><![CDATA[jacky_cy]]></name></author>
<updated>2016-02-15T21:16:32+01:00</updated>
<published>2016-02-15T21:16:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153737#p153737</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153737#p153737"/>
<title type="html"><![CDATA[Re: Niedziałające przerwania - ATmega32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153737#p153737"><![CDATA[
[quote=&quot;anshar&quot;][syntax=c]ISR (TIMER2_COMP_vect)<br />{<br />        if(y) Timer2 = --y; //porównaj ze swoim kodem<br />}[/syntax]<br /><br /><br />No także tego... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Widocznie coś wcześniej pokręciłem i nie działało a teraz to....<br /><br />W każdym razie mój czeski błąd poprawiony... przerwania ożyły <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dzięki wielkie !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4547">jacky_cy</a> — 15 lut 2016, o 21:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-02-15T20:44:20+01:00</updated>
<published>2016-02-15T20:44:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153733#p153733</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153733#p153733"/>
<title type="html"><![CDATA[Re: Niedziałające przerwania - ATmega32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153733#p153733"><![CDATA[
[syntax=c]ISR (TIMER2_COMP_vect)<br />{<br />        uint16_t y;<br />        y = Timer2;<br />        if(y) Timer2 = --y; //porównaj ze swoim kodem<br />}[/syntax]<br /><br />Ten fragment kodu tzn procedurę obsługi przerwania umieszcza się poniżej głównej funckji main, a nie przed nią.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 15 lut 2016, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacky_cy]]></name></author>
<updated>2016-02-15T20:12:16+01:00</updated>
<published>2016-02-15T20:12:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153727#p153727</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153727#p153727"/>
<title type="html"><![CDATA[Niedziałające przerwania - ATmega32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14538&amp;p=153727#p153727"><![CDATA[
Witajcie,<br /><br />Siedzę już nad tym trochę i za chiny nie mogę dojść dlaczego nie działają mi przerwania od timerów 0,1 i 2. Czy zdarzyła się komuś z Was taka sytuacja? <br /><br />Sprawdzałem &quot;migającą diodą&quot; przerwania od wszystkich 3 timerów, zarówno CTC jak i przepełnienie...<br /><br />[syntax=c]volatile uint16_t Timer2;<br /><br />ISR (TIMER2_COMP_vect)<br />{<br />uint16_t y;<br />y = Timer2;<br />if(y) Timer2 = y--;<br />}<br /><br />int main()<br />{<br />init_system();<br />TCCR2 |= (1&lt;&lt;WGM21) | (1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20);  //prescaler 1024<br />OCR2=156;  //przerwanie co ok 10ms<br />TIMSK |= (1&lt;&lt;OCIE2);<br />i2c_master_init(100000);<br />register_rx_callback(i2c_read_buffer);<br />register_tx_callback(i2c_send_buffer);<br />        sei();<br /><br /><br />while(1)<br />{<br /><br /><br />get_time(rtc_time_buffer);//pobieramy czas do bufora<br />show_time(1,8);<br /><br /><br />if(!Timer2)<br />{<br />Timer2=100;<br />test_tog;<br />}[/syntax]<br /><br />Na płytce jest jeszcze PCF8583 i pracuje on bez zarzutu... Fusebity to: hfuse D9; lfuse FF - dla zew. kwarcu 16MHz<br />Dodam jeszcze że w ten sposób miganie działa:<br />[syntax=c]while(1)<br />{<br />   test_tog;<br />   _delay_ms(1000);<br />}[/syntax]<br /><br />Już się zakręciłem z tym... więc może to ja robię jakiś czeski błąd. Lub atmega do wymiany? Czego wolałbym uniknąć, bo mam cieniutkie ścieżki.<br />Z góry dzięki za pomoc!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4547">jacky_cy</a> — 15 lut 2016, o 20:12</p><hr />
]]></content>
</entry>
</feed>