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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-05-31T07:43:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7433&amp;mode</id>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-31T07:43:10+01:00</updated>
<published>2015-05-31T07:43:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=130470#p130470</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=130470#p130470"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=130470#p130470"><![CDATA[
Po wymianie termometru wszytko działa prawidłowo. Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 31 maja 2015, o 07:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-05-12T16:20:51+01:00</updated>
<published>2015-05-12T16:20:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128965#p128965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128965#p128965"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128965#p128965"><![CDATA[
No raczej powinno być coś jak 23.3. U mnie wyświetla prawidłowo, z biblioteką do LCD, którą zamieściłeś wyżej. Pokaż jeszcze raz Twój main.c, może tam jest jakiś mały babol jeszcze. A taktowanie ustwiłeś na 8MHz i w procku i w projekcie, tak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 12 maja 2015, o 16:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-11T21:41:18+01:00</updated>
<published>2015-05-11T21:41:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128906#p128906</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128906#p128906"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128906#p128906"><![CDATA[
Hahahaha. Wydaje mi się ze właśnie powinno być cieplej. Kupię jeszcze drugi czujnik i to sprawdze .Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 11 maja 2015, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-05-11T21:28:58+01:00</updated>
<published>2015-05-11T21:28:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128905#p128905</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128905#p128905"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128905#p128905"><![CDATA[
3.3? Tak zimno masz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 11 maja 2015, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-11T21:26:30+01:00</updated>
<published>2015-05-11T21:26:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128903#p128903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128903#p128903"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128903#p128903"><![CDATA[
Wyświetla się 3.3 <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=3370">mati7828</a> — 11 maja 2015, o 21:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-05-11T21:16:34+01:00</updated>
<published>2015-05-11T21:16:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128902#p128902</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128902#p128902"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128902#p128902"><![CDATA[
Masz rację z tą biblioteką do LCD, coś jest z nią nie tak. Ta Twoja za to jest OK.<br />Masz jeden błąd w pliku main.c, a mianowicie jest:<br />[syntax=c]#define DIR_1WIRE_IN DDRD &amp;=~(1&lt;&lt;PIN_1WIRE)<br />    #define DIR_1WIRE_OUT DDRD |=(1&lt;&lt;PIN_1WIRE)[/syntax]<br /><br />a powinno być:<br />[syntax=c]#define DIR_1WIRE_IN DDRC &amp;=~(1&lt;&lt;PIN_1WIRE)<br />    #define DIR_1WIRE_OUT DDRC |=(1&lt;&lt;PIN_1WIRE)[/syntax]<br /><br />Przepraszam za zamieszanie, tak to jest jak się nie sprawdzi.  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Po zmianie działa jak trzeba, sprawdziłem tym razem na żywym organiźmie.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 11 maja 2015, o 21:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-11T18:29:23+01:00</updated>
<published>2015-05-11T18:29:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128869#p128869</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128869#p128869"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128869#p128869"><![CDATA[
Nic się nie wyświetla na wyświetlaczu. Gdy kiedyś korzystałem z tej biblioteki obsługującej wyświetlacz, miałem problem. Nie wiem czym to było spowodowane. Aktualnie korzystam z tej. Gdy twój plik main.c skopiowałem i użyłem mojej biblioteki na wyświetlaczu wyświetlił się napis &quot;Nie działa&quot;. Wydaje mi się <br />[syntax=c]//-------------------------------------------------------------------------------------------------<br />// Wyświetlacz alfanumeryczny ze sterownikiem HD44780<br />// Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości<br />// z dowolnym przypisaniem sygnałów sterujących<br />// Plik : hd44780.c<br />// Mikrokontroler : Atmel AVR<br />//-------------------------------------------------------------------------------------------------<br /><br />#include &quot;hd44780.h&quot;<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja wystawiająca półbajt na magistralę danych<br />//<br />//-------------------------------------------------------------------------------------------------<br />void _LCD_OutNibble(unsigned char nibbleToWrite)<br />{<br /><br />if(nibbleToWrite &amp; 0x01)<br />LCD_DB4_PORT |= LCD_DB4;<br />else<br />LCD_DB4_PORT  &amp;= ~LCD_DB4;<br /><br />if(nibbleToWrite &amp; 0x02)<br />LCD_DB5_PORT |= LCD_DB5;<br />else<br />LCD_DB5_PORT  &amp;= ~LCD_DB5;<br /><br />if(nibbleToWrite &amp; 0x04)<br />LCD_DB6_PORT |= LCD_DB6;<br />else<br />LCD_DB6_PORT  &amp;= ~LCD_DB6;<br /><br />if(nibbleToWrite &amp; 0x08)<br />LCD_DB7_PORT |= LCD_DB7;<br />else<br />LCD_DB7_PORT  &amp;= ~LCD_DB7;<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja wystawiająca półbajt na magistralę danych<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char _LCD_InNibble(void)<br />{<br />unsigned char tmp = 0;<br /><br />if(LCD_DB4_PIN &amp; LCD_DB4)<br />tmp |= (1 &lt;&lt; 0);<br />if(LCD_DB5_PIN &amp; LCD_DB5)<br />tmp |= (1 &lt;&lt; 1);<br />if(LCD_DB6_PIN &amp; LCD_DB6)<br />tmp |= (1 &lt;&lt; 2);<br />if(LCD_DB7_PIN &amp; LCD_DB7)<br />tmp |= (1 &lt;&lt; 3);<br />return tmp;<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu bajtu do wyświetlacza (bez rozróżnienia instrukcja/dane).<br />//<br />//-------------------------------------------------------------------------------------------------<br />void _LCD_Write(unsigned char dataToWrite)<br />{<br />LCD_DB4_DIR |= LCD_DB4;<br />LCD_DB5_DIR |= LCD_DB5;<br />LCD_DB6_DIR |= LCD_DB6;<br />LCD_DB7_DIR |= LCD_DB7;<br /><br />LCD_RW_PORT &amp;= ~LCD_RW;<br />LCD_E_PORT |= LCD_E;<br />_LCD_OutNibble(dataToWrite &gt;&gt; 4);<br />LCD_E_PORT &amp;= ~LCD_E;<br />LCD_E_PORT |= LCD_E;<br />_LCD_OutNibble(dataToWrite);<br />LCD_E_PORT &amp;= ~LCD_E;<br />while(LCD_ReadStatus()&amp;0x80);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja odczytu bajtu z wyświetlacza (bez rozróżnienia instrukcja/dane).<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />unsigned char _LCD_Read(void)<br />{<br />unsigned char tmp = 0;<br />LCD_DB4_DIR &amp;= ~LCD_DB4;<br />LCD_DB5_DIR &amp;= ~LCD_DB5;<br />LCD_DB6_DIR &amp;= ~LCD_DB6;<br />LCD_DB7_DIR &amp;= ~LCD_DB7;<br /><br />LCD_RW_PORT |= LCD_RW;<br />LCD_E_PORT |= LCD_E;<br />tmp |= (_LCD_InNibble() &lt;&lt; 4);<br />LCD_E_PORT &amp;= ~LCD_E;<br />LCD_E_PORT |= LCD_E;<br />tmp |= _LCD_InNibble();<br />LCD_E_PORT &amp;= ~LCD_E;<br />return tmp;<br />}<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu rozkazu do wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteCommand(unsigned char commandToWrite)<br />{<br />LCD_RS_PORT &amp;= ~LCD_RS;<br />_LCD_Write(commandToWrite);<br />}<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja odczytu bajtu statusowego<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char LCD_ReadStatus(void)<br />{<br />LCD_RS_PORT &amp;= ~LCD_RS;<br />return _LCD_Read();<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu danych do pamięci wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteData(unsigned char dataToWrite)<br />{<br />LCD_RS_PORT |= LCD_RS;<br />_LCD_Write(dataToWrite);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja odczytu danych z pamięci wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char LCD_ReadData(void)<br />{<br />LCD_RS_PORT |= LCD_RS;<br />return _LCD_Read();<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja wyświetlenia napisu na wyświetlaczu.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteText(char * text)<br />{<br />while(*text)<br />  LCD_WriteData(*text++);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja ustawienia współrzędnych ekranowych<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_GoTo(unsigned char x, unsigned char y)<br />{<br />LCD_WriteCommand(HD44780_DDRAM_SET | (x + (0x40 * y)));<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja czyszczenia ekranu wyświetlacza.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Clear(void)<br />{<br />LCD_WriteCommand(HD44780_CLEAR);<br />_delay_ms(2);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja przywrócenia początkowych współrzędnych wyświetlacza.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Home(void)<br />{<br />LCD_WriteCommand(HD44780_HOME);<br />_delay_ms(2);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Procedura inicjalizacji kontrolera HD44780.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Initalize(void)<br />{<br />unsigned char i;<br />LCD_DB4_DIR |= LCD_DB4; // Konfiguracja kierunku pracy wyprowadzeń<br />LCD_DB5_DIR |= LCD_DB5; //<br />LCD_DB6_DIR |= LCD_DB6; //<br />LCD_DB7_DIR |= LCD_DB7; //<br />LCD_E_DIR |= LCD_E;   //<br />LCD_RS_DIR |= LCD_RS;  //<br />LCD_RW_DIR |= LCD_RW;  //<br />_delay_ms(15);          // oczekiwanie na ustalibizowanie się napięcia zasilającego<br />LCD_RS_PORT &amp;= ~LCD_RS; // wyzerowanie linii RS<br />LCD_E_PORT &amp;= ~LCD_E;  // wyzerowanie linii E<br />LCD_RW_PORT &amp;= ~LCD_RW;<br />for(i = 0; i &lt; 3; i++) // trzykrotne powtórzenie bloku instrukcji<br />  {<br />  LCD_E_PORT |= LCD_E; //  E = 1<br />  _LCD_OutNibble(0x03); // tryb 8-bitowy<br />  LCD_E_PORT &amp;= ~LCD_E; // E = 0<br />  _delay_ms(5); // czekaj 5ms<br />  }<br /><br />LCD_E_PORT |= LCD_E; // E = 1<br />_LCD_OutNibble(0x02); // tryb 4-bitowy<br />LCD_E_PORT &amp;= ~LCD_E; // E = 0<br /><br />_delay_ms(1); // czekaj 1ms<br />LCD_WriteCommand(HD44780_FUNCTION_SET | HD44780_FONT5x7 | HD44780_TWO_LINE | HD44780_4_BIT); // interfejs 4-bity, 2-linie, znak 5x7<br />LCD_WriteCommand(HD44780_DISPLAY_ONOFF | HD44780_DISPLAY_OFF); // wyłączenie wyświetlacza<br />LCD_WriteCommand(HD44780_CLEAR); // czyszczenie zawartości pamięci DDRAM<br />LCD_WriteCommand(HD44780_ENTRY_MODE | HD44780_EM_SHIFT_CURSOR | HD44780_EM_INCREMENT);// inkrementaja adresu i przesuwanie kursora<br />LCD_WriteCommand(HD44780_DISPLAY_ONOFF | HD44780_DISPLAY_ON | HD44780_CURSOR_OFF | HD44780_CURSOR_NOBLINK); // włącz LCD, bez kursora i mrugania<br />}<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Koniec pliku HD44780.c<br />//<br />//-------------------------------------------------------------------------------------------------[/syntax]<br /><br />[syntax=c]//-------------------------------------------------------------------------------------------------<br />// Wyświetlacz alfanumeryczny ze sterownikiem HD44780<br />// Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości<br />// z dowolnym przypisaniem sygnałów sterujących<br />// Plik : hd44780.h<br />// Mikrokontroler : Atmel AVR<br />//-------------------------------------------------------------------------------------------------<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Konfiguracja sygnałów sterujących wyświetlaczem.<br />// Można zmienić stosownie do potrzeb.<br />//<br />//-------------------------------------------------------------------------------------------------<br />#define LCD_RS_DIRDDRB<br />#define LCD_RS_PORT PORTB<br />#define LCD_RS_PINPINB<br />#define LCD_RS(1 &lt;&lt; PB0)<br /><br />#define LCD_RW_DIRDDRB<br />#define LCD_RW_PORTPORTB<br />#define LCD_RW_PINPINB<br />#define LCD_RW(1 &lt;&lt; PB1)<br /><br />#define LCD_E_DIRDDRB<br />#define LCD_E_PORTPORTB<br />#define LCD_E_PINPINB<br />#define LCD_E(1 &lt;&lt; PB2)<br /><br />#define LCD_DB4_DIRDDRB<br />#define LCD_DB4_PORTPORTB<br />#define LCD_DB4_PINPINB<br />#define LCD_DB4(1 &lt;&lt; PB4)<br /><br />#define LCD_DB5_DIRDDRB<br />#define LCD_DB5_PORTPORTB<br />#define LCD_DB5_PINPINB<br />#define LCD_DB5(1 &lt;&lt; PB5)<br /><br />#define LCD_DB6_DIRDDRB<br />#define LCD_DB6_PORTPORTB<br />#define LCD_DB6_PINPINB<br />#define LCD_DB6(1 &lt;&lt; PB6)<br /><br />#define LCD_DB7_DIRDDRB<br />#define LCD_DB7_PORTPORTB<br />#define LCD_DB7_PINPINB<br />#define LCD_DB7(1 &lt;&lt; PB7)<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Instrukcje kontrolera Hitachi HD44780<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />#define HD44780_CLEAR0x01<br /><br />#define HD44780_HOME0x02<br /><br />#define HD44780_ENTRY_MODE0x04<br />#define HD44780_EM_SHIFT_CURSOR0<br />#define HD44780_EM_SHIFT_DISPLAY1<br />#define HD44780_EM_DECREMENT0<br />#define HD44780_EM_INCREMENT2<br /><br />#define HD44780_DISPLAY_ONOFF0x08<br />#define HD44780_DISPLAY_OFF0<br />#define HD44780_DISPLAY_ON4<br />#define HD44780_CURSOR_OFF0<br />#define HD44780_CURSOR_ON2<br />#define HD44780_CURSOR_NOBLINK0<br />#define HD44780_CURSOR_BLINK1<br /><br />#define HD44780_DISPLAY_CURSOR_SHIFT0x10<br />#define HD44780_SHIFT_CURSOR0<br />#define HD44780_SHIFT_DISPLAY8<br />#define HD44780_SHIFT_LEFT0<br />#define HD44780_SHIFT_RIGHT4<br /><br />#define HD44780_FUNCTION_SET0x20<br />#define HD44780_FONT5x70<br />#define HD44780_FONT5x104<br />#define HD44780_ONE_LINE0<br />#define HD44780_TWO_LINE8<br />#define HD44780_4_BIT0<br />#define HD44780_8_BIT16<br /><br />#define HD44780_CGRAM_SET0x40<br /><br />#define HD44780_DDRAM_SET0x80<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Deklaracje funkcji<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />void LCD_WriteCommand(unsigned char);<br />unsigned char LCD_ReadStatus(void);<br />void LCD_WriteData(unsigned char);<br />unsigned char LCD_ReadData(void);<br />void LCD_WriteText(char *);<br />void LCD_GoTo(unsigned char, unsigned char);<br />void LCD_Clear(void);<br />void LCD_Home(void);<br />void LCD_Initalize(void);<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Koniec pliku HD44780.h<br />//<br />//-------------------------------------------------------------------------------------------------[/syntax]<br /><br />Plik main.c z moją biblioteką do wyświetlacza<br />Wydaje mi się ze jest błąd tutaj---&gt; LCD_WriteText(cStringBuffer);<br />[syntax=c]#include &lt;avr/io.h&gt;<br />    #include &lt;util/delay.h&gt;<br />    #include &lt;stdlib.h&gt;<br />    #include &quot;hd44780.h&quot;<br /><br />    #define PIN_1WIRE 0<br />    #define PORT_1WIRE PINC<br /><br />    #define OUT_1WIRE_LOW PORT_1WIRE &amp;=~(1&lt;&lt;PIN_1WIRE)<br />    #define OUT_1WIRE_HIGH PORT_1WIRE |=(1&lt;&lt;PIN_1WIRE)<br />    #define DIR_1WIRE_IN DDRD &amp;=~(1&lt;&lt;PIN_1WIRE)<br />    #define DIR_1WIRE_OUT DDRD |=(1&lt;&lt;PIN_1WIRE)<br /><br />    char cStringBuffer&#91;8&#93;;<br /><br />    unsigned char uc1Wire_ResetPulse(void);<br />    void v1Wire_SendBit(char cBit);<br />    unsigned char uc1Wire_ReadBit(void);<br />    void v1Wire_SendByte(char ucByteValue);<br />    unsigned char uv1Wire_ReadByte(void);<br /><br />    int main(void)<br />    {<br />    unsigned char ucReset;<br />        char cTemperatureH=0;   char cTemperatureL=0;<br />        float fTemperature=0;<br />        LCD_Initalize();<br />        LCD_Clear();<br /><br />        while(1)<br />        {<br />        ucReset=uc1Wire_ResetPulse();<br />            if(ucReset==1)<br />            {<br />            v1Wire_SendByte(0xCC);<br />                v1Wire_SendByte(0x44);<br />                _delay_ms(750);<br />                ucReset=uc1Wire_ResetPulse();<br />                v1Wire_SendByte(0xCC);<br />                v1Wire_SendByte(0xBE);<br />                cTemperatureL=uv1Wire_ReadByte();<br />                cTemperatureH=uv1Wire_ReadByte();<br />                ucReset=uc1Wire_ResetPulse();<br /><br />                fTemperature=(float)(cTemperatureL+(cTemperatureH&lt;&lt;8))/16;<br /><br />                dtostrf(fTemperature,1,1,cStringBuffer);<br />                LCD_GoTo(5,0);<br />                LCD_WriteText(cStringBuffer);<br />            }<br />            else<br />            {<br />            LCD_Clear();<br />            LCD_GoTo(3,0);<br />            LCD_WriteText(&quot;Nie dziala&quot;);<br />            _delay_ms(200);<br />            }<br />        }<br /><br />    }<br /><br />    unsigned char uc1Wire_ResetPulse(void)<br />    {<br />    unsigned char ucPresenceImpulse;<br />    OUT_1WIRE_LOW;<br />    DIR_1WIRE_OUT;<br />    _delay_us(500);<br />    DIR_1WIRE_IN;<br />    _delay_us(45);<br /><br />    if(bit_is_clear(PORT_1WIRE, PIN_1WIRE))<br />    ucPresenceImpulse=1;<br />        else<br />        ucPresenceImpulse=0;<br />    _delay_us(470);<br /><br />    return ucPresenceImpulse;<br />    }<br /><br />    void v1Wire_SendBit(char cBit){<br />    DIR_1WIRE_OUT;<br />        _delay_us(5);<br /><br />       if(cBit==1)<br />       DIR_1WIRE_IN;<br />       _delay_us(80);<br />       DIR_1WIRE_IN;<br />    }<br /><br />    unsigned char uc1Wire_ReadBit(void)<br />    {<br />    unsigned char ucBit;<br />    DIR_1WIRE_OUT;<br />    _delay_us(2);<br />    DIR_1WIRE_IN;<br />    _delay_us(15);<br /><br />    if(bit_is_set(PORT_1WIRE, PIN_1WIRE))<br />    ucBit=1;<br />    else<br />    ucBit=0;<br />        return(ucBit);<br />    }<br /><br />    void v1Wire_SendByte(char ucByteValue)<br />    {<br />    unsigned char ucCounter;<br />    unsigned char ucValueToSend;<br /><br />    for(ucCounter=0; ucCounter&lt;8; ucCounter++)<br />    {<br />    ucValueToSend=ucByteValue&gt;&gt;ucCounter;<br />            ucValueToSend &amp;=0x01;<br />            v1Wire_SendBit(ucValueToSend);<br />    }<br /><br />    _delay_us(100);<br />    }<br /><br />    unsigned char uv1Wire_ReadByte(void)<br />    {<br />    unsigned char ucCounter;<br />    unsigned char ucReadByte=0;<br /><br />    for(ucCounter=0; ucCounter&lt;8; ucCounter++)<br />    {<br />    if(uc1Wire_ReadBit())<br />    ucReadByte |=0x01&lt;&lt;ucCounter;<br />            _delay_us(15);<br />    }<br />    return(ucReadByte);<br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 11 maja 2015, o 18:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-05-11T12:31:47+01:00</updated>
<published>2015-05-11T12:31:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128832#p128832</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128832#p128832"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128832#p128832"><![CDATA[
Trochę długo walczysz z tym DS18B20, dlatego postaram Ci się pomóc. <br /><br />Ustaw taktowanie procesora na 8MHz np programem mkAVRCalculator (Zakładka Programator AVR - kliknij Sprawdź podłączony AVR, dalej Zakładka Fusy uproszczone - wewnętrzny oscylator - 8MHz, następnie zakładka Programator AVR, zaznacz Zapis i  Fuse bity, następnie kliknij Wykonaj )<br />Aby wykluczyć problem z kodem, dołączam dla Ciebie projekt Simple18B20_LCD. Zaimportuj go do Eclipsa (File/Import/Existing Projects into Workspace, Next, Wybierz Folder SimpleDs18b20_LCD z rozpakowanego pliku SimpleDs18B20_LCD.zip, zaznacz Copy Project into workspace, no i oczywiście Finish. <br /><br />Podłączenia wyświetlacza LCD zostaw tak jak są na zdjęciu, które zamieściłeś, z tym, że podłącz 1Wire do PC0. Dodam tylko, że układ DS18B20 powinieneś podłączyć do Twojego zestawu uruchomieniowego tak aby było widać jego napisy. Na zdjęciu niestety widać tylko jego nóżki, więc nie jestem pewien, czy nie podłączyłeś odwrotnie.<br /><br />Wgraj do Twojej ATmegi8 i daj znać czy się udało. Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 11 maja 2015, o 12:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-11T08:42:02+01:00</updated>
<published>2015-05-11T08:42:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128824#p128824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128824#p128824"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128824#p128824"><![CDATA[
<a href="http://forum.atnel.pl/_obrazki/o/3370/43167b8685899d7d7d2341c9f5da5633.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3370/43167b8685899d7d7d2341c9f5da5633.jpg" alt="Obrazek" /></a><br /><br />Korzystam z takiego zestawu. Po zmianie w kodzie i podłączeniu ds18b20 do pinu PC0, wyświetla mi się temperatura -3,3 stopnia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 11 maja 2015, o 08:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-05-11T08:03:44+01:00</updated>
<published>2015-05-11T08:03:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128818#p128818</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128818#p128818"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128818#p128818"><![CDATA[
pokaż no jak to składasz schemat / fotki stykówki / bo nie ma możliwości aby nie działało robisz jakiś czeski błąd.<br />masz BB ? może spróbuj z Mirka bibliotekami one na 10000% działają bez problemu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 11 maja 2015, o 08:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-11T07:53:48+01:00</updated>
<published>2015-05-11T07:53:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128813#p128813</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128813#p128813"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128813#p128813"><![CDATA[
Tak, nadal mam problem. Jeden czujnik przepaliłem bo odwrotnie podłączyłem. Korzystam z opracowania Pana Cezarego Klimasza &quot;termometr ds18b20&quot; mam wszystko w kodzie jak tam a nadal nic się nie dzieje. Układ zachowuje się tak jakby ds18b20 wnogóle nie odpowiadał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 11 maja 2015, o 07:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-05-10T21:53:45+01:00</updated>
<published>2015-05-10T21:53:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128801#p128801</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128801#p128801"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128801#p128801"><![CDATA[
Hmm tak patrze co ja tam pisałem i nie mogłem sobie przypomnieć ... hmm <br /><br />odpisałeś po 11 miesiącach fajnie że odpisałeś ale moje pytanie do Ciebie:<br /><br />Czy nadal masz problem z DS18B20 ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 10 maja 2015, o 21:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-05-10T19:43:44+01:00</updated>
<published>2015-05-10T19:43:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128784#p128784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128784#p128784"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=128784#p128784"><![CDATA[
Działam na zestawie uruchomieniowym ZL2AVR. 1Wire jest podciągnięte rezystorem 3,3k do Vcc. Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 10 maja 2015, o 19:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-06-15T17:31:00+01:00</updated>
<published>2014-06-15T17:31:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84580#p84580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84580#p84580"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84580#p84580"><![CDATA[
a na czym działasz na ATB innym zestawie czy na stykówce ?<br /><br />Bo może nie masz 1Wire podciągniętego rezystorem do VCC ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 15 cze 2014, o 17:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-15T14:48:20+01:00</updated>
<published>2014-06-15T14:48:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84553#p84553</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84553#p84553"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84553#p84553"><![CDATA[
Kombinuje jak tylko mogę i zauważyłem że po odłączeniu termometru i podpięciu tego pinu do masy cały czas wyświetla się temperatura 0 stopni<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 15 cze 2014, o 14:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-15T06:37:14+01:00</updated>
<published>2014-06-15T06:37:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84502#p84502</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84502#p84502"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84502#p84502"><![CDATA[
Bibioteka działa na innym projekcie. BB niestety nie posiadam.<br />Zmieniłem biblioteke do obsługi wyświetlacza. Napis się pojawia tylko teraz niewyswietela temperatury tylko napis &quot;Nie działa&quot;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 15 cze 2014, o 06:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-06-14T23:33:38+01:00</updated>
<published>2014-06-14T23:33:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84499#p84499</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84499#p84499"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84499#p84499"><![CDATA[
A czy ta biblioteka którą napisałeś do LCD<br />działała w innym projekcie ?<br />Bo jeśli nie to w niej możesz mieć jakiegoś 'błęda' <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Jeśli masz BB to przetestuj ten projekt na bibliotekach Mirka<br />do obsługi LCD, wtedy będziesz wiedział co może być nie tak<br />w projekcie czy hardwere czy software.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 14 cze 2014, o 23:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-14T22:05:05+01:00</updated>
<published>2014-06-14T22:05:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84490#p84490</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84490#p84490"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84490#p84490"><![CDATA[
Piszę z dużych liter ponieważ tak mam w tych plikach które napisałem do obsługi lcd<br />[syntax=c]/*<br /> * hd44780.h<br /> *<br /> *  Created on: 01-04-2014<br /> *      Author: Mateusz<br /> */<br /><br />#ifndef HD44780<br />#define HD44780<br /><br />/* RS */<br />#define SET_OUT_LCD_RS  DDRB  |=  _BV(PB0)<br />#define SET_LCD_RS      PORTB |=  _BV(PB0)<br />#define CLR_LCD_RS      PORTB &amp;= ~_BV(PB0)<br /><br />/* RW */<br />#define SET_OUT_LCD_RW  DDRB  |=  _BV(PB1)<br />#define SET_LCD_RW      PORTB |=  _BV(PB1)<br />#define CLR_LCD_RW      PORTB &amp;= ~_BV(PB1)<br /><br />/* E */<br />#define SET_OUT_LCD_E   DDRB  |=  _BV(PB2)<br />#define SET_LCD_E       PORTB |=  _BV(PB2)<br />#define CLR_LCD_E       PORTB &amp;= ~_BV(PB2)<br /><br />/* D4 */<br />#define SET_OUT_LCD_D4  DDRB  |=  _BV(PB3)<br />#define SET_IN_LCD_D4   DDRB  &amp;= ~_BV(PB3)<br />#define SET_LCD_D4      PORTB |=  _BV(PB3)<br />#define CLR_LCD_D4      PORTB &amp;= ~_BV(PB3)<br />#define IS_SET_LCD_D4   PINB  &amp;   _BV(PB3)<br /><br />/* D5 */<br />#define SET_OUT_LCD_D5  DDRB  |=  _BV(PB4)<br />#define SET_IN_LCD_D5   DDRB  &amp;= ~_BV(PB4)<br />#define SET_LCD_D5      PORTB |=  _BV(PB4)<br />#define CLR_LCD_D5      PORTB &amp;= ~_BV(PB4)<br />#define IS_SET_LCD_D5   PINB  &amp;   _BV(PB4)<br /><br />/* D6 */<br />#define SET_OUT_LCD_D6  DDRB  |=  _BV(PB5)<br />#define SET_IN_LCD_D6   DDRB  &amp;= ~_BV(PB5)<br />#define SET_LCD_D6      PORTB |=  _BV(PB5)<br />#define CLR_LCD_D6      PORTB &amp;= ~_BV(PB5)<br />#define IS_SET_LCD_D6   PINB  &amp;   _BV(PB5)<br /><br />/* D7 */<br />#define SET_OUT_LCD_D7  DDRB  |=  _BV(PB6)<br />#define SET_IN_LCD_D7   DDRB  &amp;= ~_BV(PB6)<br />#define SET_LCD_D7      PORTB |=  _BV(PB6)<br />#define CLR_LCD_D7      PORTB &amp;= ~_BV(PB6)<br />#define IS_SET_LCD_D7   PINB  &amp;   _BV(PB6)<br /><br /><br />#define LCD_NOP asm volatile(&quot;nop\n\t&quot;&quot;nop\n\t&quot; &quot;nop\n\t&quot; &quot;nop\n\t&quot; ::);<br /><br /><br /><br />#define LCDCOMMAND 0<br />#define LCDDATA    1<br /><br />#define LCD_LOCATE(x,y)  WriteToLCD(0x80|((x)+((y)*0x40)), LCDCOMMAND)<br /><br />#define LCD_CLEAR              WriteToLCD(0x01, LCDCOMMAND)<br />#define LCD_HOME               WriteToLCD(0x02, LCDCOMMAND)<br /><br />/* IDS */<br /><br />#define LCDINCREMENT           0x02<br />#define LCDDECREMENT           0x00<br />#define LCDDISPLAYSHIFT        0x01<br /><br />#define LCD_ENTRY_MODE(IDS)    WriteToLCD(0x04|(IDS), LCDCOMMAND)<br /><br />/* BCD */<br />#define LCDDISPLAY             0x04<br />#define LCDCURSOR              0x02<br />#define LCDBLINK               0x01<br /><br />#define LCD_DISPLAY(DCB)       WriteToLCD(0x08|(DCB), LCDCOMMAND)<br /><br />/* RL */<br />#define LCDLEFT                0x00<br />#define LCDRIGHT               0x04<br /><br />#define LCD_SHIFT_DISPLAY(RL)  WriteToLCD(0x18|(RL), LCDCOMMAND)<br />#define LCD_SHIFT_CURSOR(RL)   WriteToLCD(0x10|(RL), LCDCOMMAND)<br /><br />#define LCD_CGRAM_ADDRESS(A)   WriteToLCD(0x40|((A)&amp;0x3f), LCDCOMMAND)<br />#define LCD_DDRAM_ADDRESS(A)   WriteToLCD(0x80|((A)&amp;0x7f), LCDCOMMAND)<br /><br />#define LCD_WRITE_DATA(D)      WriteToLCD((D),LCDDATA)<br /><br /><br />void lcd_init(void);<br />void WriteToLCD(unsigned char v,unsigned char rs);<br />unsigned char ReadAddressLCD(void);<br />void lcd_puts(char *str);<br /><br />#endif<br /><br /><br />&#91;syntax=c&#93;<br />/*<br />  Plik hd44780.c<br /><br />  Definicje kilku funkcji do obsługi alfanumerycznego<br />  wyświetlacza LCD HD44780<br />*/<br /><br /><br />#include&lt;avr/io.h&gt;<br />#include&lt;util/delay.h&gt;<br />#include &quot;hd44780.h&quot;<br /><br />/*--------------------------------------------------------*/<br />/* Zapis danej lub instrukcji */<br /><br />void WriteToLCD (unsigned char v,unsigned char  rs)<br />{<br />    unsigned char bf;<br /><br />    SET_OUT_LCD_D4;<br />    SET_OUT_LCD_D5;<br />    SET_OUT_LCD_D6;<br />    SET_OUT_LCD_D7;<br /><br />    if(v&amp;0x10) SET_LCD_D4; else CLR_LCD_D4;<br />    if(v&amp;0x20) SET_LCD_D5; else CLR_LCD_D5;<br />    if(v&amp;0x40) SET_LCD_D6; else CLR_LCD_D6;<br />    if(v&amp;0x80) SET_LCD_D7; else CLR_LCD_D7;<br /><br />    CLR_LCD_E;<br />    if(rs) SET_LCD_RS;else CLR_LCD_RS;<br />    CLR_LCD_RW;<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br /><br />    if(v&amp;0x01) SET_LCD_D4; else CLR_LCD_D4;<br />    if(v&amp;0x02) SET_LCD_D5; else CLR_LCD_D5;<br />    if(v&amp;0x04) SET_LCD_D6; else CLR_LCD_D6;<br />    if(v&amp;0x08) SET_LCD_D7; else CLR_LCD_D7;<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br /><br />    SET_IN_LCD_D4;<br />    SET_IN_LCD_D5;<br />    SET_IN_LCD_D6;<br />    SET_IN_LCD_D7;<br /><br />    CLR_LCD_RS;<br />    SET_LCD_RW;<br />    SET_LCD_D7;<br /><br /><br />/* Przydałby się pełny odczyt */<br />    do<br />    {<br />        LCD_NOP;<br />        SET_LCD_E;<br />        LCD_NOP;<br />        bf = IS_SET_LCD_D7;<br />        CLR_LCD_E;<br />        LCD_NOP;<br />        SET_LCD_E;<br />        LCD_NOP;<br />        LCD_NOP;<br />        CLR_LCD_E;<br /><br />    }while( bf );<br />}<br /><br /><br />/*--------------------------------------------------------*/<br />/* Funkcja odczytuje adres i flage zajetosci */<br /><br />unsigned char ReadAddressLCD ( void)<br />{<br />    unsigned char g = 0 ;<br /><br />    CLR_LCD_RS;<br />    SET_LCD_RW;<br /><br />    SET_IN_LCD_D4;<br />    SET_IN_LCD_D5;<br />    SET_IN_LCD_D6;<br />    SET_IN_LCD_D7;<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br /><br />    if(IS_SET_LCD_D4) g+=16;<br />    if(IS_SET_LCD_D4) g+=32;<br />    if(IS_SET_LCD_D4) g+=64;<br />    if(IS_SET_LCD_D4) g+=128;<br /><br />    CLR_LCD_E;<br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br /><br />    if(IS_SET_LCD_D4) g+=8;<br />    if(IS_SET_LCD_D4) g+=4;<br />    if(IS_SET_LCD_D4) g+=2;<br />    if(IS_SET_LCD_D4) g+=1;<br /><br />    CLR_LCD_E;<br /><br />    return  g ;<br />}<br /><br /><br />/*---------------------------------------------------------*/<br />/* Inicjalizacja wyświetlacza */<br /><br />void lcd_init(void)<br />{<br />    _delay_ms(31);<br /><br />    SET_OUT_LCD_RS;<br />    SET_OUT_LCD_RW;<br />    SET_OUT_LCD_E;<br />    SET_OUT_LCD_D4;<br />    SET_OUT_LCD_D5;<br />    SET_OUT_LCD_D6;<br />    SET_OUT_LCD_D7;<br /><br />    CLR_LCD_E;<br />    CLR_LCD_RS;<br />    CLR_LCD_RW;<br />    SET_LCD_D4;<br />    SET_LCD_D5;<br />    CLR_LCD_D6;<br />    CLR_LCD_D7;<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br />    _delay_ms(10);<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br />    _delay_ms(2);<br /><br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br />    _delay_ms(2);<br /><br />    CLR_LCD_D4;<br />    LCD_NOP;<br />    SET_LCD_E;<br />    LCD_NOP;<br />    CLR_LCD_E;<br />    LCD_NOP;<br />    _delay_us(80);<br /><br />    WriteToLCD (0x28 , LCDCOMMAND) ;<br />    LCD_DISPLAY(0) ;<br />    LCD_CLEAR ;<br />    LCD_ENTRY_MODE(LCDINCREMENT) ;<br />}<br /><br /><br />/*--------------------------------------------------------*/<br />/* Wyswietla tekst na aktualnej pozycji kursora */<br /><br />void lcd_puts(char *str)<br />{<br />    unsigned char i =0;<br /><br />    while( str&#91;i&#93;)<br />        LCD_WRITE_DATA(str&#91;i++&#93;) ;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 14 cze 2014, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-06-14T21:41:28+01:00</updated>
<published>2014-06-14T21:41:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84488#p84488</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84488#p84488"/>
<title type="html"><![CDATA[Re: Odp: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84488#p84488"><![CDATA[
Dlaczego lcd cls i locate piszesz z capsem ?<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 14 cze 2014, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-14T21:23:54+01:00</updated>
<published>2014-06-14T21:23:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84486#p84486</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84486#p84486"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84486#p84486"><![CDATA[
Nic mi się nie wyświetla. Tylko jak się dobrze przyjże i wciskam non stop reset to można zauważyć słowo termometr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 14 cze 2014, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-06-14T20:42:50+01:00</updated>
<published>2014-06-14T20:42:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84476#p84476</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84476#p84476"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84476#p84476"><![CDATA[
czy to znaczy że na wyświetlaczu nic Ci się<br />nie wyświetla ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 14 cze 2014, o 20:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-14T15:37:50+01:00</updated>
<published>2014-06-14T15:37:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84431#p84431</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84431#p84431"/>
<title type="html"><![CDATA[Re: Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84431#p84431"><![CDATA[
Zauważyłem że przy ciągłym resetowniu coś widać na wyswietlaczu ale strasznie szybko znika.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 14 cze 2014, o 15:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-06-14T12:17:30+01:00</updated>
<published>2014-06-14T12:06:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84409#p84409</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84409#p84409"/>
<title type="html"><![CDATA[Pomoc z ds18b20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7433&amp;p=84409#p84409"><![CDATA[
Witam! Zakupiłem termometr ds18b20 i chciałem napisać do niego program. Kompilator nie pokazuje błędów a mimo to nic sie nie diej gdy wgram go do procka. Proszę o konsulatację. Posiadam zestaw ZL2AVR. Pozdrawiam<br />[syntax=c]* main.c<br /> *<br /> *  Created on: 14-06-2014<br /> *      Author: Mateusz<br /> */<br />#include &lt;stdlib.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;hd44780.h&quot;<br />#include &quot;czujnik_ds18b20.h&quot;<br /><br />int main (void)<br />{<br />unsigned char ucReset;<br />char cTemperatureH=0, cTemperatureL=0;<br />float fTemperature=0;<br />char str1&#91;&#93; = &quot;Termometr&quot;;<br /><br />lcd_init();<br />LCD_CLEAR;<br />lcd_puts(str1);<br />_delay_ms(500);<br /><br />for(;;)<br />{<br />ucReset=uc1Wire_ResetPulse();<br />if (ucReset==1)<br />{<br />v1Wire_SendByte(0xCC);<br />v1Wire_SendByte(0x44);<br />_delay_ms(750);<br />ucReset=uc1Wire_ResetPulse();<br />v1Wire_SendByte(0xCC);<br />v1Wire_SendByte(0xBE);<br />cTemperatureL=uv1Wire_ReadByte();<br />cTemperatureH=uv1Wire_ReadByte();<br />ucReset=uc1Wire_ResetPulse();<br /><br />fTemperature=(float)(cTemperatureL+(cTemperatureH&lt;&lt;8))/16;<br /><br />dtostrf(fTemperature,1,1,cStringBuffer);<br />LCD_LOCATE(1,0);<br />lcd_puts(cStringBuffer);<br />_delay_ms(200);<br />}<br />else<br />{<br />LCD_LOCATE(0,0);<br />lcd_puts(&quot;Nie dziala&quot;);<br />}<br />}<br />}[/syntax]<br /><br />[syntax=c]* czujnik_ds18b20.h<br /> *<br /> *  Created on: 14-06-2014<br /> *      Author: Mateusz<br /> */<br /><br />#ifndef CZUJNIK_DS18B20_H_<br />#define CZUJNIK_DS18B20_H_<br /><br />#include &lt;avr/io.h&gt;<br />#include &quot;hd44780.h&quot;<br /><br />//definicje<br />#define PIN_1WIRE 0<br />#define PORT_1WIRE PIND<br /><br />#define OUT_1WIRE_LOWPORT_1WIRE&amp;=~(1&lt;&lt;PIN_1WIRE);<br />#define OUT_1WIRE_HIGHPORT_1WIRE|=1&lt;&lt;PIN_1WIRE;<br />#define DIR_1WIRE_INDDRD&amp;=~(1&lt;&lt;PIN_1WIRE);<br />#define DIR_1WIRE_OUTDDRD|=1&lt;&lt;PIN_1WIRE;<br /><br />char cStringBuffer&#91;8&#93;;<br /><br />unsigned char uc1Wire_ResetPulse(void);<br />void v1Wire_SendBit(char cBit);<br />unsigned char uc1Wire_ReadBit(void);<br />void v1Wire_SendByte(char ucByteValue);<br />unsigned char uv1Wire_ReadByte(void);<br /><br /><br />#endif /* CZUJNIK_DS18B20_H_ */[/syntax]<br /><br />[syntax=c]* czujnik_ds18b20.c<br /> *<br /> *  Created on: 14-06-2014<br /> *      Author: Mateusz<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;czujnik_ds18b20.h&quot;<br /><br />//Funkcja resetuje magistrale i czeka na impuls Presence<br />unsigned char uc1Wire_ResetPulse(void)<br />{<br />unsigned char ucPresenceImpulse;<br /><br />OUT_1WIRE_LOW;<br />DIR_1WIRE_OUT;<br />_delay_ms(500);<br />DIR_1WIRE_IN;<br />_delay_ms(45);<br /><br />if (bit_is_clear(PORT_1WIRE, PIN_1WIRE))<br />ucPresenceImpulse=1;<br />else<br />ucPresenceImpulse=0;<br />_delay_ms(470);<br /><br />return ucPresenceImpulse;<br />}<br /><br />//Funkcja wysyła na magistrale pojeynczy bit<br />void v1Wire_SendBit(char cBit)<br />{<br />DIR_1WIRE_OUT;<br />_delay_us(5);<br /><br /><br />if(cBit==1)<br />DIR_1WIRE_IN;<br /><br />_delay_us(80);<br />DIR_1WIRE_IN;<br />}<br /><br />//Funkcja odbiera bit z magistrali<br />unsigned char uc1Wire_ReadBit(void)<br />{<br />unsigned char ucBit;<br /><br />DIR_1WIRE_OUT;<br />_delay_us(2);<br />DIR_1WIRE_IN;<br />_delay_us(15);<br /><br />if(bit_is_set(PORT_1WIRE, PIN_1WIRE))<br />ucBit=1;<br />else<br />ucBit=0;<br />return(ucBit);<br />}<br /><br />//Funkcja wysyła bajt na magistrale<br />void v1Wire_SendByte(char ucByteValue)<br />{<br />unsigned char ucCounter;<br />unsigned char ucValueToSend;<br /><br />for (ucCounter=0; ucCounter&lt;8; ucCounter++)<br />{<br />ucValueToSend=ucByteValue&gt;&gt;ucCounter;<br />ucValueToSend &amp;=0x01;<br />v1Wire_SendBit(ucValueToSend);<br />}<br />_delay_us(100);<br />}<br /><br />//Funkcja odbiera bajt z magistarli<br />unsigned char uv1Wire_ReadByte(void)<br />{<br />unsigned char ucCounter;<br />unsigned char ucReadByte = 0;<br /><br />for (ucCounter=0 ;ucCounter&lt;8; ucCounter++)<br />{<br />if (uc1Wire_ReadBit())<br />ucReadByte|=0x01&lt;&lt;ucCounter;<br />_delay_us(15);<br />}<br />return(ucReadByte);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 14 cze 2014, o 12:06</p><hr />
]]></content>
</entry>
</feed>