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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-15T09:08:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=12&amp;t=12943&amp;mode</id>
<entry>
<author><name><![CDATA[mmacura]]></name></author>
<updated>2015-09-15T09:08:30+01:00</updated>
<published>2015-09-15T09:08:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139866#p139866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139866#p139866"/>
<title type="html"><![CDATA[Re: atmega8a+melexis+brak odczytu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139866#p139866"><![CDATA[
A jesteś pewien że masz dobre adresy na I2C - bo według dokumentacji adres układu to 0x5A i 0x5B a Ty wysyłasz adresy 0x00 i 0x01?<br /><br />Marek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9105">mmacura</a> — 15 wrz 2015, o 09:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szarki71]]></name></author>
<updated>2015-09-15T07:47:22+01:00</updated>
<published>2015-09-15T07:47:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139861#p139861</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139861#p139861"/>
<title type="html"><![CDATA[Re: atmega8a+melexis+brak odczytu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139861#p139861"><![CDATA[
Wyświetlałem zmienne lowbyte2 i Highbyte2 na wyświetlaczu bez ich przetwarzania i obydwie są równe 0. Podmieniałem w poleceniu  Lcd  &quot;Wynik:&quot; ; Napis2 ; Chr(1) ; &quot;C&quot;  Napis2 na Lowbyte2 a potem Highbyte2.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11057">Szarki71</a> — 15 wrz 2015, o 07:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2015-09-15T06:50:11+01:00</updated>
<published>2015-09-15T06:50:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139858#p139858</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139858#p139858"/>
<title type="html"><![CDATA[Re: atmega8a+melexis+brak odczytu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139858#p139858"><![CDATA[
Kolego najpierw to powinieneś sprawdzić czy masz jakiś odczytany wynik w tempdata, czyli linijki od 35-37 wyłączyć i sobie wyświetlić tempdata. Dopiero teraz możesz stwierdzić że nie masz odczytu. Bo z tego co widzę to wykonujesz operację mnożenie liczbą zmiennoprzecinkową a przeciez masz zadeklarowane tempdat jako word  a to są całkowite liczby od 0-65535<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 15 wrz 2015, o 06:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szarki71]]></name></author>
<updated>2015-09-14T23:56:54+01:00</updated>
<published>2015-09-14T23:56:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139856#p139856</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139856#p139856"/>
<title type="html"><![CDATA[atmega8a+melexis+brak odczytu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12943&amp;p=139856#p139856"><![CDATA[
Witam, <br /><br />Mam następujący problem. Staram się odczytać temperaturę z czujnika MLX90614ESF-ACF wykorzystując magistrale I2c. <br /><br />*połączenia są całe  <br />*sprawdziłem tym programem czy adres czujnika jest ok i czy go widzi.<br /><br />[syntax=basic4gl]$crystal = 1000000<br />$hwstack = 40<br />$swstack = 16<br />$framesize = 32<br /><br />Config Scl = Portb.1<br />Config Sda = Portb.2<br />I2cinit<br />Config I2cdelay = 10<br /><br />Dim I As Byte<br /><br />Do<br /><br /><br />Cls<br />Lcd &quot;Trwa odczyt:&quot;<br />Wait 1<br /><br />For I = 0 To 255<br /><br />I2cstart                                                    'warunek startu<br />I2cwbyte I                                                  'wyťlij adres uk¦adu<br />I2cstop                                                     'warunek stopu<br />Waitms 10<br /><br />If Err = 0 Then<br />Cls<br />Lcd &quot;Adres:&quot; ; I<br />Wait 5<br />End If<br /><br />Next I<br /><br />Loop<br /><br />End[/syntax]<br /><br />Program pokazywał 0 i 1 jako adresy (jeszcze można się komunikować pod 0x5A)<br />Po analizie datasheet(załącznik) domyślam się że: <br />0 adres do zapisu ( slave adres WR) <br />1 adres do odczytu ( slave adres RD)<br /><br />*następnie  napisałem program<br /><br />kod <br />[syntax=basic4gl]$regfile = &quot;m8Adef.dat&quot;<br />$crystal = 1000000<br />$hwstack = 40<br />$swstack = 16<br />$framesize = 32<br /><br />Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32        ' definicja znaki stopnia<br /><br />Config Scl = Portb.1<br />Config Sda = Portb.2<br />I2cinit<br />Dim Highbyte As Byte<br />Dim Lowbyte2 As Byte<br />Dim Tempdata As Word<br />Dim Td As Single , Highbyte2 As Byte , Temp As Byte , Napis2 As Single<br />Dim Pec As Byte<br />Const Tempfactor = 0.02<br />Do<br /><br /><br />I2cstart                                                              's<br />I2cwbyte &amp;B00000000                                         'slave adress wr                                         <br />I2cwbyte &amp;B00000111                                         'command<br />I2crepstart                                                          'sr<br />I2cwbyte &amp;B00000001                                         'slave adress RD<br />I2crbyte Lowbyte2 , Ack                                      'data byte low<br />I2crbyte Highbyte2 , Ack                                     'data byte high<br />I2crbyte Pec , Nack                                             'pec<br />I2cstop<br /><br /><br />Tempdata = Makeint(lowbyte2 , Highbyte2)<br /><br /><br />   Tempdata = Tempdata * Tempfactor<br />   Tempdata = Tempdata - 0.01<br />   Tempdata = Tempdata - 273.15<br /><br />Td = Tempdata<br /><br />Napis2 = Fusing(td , &quot;#.#&quot;)<br />  Cls<br />Lcd &quot; Temp Z Prom &quot;<br />Lowerline<br />  Lcd &quot;Wynik:&quot; ; Napis2 ; Chr(1) ; &quot;C&quot;<br />Wait 2<br />  Loop<br />End[/syntax]<br /><br />MLX90614ESF-ACF <br /><!-- m --><a class="postlink" href="https://www.sparkfun.com/datasheets/Sensors/Temperature/SEN-09570-datasheet-3901090614M005.pdf" >https://www.sparkfun.com/datasheets/Sen ... 14M005.pdf</a><!-- m --><br /><br />w załączniku powycinane fragmenty datasheet które użyłem do pisania Programu oraz schemat podłączenia. Program oczywiście nie działa i pokazuje 0 stopni cały czas. jakieś pomysły co może być nie tak ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11057">Szarki71</a> — 14 wrz 2015, o 23:56</p><hr />
]]></content>
</entry>
</feed>