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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-03T17:37:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=8705&amp;mode</id>
<entry>
<author><name><![CDATA[piotrek1990jk]]></name></author>
<updated>2014-10-03T17:37:04+01:00</updated>
<published>2014-10-03T17:37:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97573#p97573</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97573#p97573"/>
<title type="html"><![CDATA[Re: [C] Atmega 32 i moduł and-tech ethernet v2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97573#p97573"><![CDATA[
Przepraszam najmocniej kolegów z forum. Posty poprawiłem i myślę, ze teraz powinno być <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Wrzuciłem main.c, Kod w nim trochę jeszcze niepoprawiony. Sprawa wygląda tak, że serwer WWW działa sobie po swojemu a sterownik po swojemu. Musze to jakoś połączyć. Zmiana nastawy serwa odbywa się poprzez zmianę temperatury  w zmiennej &quot;temp_ciepla&quot;  oraz zależnej od niej &quot;temp_zadana&quot; w pliku pomiary.c, w tych funkcjach: <br />[syntax=c]/* =====INICJALIZACJA POMIAROW Z DS18B20 I USTAWIANIE POZYCJI SERWA  */<br />pomiar_2();<br />pokaz_temp_zadana();<br />ustaw_temp_zadana();<br />ustaw_serwo();[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6018">piotrek1990jk</a> — 3 paź 2014, o 17:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-10-03T17:21:44+01:00</updated>
<published>2014-10-03T17:21:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97572#p97572</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97572#p97572"/>
<title type="html"><![CDATA[Re: [C] Atmega 32 i moduł and-tech ethernet v2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97572#p97572"><![CDATA[
Kolego ty chyba nie rozumiesz jednego .... biblioteki p. Mirka są dla tych co maja BB ... skoro masz go ty i ja i inni to sami sobie je podegramy ... a osoby które ich nie mają no cóż niech kupią BB<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 3 paź 2014, o 17:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[piotrek1990jk]]></name></author>
<updated>2014-10-03T17:12:51+01:00</updated>
<published>2014-10-03T17:12:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97571#p97571</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97571#p97571"/>
<title type="html"><![CDATA[Re: [C] Atmega 32 i moduł and-tech ethernet v2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97571#p97571"><![CDATA[
Przepraszam najmocniej. Z ele..... już poprawiłem, tu myślę że może zostać. I myslę że Pan Mirek mi wybaczy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6018">piotrek1990jk</a> — 3 paź 2014, o 17:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamekp]]></name></author>
<updated>2014-10-03T16:57:22+01:00</updated>
<published>2014-10-03T16:57:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97569#p97569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97569#p97569"/>
<title type="html"><![CDATA[Re: [C] Atmega 32 i moduł and-tech ethernet v2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97569#p97569"><![CDATA[
Kolego,<br />rozumiemy Twój goniący termin ale umieszczanie bibliotek P. Mirka na elek....e to istny brak szacunku dla jego pracy.<br /><br />Skasuj ten załącznik i umieść w nim tylko niezbędne biblioteki pomijając te z BB.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1298">adamekp</a> — 3 paź 2014, o 16:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[piotrek1990jk]]></name></author>
<updated>2014-10-03T17:35:59+01:00</updated>
<published>2014-10-03T16:06:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97559#p97559</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97559#p97559"/>
<title type="html"><![CDATA[[C] Atmega 32 i moduł and-tech ethernet v2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8705&amp;p=97559#p97559"><![CDATA[
Witam!<br />Mój problem polega na tym, że muszę podłączyć atmege do Internetu. Posiadam gotowy moduł uruchomieniowy EvB 4.3 + Ethernet v2. Sterownik oparty na atmedze ma sterować temperaturą wody i jeśli chodzi o jego działanie to wszystko jest oki. Za pomoca przycisków zmienia się temperaturę zadaną i serwo zmienia swój kąt obrotu. Uruchomiłem też na niej serwer WWW, ale sterownik nie wymienia z nim żadnych informacji. Na razie to dwa oddzielne programy. Nie wiem jak je połaczyć ze sobą. Dodam, że programując to wszystko opierałem się na książce Pana Mirosława Kardasia. <br />Chcę zrobić tak aby na stronie www, wyświetlały się temperatury z 3 czujników ds18b20 i aby mozna było wpisać zadaną temperaturę a następnie żeby atmega ją pobrała ( i wtedy juz powinno polecieć dalej samo). <br /><br />Pomoże ktoś jak to ogarnąć? Odwdzięczę się <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Program pisałem w WinAVR. Nie ukrywam, ze czas mnie trochę nagli <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  <br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;ip_arp_udp_tcp.h&quot;<br />#include &quot;enc28j60.h&quot;<br />#include &quot;crc8.h&quot;<br />#include &quot;ds18x20.h&quot;<br />#include &quot;lcd44780.h&quot;<br />#include &quot;onewire.h&quot;<br />#include &quot;USART.h&quot;<br />#include &quot;timery.h&quot;<br />#include &quot;net.h&quot;<br />#include &quot;ip_config.h&quot;<br /><br />// ustalamy adres MAC<br />static uint8_t mymac&#91;6&#93; = {0x54,0x55,0x58,0x10,0x00,0x29};<br />// ustalamy adres IP urządzenia<br />static uint8_t myip&#91;4&#93; = {192,168,1,110};<br /><br />// server listen port for www<br />#define MYWWWPORT 80<br /><br />#define BUFFER_SIZE 850<br />static uint8_t buf&#91;BUFFER_SIZE+1&#93;;<br /><br />const char http_head&#91;&#93; PROGMEM = &quot;HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n&quot;;<br /><br />uint16_t http200ok(void)<br />{<br />        return(fill_tcp_data_p(buf,0,http_head));<br />}<br /><br />// prepare the webpage by writing the data to the tcp send buffer<br />uint16_t print_webpage(uint8_t *buf)<br />{<br />        uint16_t plen;<br />        plen=http200ok();<br />        plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;pre&gt;&quot;));<br />        plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;font color='red' size='10' &gt;&lt;b&gt;ATmega 32&lt;/b&gt;\n&lt;/font&gt;&quot;));<br />        plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;font color='blue'&gt;&lt;i&gt;Sterownik temperatury wody użytkowej&lt;/i&gt;\n\n&lt;/font&gt;&quot;));<br />       <br />        //plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;/pre&gt;\n&quot;));<br />        return(plen);<br />}<br /><br />void display_temp(uint8_t x);<br /><br />uint8_t czujniki_cnt;/* ilość czujników na magistrali */<br />volatile uint8_t s1_flag;/* flaga tyknięcia timera co 1 sekundę */<br />volatile uint8_t sekundy;/* licznik sekund 0-59 */<br /><br /><br />uint8_t subzero, cel, cel_fract_bits; <br /><br />int main(void) {<br /><br /><br />uint16_t dat_p;<br />        <br />        // set the clock speed to 8MHz<br />        // set the clock prescaler. First write CLKPCE to enable setting of clock the<br />        // next four instructions.<br />//        CLKPR=(1&lt;&lt;CLKPCE);<br />//        CLKPR=0; // 8 MHZ<br />//        _delay_loop_1(0); // 60us<br />        <br />        //initialize the hardware driver for the enc28j60<br />        enc28j60Init(mymac);<br />//        enc28j60clkout(2); // change clkout from 6.25MHz to 12.5MHz<br />//        _delay_loop_1(0); // 60us<br />        enc28j60PhyWrite(PHLCON,0x476);<br />        <br />        //init the ethernet/ip layer:<br />        init_ip_arp_udp_tcp(mymac,myip,MYWWWPORT);<br /><br />        sei();<br /><br /><br /><br /><br />DDRA |= (1&lt;&lt;PA7);// ustawiamy kierunek linii podświetlenia LCD jako WYJŚCIE<br />PORTA |= (1&lt;&lt;PA7);// załączamy podświetlenie LCD - stan wysoki<br /><br />  DDRC |= (0&lt;&lt;PC7) | (0&lt;&lt;PC6) | (0&lt;&lt;PC5); /*pb7 to pok.temp a pb6 pb5 to zadaj temp*/<br />PORTC |= (1&lt;&lt;PC7) | (1&lt;&lt;PC6) | (1&lt;&lt;PC5); /*podciagniecie do vcc*/<br /><br /><br /><br /><br /><br />lcd_init();/* inicjalizacja LCD */<br />ustaw_timer0 ();/*inicjalizacja Timer0*/<br />ustaw_timer1 ();<br />//ustaw_USART ();<br /><br />OCR1A=30;<br />pomiar_1();<br /><br /><br /><br /><br />/* pętla nieskończona */<br />while(1) <br />{<br /><br />/* =====INICJALIZACJA POMIAROW Z DS18B20 I USTAWIANIE POZYCJI SERWA  */<br />pomiar_2();<br />pokaz_temp_zadana();<br />ustaw_temp_zadana();<br />ustaw_serwo();<br /><br /><br /><br />/* ================CZESC ODPOWIEDZIALNA ZA SERWER WWW */<br /><br /> // read packet, handle ping and wait for a tcp packet:<br />                dat_p=packetloop_icmp_tcp(buf,enc28j60PacketReceive(BUFFER_SIZE, buf));<br /><br />                /* dat_p will be unequal to zero if there is a valid <br />                 * http get */<br />                if(dat_p==0){<br />                        // no http request<br />                        continue;<br />                }<br />                // tcp port 80 begin<br />                if (strncmp(&quot;GET &quot;,(char *)&amp;(buf&#91;dat_p&#93;),4)!=0){<br />                        // head, post and other methods:<br />                        dat_p=http200ok();<br />                        dat_p=fill_tcp_data_p(buf,dat_p,PSTR(&quot;&lt;h1&gt;200 OK&lt;/h1&gt;&quot;));<br />                        goto SENDTCP;<br />                }<br />                // just one web page in the &quot;root directory&quot; of the web server<br />                if (strncmp(&quot;/ &quot;,(char *)&amp;(buf&#91;dat_p+4&#93;),2)==0){<br />dat_p=print_webpage(buf);<br />                        goto SENDTCP;<br />                }else{<br />                        dat_p=fill_tcp_data_p(buf,0,PSTR(&quot;HTTP/1.0 401 Unauthorized\r\nContent-Type: text/html\r\n\r\n&lt;h1&gt;401 Unauthorized&lt;/h1&gt;&quot;));<br />                        goto SENDTCP;<br />                }<br />SENDTCP:<br />                www_server_reply(buf,dat_p); // send web page data<br />                // tcp port 80 end<br /><br /><br /><br /><br /><br /><br /><br /><br />} /* koniec pętli nieskończonej */<br />}[/syntax]<br /><br /><br /><br /><br /><br /> <br /><span style="color: #FF0000">Nie umieszczamy na forum kodów z książki</span> <span style="color: #80FF00">rezasurmar</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6018">piotrek1990jk</a> — 3 paź 2014, o 16:06</p><hr />
]]></content>
</entry>
</feed>