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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-05-12T11:44:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1086&amp;mode</id>
<entry>
<author><name><![CDATA[michal]]></name></author>
<updated>2012-05-12T11:44:56+01:00</updated>
<published>2012-05-12T11:44:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1086&amp;p=6574#p6574</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1086&amp;p=6574#p6574"/>
<title type="html"><![CDATA[PCF8563 - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1086&amp;p=6574#p6574"><![CDATA[
witam<br />z braku PCF8583 zacząłem bawić się PCF8563.<br />na początek sam odczyt hh:mm:ss<br />wszystko OK do puki nie wyłączę zasilania.<br />po dłuższym braku zasilania (ok 10s) i ponownym załączeniu, procesor zawiesza się wewnątrz funkcji <div class="codetitle"><b>Code:</b></div><div class="codecontent">TWI_read_buf</div><br />zawiesza się po:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TWI_write(SLA + 1);</div><br />jeśli od razu po niej dam opóźnienie 100ms - działa jak należy.<br /><br />co ciekawe, jeśli wyłącze na krótszy czas (1-2s) taki problem nie występuje, czyli jeśli po długiej przerwie włacze to procek się zawiesza, ale wystarczy szybko wyłączyć i włączyć i już gra .<br />jeśli któryś z kolegów mógłby  wytłumaczyć te zjawiska byłbym wdzięczny <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />sprawdzałem na innej kości pcf8563 - to samo<br />i jeszcze kod (działający poprawnie):<br />[syntax=c]void TWI_read_buf(uint8_t SLA, uint8_t adr, uint8_t len, uint8_t *buf) {<br /><br />TWI_start();<br /><br />lcd_cls();<br />lcd_str(&quot;start&quot;);<br />_delay_ms(200);<br /><br />TWI_write(SLA);<br /><br />lcd_cls();<br />lcd_str(&quot;sla&quot;);<br />_delay_ms(200);<br /><br />TWI_write(adr);<br /><br />lcd_cls();<br />lcd_str(&quot;adr&quot;);<br />_delay_ms(200);<br /><br />TWI_start();<br /><br />lcd_cls();<br />lcd_str(&quot;start_2&quot;);<br />_delay_ms(200);<br /><br />TWI_write(SLA + 1);<br />_delay_ms(100);<br />//lcd_cls();<br />//lcd_str(&quot;sla+1&quot;);<br />//_delay_ms(200);<br /><br />while (len--) *buf++ = TWI_read( len ? ACK : NACK );<br />TWI_stop();<br />}[/syntax]<br /><br />pozdrawiam, Michał<br /><br />eee jednak zatrzymuje się dalej, bo potrafi wyświetlić odkomentowane &quot;sla+1&quot; , więc jeszcze trochę pogrzebię zanim coś będzie jaśniej<br /><br />- staje gdzieś w :<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">while (len--) *buf++ = TWI_read( len ? ACK : NACK );</div><br />???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=207">michal</a> — 12 maja 2012, o 11:44</p><hr />
]]></content>
</entry>
</feed>