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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-03-19T16:45:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=14901&amp;mode</id>
<entry>
<author><name><![CDATA[Batat]]></name></author>
<updated>2016-03-19T16:45:23+01:00</updated>
<published>2016-03-19T16:45:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14901&amp;p=156527#p156527</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14901&amp;p=156527#p156527"/>
<title type="html"><![CDATA[Wyświetlacz graficzny LCD 320x240 z 7 kontrolerami NT7086]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14901&amp;p=156527#p156527"><![CDATA[
Potrzebuję pomocy z obsługą wyświetlacza graficznego LCD 320x240 opartego na 7 kontrolerach NT7086 (<a href="http://www.densitron.com/uploadedFiles/Displays/Support/NT7086.pdf"  class="postlink">dokumentacja</a>) i nie wyposażonego w żaden sterownik z pamięcią RAM. Interfejs 4-bit oraz sygnały: FRAME, M, LP, CP.<br />Model wyświetlacza: RG320240A-FHW-X (<a href="http://www.tme.eu/pl/Document/93d5e69aa5eaf34a331085afd1cc4cea/RG320240A-FHW-V.pdf"  class="postlink">dokumentacja</a>).<br />Procesor sterujący: ATxmega128A3U-AU.<br /><br />Z pionowymi liniami nie mam problemu, natomiast przy próbie wyświetlenia poziomych pojawia się problem, zamiast linii wszystkie piksele zostają zapalone, zgaszone lub część świeci mocniej, a reszta słabiej (mocniejsze i słabsze pionowe linie).<br /><br />Jakieś pomysły co robię źle?<br /><br /><strong>Definicje:</strong><br />[syntax=c]#define NT_PORTPORTB<br /><br />#define NT_DB0_bmPIN0_bm<br />#define NT_DB1_bmPIN1_bm<br />#define NT_DB2_bmPIN2_bm<br />#define NT_DB3_bmPIN3_bm<br />#define NT_ONOFF_bmPIN4_bm<br />#define NT_M_bmPIN5_bm<br />#define NT_LP_bmPIN6_bm<br />#define NT_CP_bmPIN7_bm<br /><br />#define NT_FRAME_PORTPORTA<br />#define NT_FRAMEPIN7_bm[/syntax]<br /><strong>Ustawienia pinów:</strong><br />[syntax=c]NT_PORT.DIRSET=NT_DB0_bm | NT_DB1_bm | NT_DB2_bm | NT_DB3_bm | NT_LP_bm | NT_CP_bm | NT_M_bm | NT_ONOFF_bm;<br />NT_PORT.OUTSET=NT_ONOFF_bm;<br />NT_PORT.OUTCLR=NT_DB0_bm | NT_DB1_bm | NT_DB2_bm | NT_DB3_bm | NT_LP_bm | NT_CP_bm | NT_M_bm;<br />NT_FRAME_PORT.DIRSET=NT_FRAME;[/syntax]<br /><strong>Funkcja wyświetlania linii pionowych (wywoływana co 10 ms):</strong><br />[syntax=c]void display(void)<br />{<br />NT_FRAME_PORT.OUTSET=NT_FRAME;// sygnał FRAME<br />_delay_loop_1(1);<br /><br />NT_PORT.OUTTGL=NT_M_bm;// zmiana sygnału M na przeciwny<br /><br />for(uint8_t j=0; j&lt;240; j++)<br />{<br />for(uint8_t i=0; i&lt;80; i++)<br />{<br />NT_PORT.OUTSET=NT_DB0_bm | NT_DB2_bm;// sygnały wyjściowe<br />NT_PORT.OUTCLR=NT_DB1_bm | NT_DB3_bm;<br />_delay_loop_1(1);<br />NT_PORT.OUTSET=NT_CP_bm;// sygnał CP (data shift)<br />_delay_loop_1(1);<br />NT_PORT.OUTCLR=NT_CP_bm;<br />_delay_loop_1(1);<br />}<br />_delay_loop_1(1);<br />NT_PORT.OUTSET=NT_LP_bm;// sygnał LOAD (data latch)<br />_delay_loop_1(1);<br />NT_PORT.OUTCLR=NT_LP_bm;<br />}<br />NT_FRAME_PORT.OUTSET=NT_FRAME;// sygnał FRAME<br />}[/syntax]<br /><strong>Funkcja wyświetlania linii poziomych (wywoływana co 10 ms):</strong><br />[syntax=c]void display2(void)<br />{<br />test+=5;<br />NT_FRAME_PORT.OUTSET=NT_FRAME;// sygnał FRAME<br />_delay_loop_1(1);<br /><br />NT_PORT.OUTTGL=NT_M_bm;// zmiana sygnału M na przeciwny<br /><br />for(uint8_t j=0; j&lt;240; j++)<br />{<br />for(uint8_t i=0; i&lt;80; i++)<br />{<br />if(test &lt; 127)<br />{<br />if(j &gt; 40 &amp;&amp; j &lt; 120)<br />NT_PORT.OUTCLR=NT_DB0_bm | NT_DB1_bm | NT_DB2_bm | NT_DB3_bm;<br />else<br />NT_PORT.OUTSET=NT_DB0_bm | NT_DB1_bm | NT_DB2_bm | NT_DB3_bm;<br />}<br />else<br />{<br />NT_PORT.OUTSET=NT_DB0_bm | NT_DB1_bm;// sygnały wyjściowe<br />NT_PORT.OUTCLR=NT_DB2_bm | NT_DB3_bm;<br />}<br />_delay_loop_1(1);<br />NT_PORT.OUTSET=NT_CP_bm;// sygnał CP (data shift)<br />_delay_loop_1(1);<br />NT_PORT.OUTCLR=NT_CP_bm;<br />_delay_loop_1(1);<br />}<br />_delay_loop_1(1);<br />NT_PORT.OUTSET=NT_LP_bm;// sygnał LOAD (data latch)<br />_delay_loop_1(1);<br />NT_PORT.OUTCLR=NT_LP_bm;<br />}<br />NT_FRAME_PORT.OUTSET=NT_FRAME;// sygnał FRAME<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2226">Batat</a> — 19 mar 2016, o 16:45</p><hr />
]]></content>
</entry>
</feed>