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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-02-24T17:42:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=21981&amp;mode</id>
<entry>
<author><name><![CDATA[cekin]]></name></author>
<updated>2019-02-24T17:42:30+01:00</updated>
<published>2019-02-24T17:42:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216869#p216869</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216869#p216869"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216869#p216869"><![CDATA[
Udało mi się zorganizować komunikację poniżej zamieszczam kod może ktoś poprawi moje błędy w kodzie...<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#define DATA PD7<br />#define DLEN PD6<br />#define CLB PD5<br /><br />#define SET_DATA_BIT PORTD |= (1&lt;&lt;DATA)// stan wysoki na linii DATA<br />#define CLR_DATA_BIT PORTD &amp;= ~(1&lt;&lt;DATA)<br />#define SET_DLEN PORTD |= (1&lt;&lt;DLEN)// stan wysoki na linii DLEN<br />#define CLR_DLENPORTD &amp;= ~(1&lt;&lt;DLEN)<br />#define SET_CLB PORTD |= (1&lt;&lt;CLB)// stan wysoki na linii CLB<br />#define CLR_CLB PORTD &amp;= ~(1&lt;&lt;CLB)<br /><br /><br />void send_16bit (uint16_t data,uint8_t zatrzask);<br />uint16_t a=1;<br /><br />int main(void){<br />DDRD |= (1&lt;&lt;PD5)|(1&lt;&lt;PD6)|(1&lt;&lt;PD7); //piny jako wyjscia<br />PORTD &amp;= ~(DATA|DLEN|CLB);// stan 0 - początkowy na liniach<br />_delay_ms(500);<br />uint8_t i;<br />while(1){<br /><br />for (i=0; i&lt;16;i++){<br />a&lt;&lt;=1;<br />send_16bit(a,1);<br />_delay_ms(50);<br />}<br /><br />for (i=0;i&lt;16;i++){<br />a&gt;&gt;=1;<br />send_16bit(a,1);<br />_delay_ms(50);<br />}<br />void send_16bit (uint16_t data,uint8_t zatrzask){<br />CLR_DATA_BIT;//zerowanie lini DATA, bit startu zawsze 0<br />SET_DLEN;//zezwolenie na odczyt Z lini DATA<br />SET_CLB;//zbocze opadające odczyt z lini DATA<br />_delay_us(10);<br />CLR_CLB;<br />_delay_us(10);<br />/* wysyłamy bajt do układu */<br />uint16_t cnt=0x0001;<br />while( cnt ) {<br /><br />if( data &amp; cnt ) CLR_DATA_BIT;//stan aktywny to zero; gdy 0 to Q = 1<br />else SET_DATA_BIT;<br />cnt&lt;&lt;=1;//przesunięcie w lewo od bitu 1 do 16<br /><br />SET_CLB;//zbocze opadające odczyt z lini DATA<br />_delay_us(10);<br />CLR_CLB;<br />_delay_us(10);<br />}<br /><br />if (zatrzask)  SET_DATA_BIT;<br />else CLR_DATA_BIT;//bit 18-sty = 0 ładujacy do zatrzasku B lub 1 ładaujący do zatrzasku A<br />SET_CLB;<br />_delay_us(10);<br />CLR_CLB;<br />_delay_us(10);<br />CLR_DLEN; // zerowanie lini zezwolenia na odczyt z lini DATA<br />CLR_DATA_BIT;//zerowanie lini data<br />_delay_us(10);<br />SET_CLB;// 19-sty impuls zegarowy, zatrzaśniecie danych.<br />_delay_us(10);<br />CLR_CLB;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1711">cekin</a> — 24 lut 2019, o 17:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cekin]]></name></author>
<updated>2019-02-23T10:49:34+01:00</updated>
<published>2019-02-23T10:49:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216850#p216850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216850#p216850"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216850#p216850"><![CDATA[
Napotkałem na taki opis scalaka jak w załączniku. Tak jest to pułapka programowa aby wysłanie obyło się tylko raz. Nie jestem pewien czy wszystko dobrze rozumiem. Według opisu ramka danych jest 18-sto bitowa aby zapobiec zakłóceniom pierwsze wysłane musi być zero i zboczem opadającym odczytane. Potem wysyłamy 16-to bitowe słowo a następnie 1 albo 0 dla odpowiedniego zatrzasku a całość jest przeładowana do któregoś z zatrzasków za pomocą 19-stego impulsu zegarowego. Dodam, że wej. LOEX i DUP mam podłączone na sztywno do Vcc czyli logiczne 1. Czyli tryb pracy statyczny, wyj. odzwierciedlają zatrzask B. Maksymalna częstotliwość na wejściach nie może przekroczyć 50kHz -  stąd te delay'je.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1711">cekin</a> — 23 lut 2019, o 10:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-02-23T00:00:02+01:00</updated>
<published>2019-02-23T00:00:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216843#p216843</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216843#p216843"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216843#p216843"><![CDATA[
<div class="quotetitle">mario2015 napisał(a):</div><div class="quotecontent"><br />Najpierw w pętli głównej programu &quot;while(1)&quot; wywołujesz funkcję &quot;send_16bit(0xAAAA);&quot; <br />a potem wstawiasz kolejną pętlę nieskończoną, która jest pusta, więc co ma się wykonywać przez cały czas tej pętli, skoro nic w niej nie ma?<br /></div><br />Może to nie najlepiej wygląda ale - kolega pewnie zastosował rodzaj pułapki programowej - czyli wysyła coś i zatrzymuje program. Akurat w tym wypadku można było wysłać to RAZ przed pętlą główną i byłby ten sam efekt po prostu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lut 2019, o 00:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2019-02-22T22:44:28+01:00</updated>
<published>2019-02-22T22:44:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216838#p216838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216838#p216838"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216838#p216838"><![CDATA[
Bez zaglądania do pdf-u scalaka, bardzo zadziwił mnie twój kod programu.<br />Mianowicie:<br />Najpierw w pętli głównej programu &quot;while(1)&quot; wywołujesz funkcję &quot;send_16bit(0xAAAA);&quot;  <br />a potem wstawiasz kolejną pętlę nieskończoną, która jest pusta, więc co ma się wykonywać przez cały czas tej pętli, skoro nic w niej nie ma?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 22 lut 2019, o 22:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cekin]]></name></author>
<updated>2019-02-22T17:01:28+01:00</updated>
<published>2019-02-22T17:01:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216826#p216826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216826#p216826"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216826#p216826"><![CDATA[
Już dodaje kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#define DATA PB2<br />#define DLEN PB3<br />#define CLB PB4<br /><br />#define SET_DATA_BIT PORTB |= (1&lt;&lt;DATA)// stan wysoki na linii DATA<br />#define CLR_DATA_BIT PORTB &amp;= ~(1&lt;&lt;DATA)<br />#define SET_DLEN PORTB |= (1&lt;&lt;DLEN)// stan wysoki na linii DLEN<br />#define CLR_DLENPORTB &amp;= ~(1&lt;&lt;DLEN)<br />#define SET_CLB PORTB |= (1&lt;&lt;CLB)// stan wysoki na linii CLB<br />#define CLR_CLB PORTB &amp;= ~(1&lt;&lt;CLB)<br /><br />void send_16bit (uint16_t data);<br /><br /><br />int main(void){<br />DDRB |= (1&lt;&lt;PB2)|(1&lt;&lt;PB3)|(1&lt;&lt;PB4); //piny jako wyjscia<br />PORTB &amp;= ~(DATA|DLEN|CLB);// stan 0 - początkowy na liniach<br />_delay_ms(1000);<br /><br />while(1){<br />send_16bit(0xAAAA);//wysłanie słowa 16 bitowego 0b1010101010101010<br />while(1){}<br />}<br />}<br />void send_16bit (uint16_t data){<br />CLR_DATA_BIT;<br />SET_CLB;<br />_delay_ms(1);<br />SET_DLEN;<br />_delay_ms(1);<br />CLR_CLB;<br />_delay_ms(1);<br />uint16_t cnt=0x8000;<br />/* wysyłamy bajt do układu */<br /><br />while( cnt ) {<br />SET_CLB;<br />if( data &amp; cnt ) SET_DATA_BIT;<br />else CLR_DATA_BIT;<br />_delay_ms(1);<br />cnt&gt;&gt;=1;<br />CLR_CLB;<br /><br />}<br />SET_CLB;<br />CLR_DATA_BIT; //bit 18sty = 0 ładujacy do zatrzasku B<br />_delay_ms(1);<br />CLR_CLB;<br />_delay_ms(1);<br />SET_CLB;<br />CLR_DLEN;// zerowanie lini zezwolenia<br />_delay_ms(1);<br />CLR_CLB;<br />_delay_ms(1);<br />SET_CLB;<br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1711">cekin</a> — 22 lut 2019, o 17:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-02-22T16:58:23+01:00</updated>
<published>2019-02-22T16:58:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216825#p216825</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216825#p216825"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216825#p216825"><![CDATA[
no i tak teraz wszyscy mają się domyślać co kolega napisał w swoim kodzie, żeby zgadywać co może być nie tak ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lut 2019, o 16:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cekin]]></name></author>
<updated>2019-02-22T16:52:35+01:00</updated>
<published>2019-02-22T16:52:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216824#p216824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216824#p216824"/>
<title type="html"><![CDATA[Re: Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216824#p216824"><![CDATA[
Otrzymałem już układ scalony. Niestety napisany przeze mnie program nie działa prawidłowo. Może ktoś pomoże mi nawiązać komunikacje z tym scalakiem. <br /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1711">cekin</a> — 22 lut 2019, o 16:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cekin]]></name></author>
<updated>2019-02-19T15:59:39+01:00</updated>
<published>2019-02-19T15:59:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216774#p216774</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216774#p216774"/>
<title type="html"><![CDATA[Bibioteka do SAA 1060]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21981&amp;p=216774#p216774"><![CDATA[
Witam,<br />Próbowałem napisać program ale nie potrafię ugryźć tego scalaka. Co prawda nie posiadam go jeszcze do testów. <br />Czy ktoś pokusił by się o na pisanie programu. Chciałbym nim sterować wyświetlacz 14-segmentowy. Jestem <span style="color: #40BF00">zielony</span>.  Zamieszczę poniżej link do dadasheet:<br /><a href="http://www.datasheetcatalog.com/datasheets_pdf/S/A/A/1/SAA1060.shtml"  class="postlink">http://www.datasheetcatalog.com/datasheets_pdf/S/A/A/1/SAA1060.shtml</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1711">cekin</a> — 19 lut 2019, o 15:59</p><hr />
]]></content>
</entry>
</feed>