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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-22T08:18:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=10625&amp;mode</id>
<entry>
<author><name><![CDATA[boss999]]></name></author>
<updated>2015-03-22T08:18:33+01:00</updated>
<published>2015-03-22T08:18:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=124186#p124186</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=124186#p124186"/>
<title type="html"><![CDATA[Re: Problem z komunikacją z padem PS2.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=124186#p124186"><![CDATA[
Zasilam pada cały czas z 3V3 teraz przez stabilizator wcześniej dla wygody podłączyłem pod regulowaną przetwornice i pad nie działał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8140">boss999</a> — 22 mar 2015, o 08:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marek.sobotka@wp.pl]]></name></author>
<updated>2015-03-17T13:06:25+01:00</updated>
<published>2015-03-17T13:06:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=123729#p123729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=123729#p123729"/>
<title type="html"><![CDATA[Re: Problem z komunikacją z padem PS2.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=123729#p123729"><![CDATA[
Z ciekawości czym teraz zasilasz pada? Bo mam podobne problemy. Napięcie 3,3 V czy 5 V?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6677">marek.sobotka@wp.pl</a> — 17 mar 2015, o 13:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[boss999]]></name></author>
<updated>2015-02-12T22:05:23+01:00</updated>
<published>2015-02-12T22:05:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118652#p118652</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118652#p118652"/>
<title type="html"><![CDATA[Re: Problem z komunikacją z padem PS2.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118652#p118652"><![CDATA[
<strong>anshar</strong> brakuje ale nie to jest przyczyną braku komunikacji. <br /><br />Okazało się że program działa, problemem jest zasilanie pada. Do zasilania wykorzystałem przetwornicę na LM2596, po podłączeniu pada pod układ nie ma komunikacji, po podłączeniu zasilania pada z innego zasilacza komunikacja rusza i wszystko jest OK.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8140">boss999</a> — 12 lut 2015, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-02-12T11:04:21+01:00</updated>
<published>2015-02-12T11:04:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118563#p118563</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118563#p118563"/>
<title type="html"><![CDATA[Re: Problem z komunikacją z padem PS2.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118563#p118563"><![CDATA[
Nie brakuje czasem<br /><br />[syntax=c]DDRD |= (1&lt;&lt;PD0);[/syntax]<br /><br />w pierwszym pliku z main?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 12 lut 2015, o 11:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[boss999]]></name></author>
<updated>2015-02-12T10:51:53+01:00</updated>
<published>2015-02-12T10:51:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118560#p118560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118560#p118560"/>
<title type="html"><![CDATA[Problem z komunikacją z padem PS2.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10625&amp;p=118560#p118560"><![CDATA[
Witam <br />Chciałem stworzyć prosty układ do sterowania urządzeniami za pomocą pada z konsoli PS2. <br />Komunikacja z padem odbywa się za pomocą interfejsu SPI. Zamieszczam kod który wykorzystałem i dostosowałem ze sprzętową obsługą SPI. Problem polega na tym że na płytce testowej z atmega128 komunikacja z padem działa i wszystko jest ok, po przeniesieniu kodu na atmega8 którą chcę wykorzystać w swoim układzie za nic nie mogę się skomunikować z padem. <br />  <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt; <br />#include &lt;avr/signal.h&gt; <br />#include &quot;pad_library.h&quot;<br />#include &lt;util/delay.h&gt;<br /><br /><br />int main()<br /><br /> {<br /><br />pad_init();<br /><br />DDRB|=(1&lt;&lt;PB1)|(1&lt;&lt;PB2);<br />PORTB|=(1&lt;&lt;PB2);<br />PORTB&amp;=~(1&lt;&lt;PB1);<br /><br /><br /><br /><br />while(1)<br />{<br />read();<br />if left <br />{ <br />PORTD |=1&lt;&lt;PD0;<br />}<br /><br /><br />}<br />return 0;<br />}[/syntax]<br /><br />Biblioteka do pada z której korzystałem.<br />[syntax=c]#ifndef PAD_H_<br />#define PAD_H_<br /><br /><br />#define SPI_PORT PORTB<br />#define MISO (1&lt;&lt;PB4)<br />#define MOSI (1&lt;&lt;PB3)<br />#define SCK(1&lt;&lt;PB5)<br />#define ATT (1&lt;&lt;PB2)//SS<br />#define ACK (1&lt;&lt;PB1)<br /><br />// <br /><br />#define left ((~bajt1)&amp;(1&lt;&lt;7))<br />#define down ((~bajt1)&amp;(1&lt;&lt;6))<br />#define right ((~bajt1)&amp;(1&lt;&lt;5))<br />#define up ((~bajt1)&amp;(1&lt;&lt;4))<br />#define circle ((~bajt2)&amp;(1&lt;&lt;5))<br />#define triangle ((~bajt2)&amp;(1&lt;&lt;4))<br />#define cross ((~bajt2)&amp;(1&lt;&lt;6))<br />#define square ((~bajt2)&amp;(1&lt;&lt;7))<br />#define L2 ((~bajt2)&amp;(1&lt;&lt;0))<br />#define L1 ((~bajt2)&amp;(1&lt;&lt;2))<br />#define R1 ((~bajt2)&amp;(1&lt;&lt;3))<br />#define R2 ((~bajt2)&amp;(1&lt;&lt;1))<br />#define joyright ((~bajt1)&amp;(1&lt;&lt;1))<br />#define joyleft ((~bajt1)&amp;(1&lt;&lt;2))<br />//#define right_hor bajt3<br />//#define right_ver bajt4<br />//#define left_hor bajt5<br />//#define left_ver bajt6<br />#define start ((~bajt1)&amp;(1&lt;&lt;3))<br />#define select ((~bajt1)&amp;(1&lt;&lt;0))<br /><br />//tu przechowujemy nasze po kolei odbierane bajty<br /><br />volatile int bajt1;<br />volatile int bajt2;<br />volatile int bajt3;<br />volatile int bajt4;<br />volatile int bajt5;<br />volatile int bajt6;<br /><br />void pad_init(void);<br />int acknowledge(void);<br />int command (uint8_t cmd);<br />int koniec_trans (void);<br />int read (void);<br /><br /><br />#endif /* PAD_H_ */[/syntax]<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;pad_library.h&quot;<br /><br /><br />void pad_init(void)<br />{<br /><br />DDRB|= MOSI|SCK|ATT;<br />DDRB&amp;=~(MISO|ACK);<br />SPCR|=(1&lt;&lt;SPE)|(1&lt;&lt;DORD)|(1&lt;&lt;MSTR)|(1&lt;&lt;CPOL)|(0&lt;&lt;SPR0) |(1&lt;&lt;CPHA);  //SĄ DATASHEETY?<br /><br />}<br /><br /><br />// w tej funkcji sprawdzamy czy pad odpowiada<br />int acknowledge(void)<br />{<br />uint8_t status_connection = 1;<br />uint8_t ind_wait;<br />//w ciągu 60us, pad powinien potwierdzić odebranie komendy<br />for (ind_wait = 0; ind_wait &lt; 300; ind_wait++)<br />{<br />if ((SPI_PORT &amp; ACK) == 0)<br />{<br />status_connection = 0; //flaga oznacza poprawne nawiązanie transmisji<br />break;<br />}<br />}<br />return status_connection;<br />}<br /><br /><br />//tu wysyłamy i odbieramy stuff<br />int command (uint8_t cmd)<br />{<br />SPDR = cmd;<br />while(!(SPSR&amp;(1&lt;&lt;SPIF)));<br />return SPDR;<br />}<br /><br /><br />//jak transmisja się nie powiedzie, to ją kończymy wiec ustawiamy wszystkie bity na 0<br />// ustawaimy ATT na high...<br />int koniec_trans (void)<br />{<br />SPI_PORT|=ATT;<br /><br />bajt1=0;<br />bajt2=0;<br />bajt3=0;<br />bajt4=0;<br />bajt5=0;<br />bajt6=0;<br /><br />return 0;<br /><br />}<br /><br /><br /><br /><br />int read (void)<br />{<br /><br />uint8_t pad_ID;<br />uint8_t data;<br />SPI_PORT&amp;=~ATT; //wiadomo ATT low<br />command(0x01); //rozpoczynamy transmsję, rozkaz identyfikacji<br />if (acknowledge())koniec_trans();  //sprawdzenie czy kontroler odpowiedział<br />pad_ID=command(0x42);//sprawdzanie ID pada i prosimy kontroler o dane<br />if (acknowledge())koniec_trans();<br />data=command(0xFF);<br />if (acknowledge()) koniec_trans();<br />if(!(data==0x5A)) koniec_trans();<br /><br /><br />bajt1 = command(0xff);<br />if (acknowledge()) koniec_trans();<br /><br />bajt2 = command(0xff);<br />if(pad_ID==0x41){SPI_PORT|=ATT;return 0;} else if(acknowledge()) koniec_trans();<br /><br />bajt3 = command(0xff);<br />if (acknowledge()) koniec_trans();<br /><br />bajt4 = command(0xff);<br />if (acknowledge()) koniec_trans();<br /><br />bajt5 = command(0xff);<br />if (acknowledge()) koniec_trans();<br /><br />bajt6 = command(0xff);<br /><br /><br />SPI_PORT|=ATT;<br /><br /><br /> return 0;<br />}[/syntax]<br /><br />Zamieszczam też schemat. <br /><a href="http://forum.atnel.pl/_obrazki/o/8140/5645f4341487124a9672881e69693247.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/8140/5645f4341487124a9672881e69693247.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8140">boss999</a> — 12 lut 2015, o 10:51</p><hr />
]]></content>
</entry>
</feed>