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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5496&amp;mode</id>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-01-11T15:31:01+01:00</updated>
<published>2014-01-11T15:31:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64600#p64600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64600#p64600"/>
<title type="html"><![CDATA[Re: ATMega32A i magnetometr HMC5883l]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64600#p64600"><![CDATA[
<strong><span style="color: #FF0000">Proszę poprawić kody stosując się do zamieszczania listingów w znacznikach SYNTAX</span></strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 sty 2014, o 15:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matiifcb]]></name></author>
<updated>2014-01-12T00:48:48+01:00</updated>
<published>2014-01-11T14:31:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64597#p64597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64597#p64597"/>
<title type="html"><![CDATA[Re: ATMega32A i magnetometr HMC5883l]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64597#p64597"><![CDATA[
Dokładnie chodzi o tą bibliotekę:<br /><a href="http://homepage.hispeed.ch/peterfleury/group__pfleury__ic2master.html"  class="postlink">http://homepage.hispeed.ch/peterfleury/group__pfleury__ic2master.html</a><br /><br />pisząc zapętla się, miałem na myśli to, iż w momencie wywołania metody <em>void i2c_start_wait( unsigned char addr ) <br /></em>.<br /><br />[syntax=c]void i2c_start_wait(unsigned char address)<br />{<br />    uint8_t   twst;<br /><br /><br />    while ( 1 )<br />    {<br />    // send START condition<br />    TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWSTA) | (1&lt;&lt;TWEN);<br />    <br />    // wait until transmission completed<br />    while(!(TWCR &amp; (1&lt;&lt;TWINT)));<br />    <br />    // check value of TWI Status Register. Mask prescaler bits.<br />    twst = TW_STATUS &amp; 0xF8;<br />    if ( (twst != TW_START) &amp;&amp; (twst != TW_REP_START)) continue;<br />    <br />    // send device address<br />    TWDR = address;<br />    TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN);<br />    <br />    // wail until transmission completed<br />    while(!(TWCR &amp; (1&lt;&lt;TWINT)));<br />    <br />    // check value of TWI Status Register. Mask prescaler bits.<br />    twst = TW_STATUS &amp; 0xF8;<br />    if ( (twst == TW_MT_SLA_NACK )||(twst ==TW_MR_DATA_NACK) ) <br />    {        <br />        /* device busy, send stop condition to terminate write operation */<br />        TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN) | (1&lt;&lt;TWSTO);<br />        <br />        // wait until stop condition is executed and bus released<br />        while(TWCR &amp; (1&lt;&lt;TWSTO));<br />        <br />        continue;<br />    }<br />    //if( twst != TW_MT_SLA_ACK) return 1;<br />    break;<br />     }<br /><br />}/* i2c_start_wait */[/syntax]<br /><br /><br />w metodzie w/w warunek:<br /><strong>if ( (twst != TW_START) &amp;&amp; (twst != TW_REP_START)) continue;</strong><br /><br />zawsze jest spełniony . Czym to może być spowodowane?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2398">matiifcb</a> — 11 sty 2014, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2015-11-06T14:10:43+01:00</updated>
<published>2014-01-11T14:19:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64592#p64592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64592#p64592"/>
<title type="html"><![CDATA[Re: ATMega32A i magnetometr HMC5883l]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64592#p64592"><![CDATA[
<span style="color: #BFFFBF">.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 11 sty 2014, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matiifcb]]></name></author>
<updated>2014-01-12T00:49:13+01:00</updated>
<published>2014-01-10T19:41:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64545#p64545</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64545#p64545"/>
<title type="html"><![CDATA[ATMega32A i magnetometr HMC5883l]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5496&amp;p=64545#p64545"><![CDATA[
Witam,<br /><br />w moim projekcie używam magnetometru :<br /><strong>http://nettigo.pl/products/244</strong><br /><br />problem leży chyba po stronie komunikacji po i2c, a mianowicie korzystam z biblioteki <em> peter fleury i2c </em>.<br /><br />w momencie wywołania metody : <br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">unsigned char i2c_start_wait(unsigned char address)<br />{<br />    uint8_t   twst;<br /><br />   // send START condition<br />   TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWSTA) | (1&lt;&lt;TWEN);<br /><br />   // wait until transmission completed<br />   while(!(TWCR &amp; (1&lt;&lt;TWINT)));<br /><br />   // check value of TWI Status Register. Mask prescaler bits.<br />   twst = TW_STATUS &amp; 0xF8;<br />   if ( (twst != TW_START) &amp;&amp; (twst != TW_REP_START)) return 1;<br /><br />   // send device address<br />   TWDR = address;<br />   TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN);<br /><br />   // wail until transmission completed and ACK/NACK has been received<br />   while(!(TWCR &amp; (1&lt;&lt;TWINT)));<br /><br />   // check value of TWI Status Register. Mask prescaler bits.<br />   twst = TW_STATUS &amp; 0xF8;<br />   if ( (twst != TW_MT_SLA_ACK) &amp;&amp; (twst != TW_MR_SLA_ACK) ) return 1;<br /><br />   return 0;<br /><br />}/* <br /></div><br /><br /><br />..program po prostu się zapętla.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2398">matiifcb</a> — 10 sty 2014, o 19:41</p><hr />
]]></content>
</entry>
</feed>