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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-11-12T11:20:13+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9178&amp;mode</id>
<entry>
<author><name><![CDATA[t_jacek]]></name></author>
<updated>2014-11-12T11:19:22+01:00</updated>
<published>2014-11-12T11:19:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103502#p103502</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103502#p103502"/>
<title type="html"><![CDATA[Re: Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykon]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103502#p103502"><![CDATA[
Przepraszam już się poprawiłem, z sokiem jabłkowym też <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6541">t_jacek</a> — 12 lis 2014, o 11:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-11-12T11:10:44+01:00</updated>
<published>2014-11-12T11:10:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103501#p103501</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103501#p103501"/>
<title type="html"><![CDATA[Re: Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykon]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103501#p103501"><![CDATA[
<div class="quotetitle">t_jacek napisał(a):</div><div class="quotecontent"><br />OK rezygnuje <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> za cienki jestem na to, muszę się jeszcze dużo uczyć, ŻYCIE <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> zamówiłem na allegro bufor z zatrzaskiem, może w tedy się uda. Jak opanuję ASM i AVR to pewnie atmega zostanie wycofana z produkcji <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> w każdym razie dzięki za pomoc koledzy, macie u mnie po piwku. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />To może zanim postawisz im po szklanicy soku jabłkowego (bo innego się na tym forum nie pija) kliknij przycisk <span style="color: #400080">pomógł</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 12 lis 2014, o 11:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t_jacek]]></name></author>
<updated>2014-11-12T11:20:13+01:00</updated>
<published>2014-11-11T21:19:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103454#p103454</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103454#p103454"/>
<title type="html"><![CDATA[Re: Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykon]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103454#p103454"><![CDATA[
OK rezygnuje <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> za cienki jestem na to, muszę się jeszcze dużo uczyć, ŻYCIE <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> zamówiłem na allegro bufor z zatrzaskiem, może w tedy się uda. Jak opanuję ASM i AVR to pewnie atmega zostanie wycofana z produkcji <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> w każdym razie dzięki za pomoc koledzy, macie u mnie po szklaneczce soku ......... <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=6541">t_jacek</a> — 11 lis 2014, o 21:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t_jacek]]></name></author>
<updated>2014-11-11T17:43:30+01:00</updated>
<published>2014-11-11T17:43:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103396#p103396</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103396#p103396"/>
<title type="html"><![CDATA[Re: Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykon]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103396#p103396"><![CDATA[
Tego nie zrobię, z C zaczynam a ASM dla mnie to kosmos, spróbuję kupić jutro 74573 bufor z zatrzaskiem powinno się wtedy udać chociaż tak nie chciałem. A można ktoś by mi pomógł zrobić wstawkę ASM do tego co tam umęczyłem i wtedy by się obeszło bez dodatkowych układów z buforem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6541">t_jacek</a> — 11 lis 2014, o 17:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t_jacek]]></name></author>
<updated>2014-11-11T15:58:08+01:00</updated>
<published>2014-11-11T15:58:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103375#p103375</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103375#p103375"/>
<title type="html"><![CDATA[Re: Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykon]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103375#p103375"><![CDATA[
Wy edytowałem kod w pierwszym poście i wkleiłem aktualny, zmieniłem przerwanie z PCINT na INT0 żeby nie sprawdzać stanu końcówki w przerwaniu i przerwanie wykonuje się dokładnie 128x na zboczu opadającym tak jak ma się wykonywać, ale zapis PINÓW do TABLICY robi za późno o 0,4us. jak jest już minimalnie za zboczem narastającym. <br />squeez - nie znam się na ASM i dopiero zaczynam zabawę z C i na razie jestem zielony <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />  Ale wkleję wycinek pliku .lss z przerwaniem i jak by ktoś mi mógł powiedzieć czy da się to przyśpieszyć ten zapis do tablicy przynajmniej o połowę ?<br />[syntax=asm]ISR(INT0_vect)<br />{<br /> 34a:1f 92       pushr1<br /> 34c:0f 92       pushr0<br /> 34e:0f b6       inr0, 0x3f; 63<br /> 350:0f 92       pushr0<br /> 352:11 24       eorr1, r1<br /> 354:8f 93       pushr24<br /> 356:9f 93       pushr25<br /> 358:ef 93       pushr30<br /> 35a:ff 93       pushr31<br />                   tab1&#91;x&#93;=PIND;<br /> 35c:80 91 0a 01 ldsr24, 0x010A<br /> 360:99 b1       inr25, 0x09; 9<br /> 362:eb e0       ldir30, 0x0B; 11<br /> 364:f2 e0       ldir31, 0x02; 2<br /> 366:e8 0f       addr30, r24<br /> 368:f1 1d       adcr31, r1<br /> 36a:90 83       stZ, r25<br />                    x++ ;<br /> 36c:80 91 0a 01 ldsr24, 0x010A<br /> 370:8f 5f       subir24, 0xFF; 255<br /> 372:80 93 0a 01 sts0x010A, r24<br />}<br /> 376:ff 91       popr31<br /> 378:ef 91       popr30<br /> 37a:9f 91       popr25<br /> 37c:8f 91       popr24<br /> 37e:0f 90       popr0<br /> 380:0f be       out0x3f, r0; 63<br /> 382:0f 90       popr0<br /> 384:1f 90       popr1<br /> 386:18 95       reti[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6541">t_jacek</a> — 11 lis 2014, o 15:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t_jacek]]></name></author>
<updated>2014-11-11T15:43:57+01:00</updated>
<published>2014-11-10T19:31:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103239#p103239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103239#p103239"/>
<title type="html"><![CDATA[Przerwanie bardzo szybkie i odczyt 12 pinów-czy to wykonalne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9178&amp;p=103239#p103239"><![CDATA[
Witam.<br />Mam pytanie dotyczące przerwania PCINT0, odczytu z PINÓW danych i wpisanie ich do tablicy, ale przerwanie to jest bardzo szybkie generowane impulsem &quot;0&quot; o czasie ok. 0,4us i powtarzające się co ok. 4us. Mam przebieg i chcę wychwycić 12 pinów (od biedy może być 8 pinów - 1 cały port)  jaki jest ich stan ale przy zboczu opadającym czyli w 0,4us chce zrobić odczyt pinów. Czy to jest wykonalne na AVR. Mam atmega168 kwarc 20MHz i umęczyłem taki program ale jednak nie łapie mi wszystkich impulsów. Wiem z analizatora stanów że wysyła 2x po 64 takie impulsy a na LCD pokazuje mi że wykrył x=12 y=224 czyli coś nie tak. Przerwanie jest generowane i na opadającym i na narastającym zboczu i powinno być x=128 y=128 a tu taka różnica 12 i 224. Proszę o jakieś podpowiedzi. Podkreślam że w C piszę dopiero 2 dzień, przesiałem się z Bascoma na C po przeglądnięciu książki Pana Mirka i video lekcjach. Szkoda że dopiero teraz a nie 2-3 lata temu, ale kiedyś trzeba zacząć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /> <br />[syntax=c]//#include &lt;avr/iom168p.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />//#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &lt;stdint.h&gt;<br />//#define pcint0<br /><br />volatile uint8_t x = 0;<br />uint8_t y = 0;<br /><br />uint8_t tab1&#91;255&#93;;<br />uint8_t tab2&#91;255&#93;;<br /><br />//=================      GŁÓWNA FUNKCJA PROGRAMU    ====================<br />int main(void)<br />{<br />DDRD = 0b00000000;   // portd jako wejscie<br />PORTD = 0b11111111;   // pind ustaw w stan wysoki<br />DDRB = 0b00000000;   // portb 0b11000000 jako wejscie<br />PORTB = 0b00111111;   // pind ustaw w stan wysoki bez kwarcu<br /><br />EICRA &amp;= ~(1&lt;&lt;ISC00);    //zerowanie bitu przerwanie int0 na opadajace<br />EICRA |= (1&lt;&lt;ISC01);    //ustaw 1 na bitprzerwanie int0 na opadajace<br />EIMSK |= (1&lt;&lt;INT0);<br /><br />lcd_init();<br /><br />sei();/* włączamy globalne przerwania */<br /><br />//=================      PĘTLA GŁÓWNA PROGRAMU      ===================<br />while(1)<br />{<br />//============= przyciski_p<br />    if( !(PINB &amp; (1&lt;&lt;PB4) ) )<br />   {<br />x++;<br />_delay_ms(100);<br />   }<br />     if( !(PINB &amp; (1&lt;&lt;PB5) ) )<br />   {<br />x--;<br />_delay_ms(100);<br />   }<br />    if( x == 255 )<br />   {<br />   x=0;<br />   cli();<br />   }<br />//=========== przyciski_K<br />//=========== LCD_p<br />lcd_locate(0,0);<br />lcd_str(&quot;x=&quot;);<br />lcd_int( x );<br />lcd_str(&quot;  &quot;);<br />lcd_locate(1,0);<br />lcd_str(&quot;y=&quot;);<br />lcd_int( y );<br />lcd_str(&quot;  &quot;);<br /><br />lcd_locate(2,0);<br />lcd_int( tab1&#91;x&#93; );<br />lcd_str(&quot;  &quot;);<br />lcd_locate(3,0);<br />lcd_int( tab2&#91;y&#93; );<br />lcd_str(&quot;  &quot;);<br />//=========== LCD_k<br />}<br />//============      KONIEC PĘTLI GŁÓWNEJ PROGRAMU      ==============<br />}<br />//============      KONIEC PROGRAMU GŁÓWNEGO     ==============<br />ISR(INT0_vect)<br />{<br />                   tab1&#91;x&#93;=PIND;<br />                    x++ ;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6541">t_jacek</a> — 10 lis 2014, o 19:31</p><hr />
]]></content>
</entry>
</feed>