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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9745&amp;mode</id>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2014-12-19T01:06:13+01:00</updated>
<published>2014-12-19T01:06:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109425#p109425</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109425#p109425"/>
<title type="html"><![CDATA[OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109425#p109425"><![CDATA[
Alan, tak na serio<br />Od 20 lat nie dotykałem C ani mikrokontrolerów, bo tak życie pokierowało inżyniera automatyka brrrr....... <br />Po obejrzeniu poradników i przeczytaniu BlueBooka napisałem bibliotekę do oleda i działa miodzio<br />Zajęło mi to, no.... parę godzin<br />Oczywiście wyłączyłem się na jakieś dwa tygodnie, żeby ogarnąć poradniki i przeczytać BB <br />Po miesiącu swobodnie używam: przerwań, timerow, eventow, callbackow, adc....<br />Naprawdę warto przysiąć i posłuchać. <br />Mirek jest najlepszym pedagogiem jakiego spotkałem od pół wieku, czyli od urodzenia..... <br />Nie żartuję - całkiem na poważnie. Mirka dygresje pomagają wchłonąć trudne tematy, jakie porusza. Nie mówię nawet o tych kawałkach na poważnie - są niesamowite i po prostu uczą.  <br />Nie chodzi tu o jakąś jedną biblioteczkę, tylko w ogóle...... <br />Obejrzyj sobie wieczorkiem wszystko od początku do końca, będziesz miał zupełnie inny ogląd - nie tylko avr ale innych układów i tematów.<br />Udało mi się pare dni temu odpalić kartę altery fpga max10 i zrobić na niej w verilogu (100x łatwiejszy niż C, jak już sobie przypomnisz C haha) usuwanie drgania styków, licznik, wyświetlanie na diodach. Tylko dzięki wykładom Mirka i kilku notom aplikacyjnym. Które nb. Mirek tłumaczy, jak ich używać. <br />To nie tak że się Mirkowi podlizuję czy coś - to jest fakt. <br />Walcz <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />My 2$ <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5966">sq5rix</a> — 19 gru 2014, o 01:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alan Bejnarowicz]]></name></author>
<updated>2014-12-18T21:34:24+01:00</updated>
<published>2014-12-18T21:34:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109388#p109388</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109388#p109388"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109388#p109388"><![CDATA[
<div class="quotetitle">eMCe2 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent">Panie Mirku kiedy pan udostępni biblioteki do Oledów? Będzie jakaś opłata czy najzwyczajniej brak czasu?<br /></div><br /><br />No to już pojechałeś kolego... masz całe biblioteki w filmach... masz do tego adafruita... trochę wkładu własnego! Tak ciężko przepisać z filmów? to na serio popłaca... :/ szkoda gadać... kto mi na emeryturę zarobi jak same lenie teraz :/</div><br /><br />Damy radę. Dziękuję. Naprawdę nie wpadłem na to. Ale na serio. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br />Wysłane z iPad za pomocą Tapatalk<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2551">Alan Bejnarowicz</a> — 18 gru 2014, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2014-12-18T21:30:03+01:00</updated>
<published>2014-12-18T21:30:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109385#p109385</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109385#p109385"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109385#p109385"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Panie Mirku kiedy pan udostępni biblioteki do Oledów? Będzie jakaś opłata czy najzwyczajniej brak czasu?<br /></div><br /><br />No to już pojechałeś kolego... masz całe biblioteki w filmach... masz do tego adafruita... trochę wkładu własnego! Tak ciężko przepisać z filmów? to na serio popłaca... :/ szkoda gadać... kto mi na emeryturę zarobi jak same lenie teraz :/<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 18 gru 2014, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alan Bejnarowicz]]></name></author>
<updated>2014-12-18T20:14:54+01:00</updated>
<published>2014-12-18T20:14:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109371#p109371</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109371#p109371"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109371#p109371"><![CDATA[
Panie Mirku kiedy pan udostępni biblioteki do Oledów? Będzie jakaś opłata czy najzwyczajniej brak czasu?<br /><br /><br />Wysłane z iPad za pomocą Tapatalk<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2551">Alan Bejnarowicz</a> — 18 gru 2014, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-12-18T18:39:43+01:00</updated>
<published>2014-12-18T18:39:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109357#p109357</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109357#p109357"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109357#p109357"><![CDATA[
<div class="quotetitle">kuba napisał(a):</div><div class="quotecontent"><br />Jak podłącze oscyloskop do pinu SCK tak na nim powinienem zobaczyć sygnał zegara ale nic takiego niewidze<br /></div><br />No jak ja bym miał tylko takie błędy to bym się cieszył <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to idealna sytuacja<br /><br />skoro nie widzisz sygnału to masz już połowę rozwiązania ... <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  .... teraz tylko panie w kodzie posprawdzać babole<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 gru 2014, o 18:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kuba]]></name></author>
<updated>2014-12-18T18:23:41+01:00</updated>
<published>2014-12-18T18:23:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109353#p109353</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109353#p109353"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109353#p109353"><![CDATA[
Tak napisałem funkcje do wysłania bufora ale nic<br /><br />Jak podłącze oscyloskop do pinu SCK tak na nim  powinienem zobaczyć sygnał zegara ale nic takiego niewidze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1439">kuba</a> — 18 gru 2014, o 18:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-12-18T17:40:56+01:00</updated>
<published>2014-12-18T17:40:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109348#p109348</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109348#p109348"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109348#p109348"><![CDATA[
<div class="quotetitle">kuba napisał(a):</div><div class="quotecontent"><br />Tak bo to jes tylko inicjalizacja a miał się pokazać jakieś zapalone pixele<br /></div><br />A czy ja mówiłem że one miały się zawsze pokazać ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> mówiłem że pokażą się losowe pixele co może oznaczać że mogą się nawet nie pokazać panie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 gru 2014, o 17:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kuba]]></name></author>
<updated>2014-12-18T16:40:24+01:00</updated>
<published>2014-12-18T16:40:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109336#p109336</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109336#p109336"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109336#p109336"><![CDATA[
Tak bo to jes tylko inicjalizacja a miał się pokazać jakieś zapalone pixele<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1439">kuba</a> — 18 gru 2014, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2014-12-18T16:05:04+01:00</updated>
<published>2014-12-18T16:05:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109327#p109327</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109327#p109327"/>
<title type="html"><![CDATA[Re: OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109327#p109327"><![CDATA[
Chyba nie dokładnie obejrzałeś poradniki lub nie przepisałeś wszystkiego, bo na pewno brakuje funkcji wyrzucającej bufor na wyświetlacz. A tak w ogóle, to w Twoim programie nawet nie ma czego wysłać na wyświetlacz bo nie wypełniasz bufora danymi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=290">Piotrek_P</a> — 18 gru 2014, o 16:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kuba]]></name></author>
<updated>2014-12-18T16:00:12+01:00</updated>
<published>2014-12-18T16:00:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109325#p109325</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109325#p109325"/>
<title type="html"><![CDATA[OLED  SSD1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9745&amp;p=109325#p109325"><![CDATA[
Witam<br />Proszę was, o pomo z kodem który przepis z poradnika Pana Mirka chyba gdzieś popełniłem błąd  nie mogę go znaleźć.<br /><br />mk_ssd1306.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;mk_ssd1306.h&quot;<br /><br /><br />uint8_t ssd1306_buf&#91;1024&#93; = {<br /><br />};<br /><br /><br />static void SPIwrite( uint8_t dat ) {<br /><br />uint8_t i;<br />for (i = 0x80; i; i &gt;&gt;= 1) {<br />SCK_LO;<br />if (dat &amp; i) MOSI_HI;<br />else MOSI_LO;<br />SCK_HI;<br />}<br />}<br /><br />void mk_ssd1306_cmd( uint8_t cmd ) {<br /><br />#if USE_CS == 1<br />CS_HI;<br />#endif<br /><br />DC_LO;<br /><br />#if USE_CS == 1<br />CS_LO;<br />#endif<br /><br />SPIwrite( cmd );<br /><br />#if USE_CS == 1<br />CS_HI;<br />#endif<br />}<br /><br />void mk_ssd1306_data ( uint8_t dat ) {<br /><br />#if USE_CS == 1<br />CS_HI;<br />#endif<br /><br />DC_HI;<br /><br />#if USE_CS == 1<br />CS_LO;<br />#endif<br /><br />SPIwrite( dat );<br /><br />#if USE_CS == 1<br />CS_HI;<br />#endif<br />}<br /><br />void ssd1306_InitSpi(void){<br /><br />MOSI_DDR |= MOSI;<br /><br />SCK_DDR |= SCK;<br />SCK_DDR |= SCK;<br /><br />#if USE_RST == 1<br />RST_DDR |= RST;<br />RST_PORT |= RST;<br />#endif<br /><br />DC_DDR |= DC;<br /><br />#if USE_CS == 1<br />CS_DDR |= CS;<br />CS_PORT |= CS;<br />#endif<br />}<br /><br />void mk_ssd1306_init( uint8_t vcc, uint8_t refresh ){<br /><br />ssd1306_InitSpi();<br /><br />#if USE_RST == 1<br />RST_HI;<br />_delay_ms(25);<br />RST_LO;<br />_delay_ms(25);<br />RST_HI;<br />#else<br />CS_HI;<br />_delay_ms(50);<br />CS_LO;<br />_delay_ms(50);<br />CS_HI;<br />#endif<br /><br />mk_ssd1306_cmd(SSD1306_DISPLAYOFF);<br />mk_ssd1306_cmd(SSD1306_SETDDISPLAYCLOCKDIV);<br />mk_ssd1306_cmd(refresh);<br /><br />mk_ssd1306_cmd(SSD1306_SETDISPLAYOFFSET);<br />mk_ssd1306_cmd(0x0);<br />mk_ssd1306_cmd(SSD1306_SETSTARTLINE | 0x0);<br />mk_ssd1306_cmd(SSD1306_CHARGRPUMPE);<br /><br />if (vcc == SSD1306_EXTERNALVCC) mk_ssd1306_cmd(0x10);<br />else mk_ssd1306_cmd(0x14);<br /><br />mk_ssd1306_cmd(SSD1306_MEMORYMODE);<br />mk_ssd1306_cmd(0x00);<br />mk_ssd1306_cmd(SSD1306_SEGREMAP |0x1);<br />mk_ssd1306_cmd(SSD1306_COMSCANDEC);<br /><br />mk_ssd1306_cmd(SSD1306_SETCONTRAST);<br /><br />if (vcc == SSD1306_EXTERNALVCC) mk_ssd1306_cmd(0x9F);<br />else mk_ssd1306_cmd(0xCF);<br /><br />mk_ssd1306_cmd(SSD1306_SETPRECHARGE);<br /><br />// SSD1306 - 128 x 32<br />#if defined SSD1306_128_32<br />mk_ssd1306_cmd(SSD1306_SETMULTIPLX);<br />mk_ssd1306_cmd(0x1F);<br /><br />mk_ssd1306_cmd(SSD1306_SETCOMPINS);<br />mk_ssd1306_cmd(0x02);<br />#endif<br /><br />// SSD1306 - 128 x 64<br />#if defined SSD1306_128_64<br />mk_ssd1306_cmd(SSD1306_SETMULTIPLX);<br />mk_ssd1306_cmd(0x3F);<br /><br />mk_ssd1306_cmd(SSD1306_SETCOMPINS);<br />mk_ssd1306_cmd(0x12);<br />#endif<br /><br />mk_ssd1306_cmd(SSD1306_DISPLAYALLON_RESUME);<br />mk_ssd1306_cmd(SSD1306_NORMALDISPLAY);<br /><br />mk_ssd1306_cmd(SSD1306_DISPLAYON);<br /><br /><br /><br />}[/syntax]<br /><br />mk_ssd1306.h<br />[syntax=c]#ifndef MK_OLED_MK_SSD1306_H_<br />#define MK_OLED_MK_SSD1306_H_<br /><br />// rozliseni LCD/OLD<br />#define SSD1306_128_64<br />//   #define SSD1306_128_32<br /><br />#define USE_CS     1<br />#define USE_RST    0<br /><br />#define SCK (1&lt;&lt;7)                //   &lt;----- SCL<br />#define MOSI (1&lt;&lt;6)              //   &lt;----- SDA<br />#define RST (1&lt;&lt;5)              //   &lt;----- RST<br />#define DC (1&lt;&lt;4)              //   &lt;----- D/C<br /><br />#define CS (1&lt;&lt;5)            //   &lt;----- CS<br /><br />#define SCK_PORT        PORTC<br />#define SCK_DDR         DDRC<br /><br />#define MOSI_PORT       PORTC<br />#define MOSI_DDR        DDRC<br /><br />#define RST_PORT        PORTC<br />#define RST_DDR         DDRC<br /><br />#define DC_PORT         PORTC<br />#define DC_DDR          DDRC<br /><br />#define CS_PORT         PORTC<br />#define CS_DDR          DDRC<br /><br />#define RST_LO  RST_PORT &amp;= ~RST<br />#define RST_HI  RST_PORT |= RST<br /><br />#define CS_LO  CS_PORT &amp;= ~CS<br />#define CS_HI  CS_PORT |= CS<br /><br />#define DC_LO  DC_PORT &amp;= ~DC<br />#define DC_HI  DC_PORT |= DC<br /><br />#define SCK_LO  SCK_PORT &amp;= ~SCK<br />#define SCK_HI  SCK_PORT |= SCK<br /><br />#define MOSI_LO  MOSI_PORT &amp;= ~MOSI<br />#define MOSI_HI  MOSI_PORT |= MOSI<br /><br />#define SSD1306_WIDTH        128<br /><br />#if defined SSD1306_128_64<br /> #define SSD1306_HEIGHT        64<br />#endif<br />#if defined SSD1306_128_32<br /> #define SSD1306_HEIGHT       32<br />#endif<br /><br />#define REFRESH_MIN 0x80<br />#define REFRESH_MID 0xB0<br />#define REFRESH_MAX 0xF0<br /><br /><br /><br />#define SSD1306_SETCONTRAST 0x81<br />#define SSD1306_DISPLAYALLON_RESUME 0xA4<br />#define SSD1306_DISPLAYALLON 0xA5<br />#define SSD1306_NORMALDISPLAY 0xA6<br />#define SSD1306_INVERDISPLAY 0xA7<br />#define SSD1306_DISPLAYOFF 0xAE<br />#define SSD1306_DISPLAYON 0xAF<br /><br />#define SSD1306_SETDISPLAYOFFSET 0xD3<br />#define SSD1306_SETCOMPINS 0xDA<br /><br />#define SSD1306_SETVCMDETECT 0xDB<br /><br />#define SSD1306_SETDDISPLAYCLOCKDIV 0xD5<br />#define SSD1306_SETPRECHARGE 0xD9<br /><br />#define SSD1306_SETMULTIPLX 0xA8<br /><br />#define SSD1306_SETLOWCOLUMN 0x00<br />#define SSD1306_SETHIGHCOLUMN 0x10<br /><br />#define SSD1306_SETSTARTLINE 0x40<br /><br />#define SSD1306_MEMORYMODE 0x20<br /><br />#define SSD1306_COMSCANINC 0xC0<br />#define SSD1306_COMSCANDEC 0xC8<br /><br />#define SSD1306_SEGREMAP 0xA0<br /><br />#define SSD1306_CHARGRPUMPE 0x8D<br /><br />#define SSD1306_EXTERNALVCC 0x1<br />#define SSD1306_SWITCHCAPVCC 0x2<br /><br />//SCROLLING<br />#define SSD1306_ACTIVATE_SCROLL 0x2F<br />#define SSD1306_DEACTIVATE_SCROLL 0x2E<br />#define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3<br />#define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26<br />#define SSD1306_LEFT_HORIZONTALSCROLL 0x27<br />#define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29<br />#define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A<br /><br /><br /><br />// deklaracja funkcji<br /><br />void mk_ssd1306_init( uint8_t vcc, uint8_t refresh );<br />void mk_ssd1306_cmd( uint8_t cmd );<br />void mk_ssd1306_data ( uint8_t dat );<br /><br />#endif /* MK_OLED_MK_SSD1306_H_ */[/syntax]<br />main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;MK_OLED/mk_ssd1306.h&quot;<br /><br />int main(void){<br /><br />DDRA |= (1&lt;&lt;PA0);<br /><br />mk_ssd1306_init(SSD1306_SWITCHCAPVCC, REFRESH_MIN);<br /><br /><br />while(1){<br /><br /><br />PORTA ^= (1&lt;&lt;PA0);<br />_delay_ms(250);<br /><br /><br />}<br />}[/syntax]<br /><br />Dziękuję bardzo<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1439">kuba</a> — 18 gru 2014, o 16:00</p><hr />
]]></content>
</entry>
</feed>