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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-06-17T17:40:11+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1180&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-17T17:40:11+01:00</updated>
<published>2012-06-17T17:40:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8158#p8158</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8158#p8158"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8158#p8158"><![CDATA[
No tak tym bardziej że ja akurat się gps'em nie zajmowałem <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> — 17 cze 2012, o 17:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-06-17T17:03:51+01:00</updated>
<published>2012-06-17T17:03:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8150#p8150</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8150#p8150"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8150#p8150"><![CDATA[
na pewno cię wspomogę Mirku bo też uwielbiam się bawić GSM i dodatkowo GPS <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=58">SunRiver</a> — 17 cze 2012, o 17:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-17T15:56:49+01:00</updated>
<published>2012-06-17T15:56:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8146#p8146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8146#p8146"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8146#p8146"><![CDATA[
Dokładnie, bo wszystkim nie dam rady się zająć - a ponieważ komunikacja z modemami GSM, SMSy - to mój drugi konik <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to wiem że do tego na pewno podejdę jeszcze wcześniej czy później.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 cze 2012, o 15:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[filipo96]]></name></author>
<updated>2012-06-17T14:42:31+01:00</updated>
<published>2012-06-17T14:42:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8139#p8139</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8139#p8139"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8139#p8139"><![CDATA[
Ja chciałbym widzieć jeszcze slave i2c TWI, ale poczekamy zobaczymy.<br />Pan Mirek kiedyś coś pisał, że chciał by omówić komunikację z modułami GSM.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=99">filipo96</a> — 17 cze 2012, o 14:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[filipo96]]></name></author>
<updated>2012-06-17T09:13:52+01:00</updated>
<published>2012-06-17T09:13:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8127#p8127</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8127#p8127"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8127#p8127"><![CDATA[
Odpuściłem sobie z usi za to wziąłem się za TWI slave.<br />Napisałem taki program jak w załączniku.<br />Bardzo proszę o sprawdzenie pod kątem zmiennych w przerwaniu i po za nim, czy je dobrze deklaruje?<br />Nie wiem czy dać static tak jak jest w tym programie ATMEL-a, czy volatile?<br />Przecież to jest w przerwaniu.<br />Proszę także o uwagi pod kątem optymalizacji kodu lub polepszenia czegoś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=99">filipo96</a> — 17 cze 2012, o 09:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janbernat]]></name></author>
<updated>2012-06-16T21:34:48+01:00</updated>
<published>2012-06-16T21:34:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8123#p8123</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8123#p8123"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8123#p8123"><![CDATA[
Kompiluje się i daje się wgrać.<br />ALE NIE SPRAWDZONE.<br />Jak chcesz to próbuj.<br />plik .c<br />[syntax=c]<br />// This file has been prepared for Doxygen automatic documentation generation.<br />/*! \file ********************************************************************<br />*<br />* Atmel Corporation<br />*<br />* File              : USI_TWI_Slave.c<br />* Compiler          : IAR EWAAVR 3.20c<br />* Revision          : $Revision: 1.14 $<br />* Date              : $Date: Friday, December 09, 2005 17:25:38 UTC $<br />* Updated by        : $Author: jtyssoe $<br />*<br />* Support mail      : <!-- e --><a href="mailto:avr@atmel.com">avr@atmel.com</a><!-- e --><br />*<br />* Supported devices : All device with USI module can be used.<br />*<br />* AppNote           : AVR312 - Using the USI module as a I2C slave<br />*<br />* Description       : Example showing how to use the USI_TWI drivers;<br />*                     Loops back received data.<br />*<br />*<br />****************************************************************************/<br /><br />#include &lt;stdio.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;i2c_usi_slave.h&quot;<br /><br />// Sample TWI transmission commands<br />#define TWI_CMD_MASTER_WRITE 0x10<br />#define TWI_CMD_MASTER_READ  0x20<br />#define TWI_CMD_MASTER_WRITE_ALOT 0x30<br /><br />/* \Brief The main function.<br /> * The program entry point. Initates TWI and enters eternal loop, waiting for data.<br /> */<br />int main( void )<br />{<br />  unsigned char TWI_slaveAddress, temp;<br /><br />  // LED feedback port - connect port B to the STK500 LEDS<br />  DDRB  = 0xFF; // Set to ouput<br />  PORTB = 0x55; // Startup pattern<br /><br />  DDRA = 0xFF;  // L2 Used to time interrupts.<br /><br />  // Own TWI slave address<br />  TWI_slaveAddress = 0x10;<br />  USI_TWI_Slave_Initialise( TWI_slaveAddress );<br /><br />  sei();<br />  // This loop runs forever. If the TWI Transceiver is busy the execution will just continue doing other operations.<br />  for(;;)<br />  {<br /><br />    if( USI_TWI_Data_In_Receive_Buffer() )<br />    {<br />        temp = USI_TWI_Receive_Byte();<br />        PORTB = temp;<br />        USI_TWI_Transmit_Byte(temp);<br />    }<br /><br />    // Do something else while waiting for the TWI transceiver to complete.<br />//    __no_operation(); // Put own code here.<br />  }<br />}<br /><br />/*! \mainpage<br /> * \section Intro Introduction<br /> * This documents data structures, functions, variables, defines, enums, and<br /> * typedefs in the software for application note AVR312.<br /> *<br /> * \section CI Compilation Info<br /> * This software was written for the IAR Embedded Workbench 4.11A.<br /> *<br /> * To make project:<br /> * &lt;ol&gt;<br /> * &lt;li&gt; Add the file main.c and USI_TWI_Slave to project.<br /> * &lt;li&gt; Under processor configuration, select any AVR device with USI module.<br /> * &lt;li&gt; Enable bit definitions in I/O include files<br /> * &lt;li&gt; High optimization on size is recommended for lower code size.<br /> * &lt;/ol&gt;<br /> *<br /> * \section DI Device Info<br /> * The included source code is written for all devices with with a USI module.<br /> *<br /> * \section TS Target setup<br /> * This example is made to work together with the AVR310 USI TWI Master application note. In adition to connecting the TWI<br /> * pins, also connect PORTB to the LEDS. The code reads a message as a TWI slave and acts according to if it is a<br /> * general call, or an address call. If it is an address call, then the first byte is considered a command byte and<br /> * it then responds differently according to the commands.<br /> *<br /> */<br /><br />plik .h<br />// This file has been prepared for Doxygen automatic documentation generation.<br />/*! \file ********************************************************************<br />*<br />* Atmel Corporation<br />*<br />* File              : USI_TWI_Slave.h<br />* Compiler          : IAR EWAAVR 4.11A<br />* Revision          : $Revision: 1.14 $<br />* Date              : $Date: Friday, December 09, 2005 17:25:38 UTC $<br />* Updated by        : $Author: jtyssoe $<br />*<br />* Support mail      : <!-- e --><a href="mailto:avr@atmel.com">avr@atmel.com</a><!-- e --><br />*<br />* Supported devices : All device with USI module can be used.<br />*                     The example is written for the ATmega169, ATtiny26 &amp; ATtiny2313<br />*<br />* AppNote           : AVR312 - Using the USI module as a TWI slave<br />*<br />* Description       : Header file for USI_TWI driver<br />*<br />*<br />*<br />****************************************************************************/<br />//! Prototypes<br />void          USI_TWI_Slave_Initialise( unsigned char );<br />void          USI_TWI_Transmit_Byte( unsigned char );<br />unsigned char USI_TWI_Receive_Byte( void );<br />unsigned char USI_TWI_Data_In_Receive_Buffer( void );<br />void          Timer_Init(void);<br /><br />#define TRUE                1<br />#define FALSE               0<br /><br />typedef     unsigned char       uint8_t;<br /><br />//////////////////////////////////////////////////////////////////<br />///////////////// Driver Buffer Definitions //////////////////////<br />//////////////////////////////////////////////////////////////////<br />// 1,2,4,8,16,32,64,128 or 256 bytes are allowed buffer sizes<br /><br />#define TWI_RX_BUFFER_SIZE  (16)<br />#define TWI_RX_BUFFER_MASK ( TWI_RX_BUFFER_SIZE - 1 )<br /><br />#if ( TWI_RX_BUFFER_SIZE &amp; TWI_RX_BUFFER_MASK )<br />        #error TWI RX buffer size is not a power of 2<br />#endif<br /><br />// 1,2,4,8,16,32,64,128 or 256 bytes are allowed buffer sizes<br /><br />#define TWI_TX_BUFFER_SIZE  (16)<br />#define TWI_TX_BUFFER_MASK ( TWI_TX_BUFFER_SIZE - 1 )<br /><br />#if ( TWI_TX_BUFFER_SIZE &amp; TWI_TX_BUFFER_MASK )<br />        #error TWI TX buffer size is not a power of 2<br />#endif<br /><br /><br /><br />#define USI_SLAVE_CHECK_ADDRESS                (0x00)<br />#define USI_SLAVE_SEND_DATA                    (0x01)<br />#define USI_SLAVE_REQUEST_REPLY_FROM_SEND_DATA (0x02)<br />#define USI_SLAVE_CHECK_REPLY_FROM_SEND_DATA   (0x03)<br />#define USI_SLAVE_REQUEST_DATA                 (0x04)<br />#define USI_SLAVE_GET_DATA_AND_SEND_ACK        (0x05)<br /><br />/*<br />//! Device dependent defines<br />#if defined(__AT90tiny26__) | defined(__ATtiny26__)<br />    #define DDR_USI             DDRB<br />    #define PORT_USI            PORTB<br />    #define PIN_USI             PINB<br />    #define PORT_USI_SDA        PORTB0<br />    #define PORT_USI_SCL        PORTB2<br />    #define PIN_USI_SDA         PINB0<br />    #define PIN_USI_SCL         PINB2<br />    #define USI_START_COND_INT  USISIF<br />    #define USI_START_VECTOR    USI_STRT_vect<br />    #define USI_OVERFLOW_VECTOR USI_OVF_vect<br />#endif<br /><br />#if defined(__AT90Tiny2313__) | defined(__ATtiny2313__)<br />*/<br />    #define DDR_USI             DDRB<br />    #define PORT_USI            PORTB<br />    #define PIN_USI             PINB<br />    #define PORT_USI_SDA        PORTB5<br />    #define PORT_USI_SCL        PORTB7<br />    #define PIN_USI_SDA         PINB5<br />    #define PIN_USI_SCL         PINB7<br />    #define USI_START_COND_INT  USISIF<br />    #define USI_START_VECTOR    USI_STRT_vect<br />    #define USI_OVERFLOW_VECTOR USI_OVF_vect<br /><br />/*<br />#endif<br /><br />#if defined(__ATtiny25__) | defined(__ATtiny45__) | defined(__ATtiny85__)<br />    #define DDR_USI             DDRB<br />    #define PORT_USI            PORTB<br />    #define PIN_USI             PINB<br />    #define PORT_USI_SDA        PORTB0<br />    #define PORT_USI_SCL        PORTB2<br />    #define PIN_USI_SDA         PINB0<br />    #define PIN_USI_SCL         PINB2<br />    #define USI_START_COND_INT  USICIF<br />    #define USI_START_VECTOR    USI_START_vect<br />    #define USI_OVERFLOW_VECTOR USI_OVF_vect<br />#endif<br /><br />#if defined(__AT90Mega165__) | defined(__ATmega165__) | \<br />    defined(__ATmega325__) | defined(__ATmega3250__) | \<br />    defined(__ATmega645__) | defined(__ATmega6450__) | \<br />    defined(__ATmega329__) | defined(__ATmega3290__) | \<br />    defined(__ATmega649__) | defined(__ATmega6490__)<br />    #define DDR_USI             DDRE<br />    #define PORT_USI            PORTE<br />    #define PIN_USI             PINE<br />    #define PORT_USI_SDA        PORTE5<br />    #define PORT_USI_SCL        PORTE4<br />    #define PIN_USI_SDA         PINE5<br />    #define PIN_USI_SCL         PINE4<br />    #define USI_START_COND_INT  USISIF<br />    #define USI_START_VECTOR    USI_START_vect<br />    #define USI_OVERFLOW_VECTOR USI_OVERFLOW_vect<br />#endif<br /><br />#if defined(__AT90Mega169__) | defined(__ATmega169__)<br />    #define DDR_USI             DDRE<br />    #define PORT_USI            PORTE<br />    #define PIN_USI             PINE<br />    #define PORT_USI_SDA        PORTE5<br />    #define PORT_USI_SCL        PORTE4<br />    #define PIN_USI_SDA         PINE5<br />    #define PIN_USI_SCL         PINE4<br />    #define USI_START_COND_INT  USISIF<br />    #define USI_START_VECTOR    USI_STRT_vect<br />    #define USI_OVERFLOW_VECTOR USI_OVF_vect<br />#endif<br />*/<br />//! Functions implemented as macros<br />#define SET_USI_TO_SEND_ACK()                                                                                 \<br />{                                                                                                             \<br />        USIDR    =  0;                                              /* Prepare ACK                         */ \<br />        DDR_USI |=  (1&lt;&lt;PORT_USI_SDA);                              /* Set SDA as output                   */ \<br />        USISR    =  (0&lt;&lt;USI_START_COND_INT)|(1&lt;&lt;USIOIF)|(1&lt;&lt;USIPF)|(1&lt;&lt;USIDC)|  /* Clear all flags, except Start Cond  */ \<br />                    (0x0E&lt;&lt;USICNT0);                                /* set USI counter to shift 1 bit. */ \<br />}<br /><br />#define SET_USI_TO_READ_ACK()                                                                                 \<br />{                                                                                                             \<br />        DDR_USI &amp;=  ~(1&lt;&lt;PORT_USI_SDA);                             /* Set SDA as intput */                   \<br />        USIDR    =  0;                                              /* Prepare ACK        */                  \<br />        USISR    =  (0&lt;&lt;USI_START_COND_INT)|(1&lt;&lt;USIOIF)|(1&lt;&lt;USIPF)|(1&lt;&lt;USIDC)|  /* Clear all flags, except Start Cond  */ \<br />                    (0x0E&lt;&lt;USICNT0);                                /* set USI counter to shift 1 bit. */ \<br />}<br /><br />#define SET_USI_TO_TWI_START_CONDITION_MODE()                                                                                     \<br />{                                                                                                                                 \<br />  USICR    =  (1&lt;&lt;USISIE)|(0&lt;&lt;USIOIE)|                        /* Enable Start Condition Interrupt. Disable Overflow Interrupt.*/  \<br />              (1&lt;&lt;USIWM1)|(0&lt;&lt;USIWM0)|                        /* Set USI in Two-wire mode. No USI Counter overflow hold.      */  \<br />              (1&lt;&lt;USICS1)|(0&lt;&lt;USICS0)|(0&lt;&lt;USICLK)|            /* Shift Register Clock Source = External, positive edge        */  \<br />              (0&lt;&lt;USITC);                                                                                                         \<br />  USISR    =  (0&lt;&lt;USI_START_COND_INT)|(1&lt;&lt;USIOIF)|(1&lt;&lt;USIPF)|(1&lt;&lt;USIDC)|  /* Clear all flags, except Start Cond                            */ \<br />              (0x0&lt;&lt;USICNT0);                                                                                                     \<br />}<br /><br />#define SET_USI_TO_SEND_DATA()                                                                               \<br />{                                                                                                            \<br />    DDR_USI |=  (1&lt;&lt;PORT_USI_SDA);                                  /* Set SDA as output                  */ \<br />    USISR    =  (0&lt;&lt;USI_START_COND_INT)|(1&lt;&lt;USIOIF)|(1&lt;&lt;USIPF)|(1&lt;&lt;USIDC)|      /* Clear all flags, except Start Cond */ \<br />                (0x0&lt;&lt;USICNT0);                                     /* set USI to shift out 8 bits        */ \<br />}<br /><br />#define SET_USI_TO_READ_DATA()                                                                               \<br />{                                                                                                            \<br />    DDR_USI &amp;= ~(1&lt;&lt;PORT_USI_SDA);                                  /* Set SDA as input                   */ \<br />    USISR    =  (0&lt;&lt;USI_START_COND_INT)|(1&lt;&lt;USIOIF)|(1&lt;&lt;USIPF)|(1&lt;&lt;USIDC)|      /* Clear all flags, except Start Cond */ \<br />                (0x0&lt;&lt;USICNT0);                                     /* set USI to shift out 8 bits        */ \<br />}<br />[/syntax]<br />To jest jeden z problemów które bym chciał widzieć w następnej książce Mirka.<br />Usi master/slave dla I2C.<br />Usi master/ slave dla SPI.<br />Dla TWI- też.<br />Coś można znaleźć, coś działa- ale Mirek pewnie to zrobi lepiej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=171">janbernat</a> — 16 cze 2012, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[filipo96]]></name></author>
<updated>2012-06-16T21:29:35+01:00</updated>
<published>2012-06-16T21:29:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8122#p8122</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8122#p8122"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8122#p8122"><![CDATA[
Pisałem, że patrzyłem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=99">filipo96</a> — 16 cze 2012, o 21:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DC2002]]></name></author>
<updated>2012-06-16T21:20:21+01:00</updated>
<published>2012-06-16T21:20:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8121#p8121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8121#p8121"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8121#p8121"><![CDATA[
Źle Cię zrozumiałem. Rzuciłem okiem na ten rxTail i skojarzyło mi się z biblioteką do RS-a z książki. Dopiero teraz zaglądnąłem do załącznika. Rzeczywiście jak się otwiera takie pliki to ciężko się połapać. Ale tam jest jasno napisane: &quot;Created from Atmel source files for Application Note AVR312: Using the USI Module<br />as an I2C slave.&quot; Zaglądnij do tej noty AVR312, może się trochę wyjaśni.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=286">DC2002</a> — 16 cze 2012, o 21:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[filipo96]]></name></author>
<updated>2012-06-16T19:57:40+01:00</updated>
<published>2012-06-16T19:57:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8110#p8110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8110#p8110"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8110#p8110"><![CDATA[
Mam tą książkę i drugą także.<br />Jednak w obu książkach brak i2c slave, a tym bardziej poprzez USI.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=99">filipo96</a> — 16 cze 2012, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DC2002]]></name></author>
<updated>2012-06-16T19:52:45+01:00</updated>
<published>2012-06-16T19:52:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8109#p8109</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8109#p8109"/>
<title type="html"><![CDATA[Re: USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8109#p8109"><![CDATA[
Witaj!<br />Wszystko co potrzebujesz aby opanować ten materiał jest w książce MIKROKONTROLERY AVR JĘZYK C PODSTAWY PROGRAMOWANIA. Nie muszę chyba dodawać, że książkę napisał wspomniany już Mirek. <br />Gorąco polecam tą książkę, nie tylko jest źródłem bibliotek ale można się nauczyć pisania programów od podstaw.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=286">DC2002</a> — 16 cze 2012, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[filipo96]]></name></author>
<updated>2012-06-16T19:45:48+01:00</updated>
<published>2012-06-16T19:45:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8108#p8108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8108#p8108"/>
<title type="html"><![CDATA[USI I2C SLAVE]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1180&amp;p=8108#p8108"><![CDATA[
Dzień dobry.<br />Po dniu poszukiwania internetu znalazłem bibliotekę taką jak w załączniku.<br />Znalazłem ją na znanym forum udostępniona została przez Pana Mirka.<br />Chciałem ją zastosować w praktyce, jednak rodzi się w mojej głowie kilka pytań.<br />Co to jest:<br />rxHead, rxTail, txHead, txTail<br />TWI_RX_BUFFER_SIZE, TWI_RX_BUFFER_MASK<br />TWI_TX_BUFFER_SIZE, TWI_TX_BUFFER_MASK<br />Mógłby mi ktoś jasno wytłumaczyć jak działa ta biblioteka patrzyłem po nocie i po pdf-ie jednak jest to dla mnie czarna MAGIA.<br />Głównie chodzi mnie o operacje na ww. definicjach i zmiennych. <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />.<br />Jeszce raz bardzo proszę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=99">filipo96</a> — 16 cze 2012, o 19:45</p><hr />
]]></content>
</entry>
</feed>