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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-03-26T10:05:12+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20483&amp;mode</id>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-03-26T10:05:12+01:00</updated>
<published>2018-03-26T10:05:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206064#p206064</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206064#p206064"/>
<title type="html"><![CDATA[Re: Nadawanie Danych ala SPI - SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206064#p206064"><![CDATA[
cześć<br />Pewnie głoszę herezję  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> , ale może spróbuj zliczyć impulsy timerem w trybie zwykłego licznika.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 26 mar 2018, o 10:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-25T14:10:43+01:00</updated>
<published>2018-03-25T14:10:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206036#p206036</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206036#p206036"/>
<title type="html"><![CDATA[Nadawanie Danych ala SPI - SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20483&amp;p=206036#p206036"><![CDATA[
Witam. Mam taką sytuację:(oba moduły ATMEGA88 taktowane kwarcami 19,2 MHz): Moduł MASTERA, nadaje 19 impulsów zegarowych (częstotliwość ok 2,5MHz) co 1 sekundę do modułu SLAVE,który w czasie tych impulsów zegarowych powinien wystawić na linię DATA dane do wysłania. Krótko mówiąc coś ala SPI tylko że paczki 19 bitowe. Próbowałem zrobić na początek odbiór w SLAVE tych impulsów zegarowych. Podłączyłem tą linię zegarową do wejścia INT1 SLAVE'a i chciałem zliczyć te pojawiające się impulsy:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />volatile uint8_t zliczaj;<br /><br />int main(void) {<br /><br />//TIMER0 - konfiguracja timera do programowych timerów CTC<br />TCCR0A |= (1&lt;&lt;WGM01);//Tryb CTC<br />TCCR0B |= (1&lt;&lt;CS02) |(1&lt;&lt;CS00);  //preskaler 64<br />TIMSK0 |= (1&lt;&lt;OCIE0A);  // zezwolenie na przerwanie OVF<br />        OCR0A = 186;<br /><br />lcd_init();<br />lcd_cls();<br /><br />PORTD |= (1&lt;&lt;PD3);                //podciągnięcie wejścia do VCC<br />EICRA |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10);     // zbocze narastające<br />EIMSK |= (1&lt;&lt;INT1);                     //włączamy przerwania od INT1<br />EIFR |= (1&lt;&lt;INTF1);          //wyzerowanie flagi INT1<br /><br />lcd_locate(0,3);<br />lcd_str( &quot;ENKODER-SSI&quot; );<br />lcd_locate(1,5);<br />lcd_str( &quot;SLAVE&quot; );<br /><br />_delay_ms(2000);<br />lcd_cls();<br /><br />sei();<br /><br />while(1) {<br /><br />       lcd_locate(1,10);<br />       lcd_int(zliczaj);<br /><br />       }<br />}<br /><br />ISR(INT1_vect){<br />zliczaj++;<br />}[/syntax]<br /><br />Sytuacja jest taka że:<br /><br />Zlicza 9 impulsów gdy zmienna zlicza jest uint8_t<br />Zlicza 7-8 impulsów gdy zmienna zlicza jest uint16_t<br />Zlicza 6 impulsów gdy zmienna zlicza jest uint32_t<br /><br />Tak czy tak daleko do 20 ... czyżby się nie wyrabiał ? Ewentualnie jak do tego podejść inaczej ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 25 mar 2018, o 14:10</p><hr />
]]></content>
</entry>
</feed>