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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-16T20:30:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=49&amp;t=11071&amp;mode</id>
<entry>
<author><name><![CDATA[Emhyr]]></name></author>
<updated>2015-03-16T20:30:23+01:00</updated>
<published>2015-03-16T20:30:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123651#p123651</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123651#p123651"/>
<title type="html"><![CDATA[Re: Biblioteka TWI/I2C - własna implementacja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123651#p123651"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Jeśli sprawdzona i działa ładnie to fajnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />Właśnie poeksperymentowałem z tym kodem i mam pewien problem, a mianowicie podczas przesyłania diody dziwnie migają. Transfer kończy się powodzeniem i na urządzenie otrzymuje odpowiednie dane, jednak jeśli chcemy sterować np diodami LED, to problem migania jest widoczny. Proszę o pomoc w odnalezieniu przyczyny. To problem kodu ASM, gdyż w c wszystko działa.<br /><br />Filmik na którym widać co się dzieje (powinien każdemu otworzyć się w przeglądarce):<br /><a href="http://gamilon.morecraft.pl/pcf8574p_mig_001.mp4"  class="postlink">VIDEO</a> - widać od mniej więcej 6-tej sekundy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9033">Emhyr</a> — 16 mar 2015, o 20:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-16T13:17:13+01:00</updated>
<published>2015-03-16T13:17:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123602#p123602</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123602#p123602"/>
<title type="html"><![CDATA[Re: Biblioteka TWI/I2C - własna implementacja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123602#p123602"><![CDATA[
Jeśli sprawdzona i działa ładnie to fajnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 16 mar 2015, o 13:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Emhyr]]></name></author>
<updated>2015-03-16T13:09:32+01:00</updated>
<published>2015-03-16T13:09:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123600#p123600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123600#p123600"/>
<title type="html"><![CDATA[Biblioteka TWI/I2C - własna implementacja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11071&amp;p=123600#p123600"><![CDATA[
Hej,<br /><br />Na podstawie sporej ilości różnych materiałów skompletowałem implementację interfejsu TWI.<br /><br />(Postaram się poprawić formatowanie  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  )<br />[syntax=asm]/*<br /> * TWI.inc<br /> *<br /> *  Created: 2015-03-14 15:34:01<br /> *  Version: 1.0.0<br /> *   Edited: 2015-03-16<br /> *   Author: Mateusz Stefaniak (Emhyr/MStef94)<br /> *  Contact: mateusz.stefaniak@morecraft.pl<br /> *           mstef94@gmail.com<br /> */<br /><br /><br /><br />;********************************************<br />;*USAGE:*<br />;*TWI_DATA*<br />;*TEMP*<br />;*F_CPU*<br />;*STACK FOR TWI_SLAVE*<br />;********************************************<br /><br />.EQUTW_START = 0x08<br />.EQUTW_REP_START= 0x10<br />.EQUTW_MT_SLA_ACK= 0x18<br />.EQUTW_MT_SLA_NACK= 0x20<br />.EQUTW_MT_DATA_ACK= 0x28<br />.EQUTW_MT_DATA_NACK= 0x30<br /><br />.EQUTW_MR_SLA_ACK= 0x40<br />.EQUTW_MR_SLA_NACK= 0x48<br />.EQUTW_MR_DATA_ACK= 0x50<br />.EQUTW_MR_DATA_NACK= 0x58<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_INIT*<br />;*REQUIES*<br />;*NOTHING*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*CALL FIRST*<br />;********************************************<br />TWI_INIT:<br />LDITEMP, (F_CPU/100000 - 16)/8<br />OUTTWBR, TEMP<br />RET<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_START*<br />;*REQUIES*<br />;*NOTHING*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*CALL FIRST*<br />;********************************************<br />TWI_START: <br />LDITEMP, (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN) | (1&lt;&lt;TWSTA)<br />OUTTWCR, TEMP<br />RCALLTWI_WAIT<br />INTEMP, TWSR<br />ANDITEMP, 0xF8<br />CPITEMP, TW_START<br />BREQTWI_FREE<br />CPITEMP, TW_REP_START<br />BRNETWI_EXIT<br />TWI_FREE:<br />SEC<br />RET<br />TWI_EXIT:<br />CLC<br />RET<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_SLAVE*<br />;*REQUIES*<br />;*TWI_ADDR, STACK*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*SETS SLA_W ADDR*<br />;*IMPORTANT INFO*<br />;*THIS FUNCTION USES TWI_WRITE,*<br />;*SO TYPING SLAVE ADDRESS TO*<br />;*TWI_DATA AND EXECUTING*<br />;*TWI_WRITE IS EQUIVALENT OF THIS*<br />;*FUNCTION *<br />;********************************************<br />TWI_SLAVE:<br />PUSHTWI_DATA<br />MOVTWI_DATA, TWI_ADDR<br />RCALLTWI_WRITE<br />POPTWI_DATA<br />RET<br />/*TWI_SLAVE:<br />INTEMP, TWSR<br />ANDITEMP, 0xF8<br />CPITEMP, TW_START<br />;BRNETWI_ERROR<br />BREQTWI_SLAVE_FREE<br />MOVTEMP, TWI_ADDR<br />OUTTWDR, TEMP<br />LDITEMP, (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN)<br />OUTTWCR, TEMP<br />RET<br />TWI_SLAVE_FREE:<br />SEC<br />RET*/<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_STOP*<br />;*REQUIES*<br />;*NOTHING*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*NOTHING*<br />;********************************************<br />TWI_STOP: <br />LDITEMP, (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN) | (1&lt;&lt;TWSTO)<br />OUTTWCR, TEMP<br />RET<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_WRITE*<br />;*REQUIES*<br />;*TWI_DATA*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*NOTHING*<br />;********************************************<br />TWI_WRITE:<br />OUTTWDR, TWI_DATA<br />LDITEMP, (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN)<br />OUTTWCR, TEMP<br />RCALLTWI_WAIT<br />INTEMP, TWSR<br />ANDITEMP, 0xF8<br />CPITEMP, TW_MT_SLA_ACK<br />BREQTWI_ACK<br />CPITEMP, TW_MT_DATA_ACK<br />BREQTWI_ACK<br />CPITEMP, TW_MR_SLA_ACK<br />BREQTWI_ACK<br />CPITEMP, TW_MR_DATA_ACK<br />BREQTWI_ACK<br />CLC<br />RET<br />TWI_ACK:<br />SEC<br />RET<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_WRITE*<br />;*REQUIES*<br />;*NOTHING*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*RETURNS DATA TO TWI_DATA*<br />;********************************************<br />TWI_READ:<br />CLC<br />LDITEMP, (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)<br />BRCCTWI_NAK<br />ORITEMP, (1&lt;&lt;TWEA)<br />TWI_NAK:<br />OUTTWCR, TEMP<br />RCALLTWI_WAIT<br />INTWI_DATA, TWDR<br />RET<br /><br />;********************************************<br />;*FUNCTION*<br />;*TWI_WAIT*<br />;*REQUIES*<br />;*NOTHING*<br />;*USES*<br />;*TEMP*<br />;*MISC*<br />;*NOTHING*<br />;********************************************<br />TWI_WAIT:<br />INTEMP, TWCR<br />SBRSTEMP, TWINT<br />RJMPTWI_WAIT<br />RET<br /><br />TWI_ERROR:<br />RJMPTWI_ERROR[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9033">Emhyr</a> — 16 mar 2015, o 13:09</p><hr />
]]></content>
</entry>
</feed>