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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2024-01-28T19:43:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=24615&amp;mode</id>
<entry>
<author><name><![CDATA[JarekK]]></name></author>
<updated>2024-01-28T19:43:31+01:00</updated>
<published>2024-01-28T19:43:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237855#p237855</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237855#p237855"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237855#p237855"><![CDATA[
Jeśli na I2C ma być tylko jeden slave i można zrezygnować z I2C na przerwaniach, to jest fajny tutorial dla Attiny817 z wyjaśnieniem i kodami I2C:<br /><!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=ojBST0XEFl8" >https://www.youtube.com/watch?v=ojBST0XEFl8</a><!-- m --><br />Zmiana na ATmega4809 to już kosmetyka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=224">JarekK</a> — 28 sty 2024, o 19:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekK]]></name></author>
<updated>2024-01-27T11:43:40+01:00</updated>
<published>2024-01-27T11:43:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237852#p237852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237852#p237852"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237852#p237852"><![CDATA[
Alternatywą do wyżej wymienionej gotowej dla atmega4809 biblioteki na <!-- m --><a class="postlink" href="https://start.atmel.com/" >https://start.atmel.com/</a><!-- m --> <br />która jak się okazuje może stwarzać trudności jest ewentualnie biblioteka  dla TWI z attiny817. Rejestry i funkcjonalność wydają się być niemal identyczne (atmega4809 ma tylko jeden rejestr więcej, który chyba jest używany bardzo sporadycznie).<br /><!-- m --><a class="postlink" href="https://ww1.microchip.com/downloads/en/Appnotes/AN2543-Temperature-Logger-with-ATtiny817-and-SD-Card-v2-00002543C.pdf" >https://ww1.microchip.com/downloads/en/ ... 02543C.pdf</a><!-- m --><br />Przykład jest działający, pytanie tylko na ile otwarty jest w tym przykładzie  kod do prawidłowego działania TWI z czujnikiem temperatury.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=224">JarekK</a> — 27 sty 2024, o 11:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekK]]></name></author>
<updated>2024-01-26T22:18:35+01:00</updated>
<published>2024-01-26T22:18:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237851#p237851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237851#p237851"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237851#p237851"><![CDATA[
A czy ten wątek rozważałeś?<br /><!-- m --><a class="postlink" href="https://www.avrfreaks.net/s/topic/a5C3l000000UZqfEAG/t151595" >https://www.avrfreaks.net/s/topic/a5C3l ... AG/t151595</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=224">JarekK</a> — 26 sty 2024, o 22:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow]]></name></author>
<updated>2024-01-25T07:03:56+01:00</updated>
<published>2024-01-25T07:03:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237839#p237839</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237839#p237839"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237839#p237839"><![CDATA[
<div class="quotetitle">Smykowskii napisał(a):</div><div class="quotecontent"><br />Myślałem o zakupie tej biblioteki ale z tego co wiem są inne rejestry.<br />W końcu to jest dużo nowszy kontroler niż przykładowo Atmega32.<br />Atmega4809 jest wyprodukowana przez Microchip, a nie Atmel.<br /><br />Pozdrawiam Smykowskii<br /></div><br />W sumie racja, nie zwróciłem uwagi, że to nowszy procek.<br />Ale może warto rozpylać temat na starszym i z działającą biblioteką, a potem sportować na nowszy. <br />U samych podstaw filozofia działania nie powinna aż tak bardzo się różnić <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=20760">moscow</a> — 25 sty 2024, o 07:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Smykowskii]]></name></author>
<updated>2024-01-24T23:33:42+01:00</updated>
<published>2024-01-24T23:33:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237838#p237838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237838#p237838"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237838#p237838"><![CDATA[
Myślałem o zakupie tej biblioteki ale z tego co wiem są inne rejestry.<br />W końcu to jest dużo nowszy kontroler niż przykładowo Atmega32.<br />Atmega4809 jest wyprodukowana przez Microchip, a nie Atmel.<br /><br />Pozdrawiam Smykowskii<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=22109">Smykowskii</a> — 24 sty 2024, o 23:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow]]></name></author>
<updated>2024-01-24T23:03:10+01:00</updated>
<published>2024-01-24T23:03:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237837#p237837</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237837#p237837"/>
<title type="html"><![CDATA[Re: Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237837#p237837"><![CDATA[
Tej biblioteki o której piszesz niestety nie znam, ale na serio może warto po prostu zaopatrzyć się atnelową bibliotekę MK I2C jeśli chcesz nastawić się na szybki rezultat.<br /><!-- m --><a class="postlink" href="https://sklep.atnel.pl/pl/p/0581_0582-MK-I2C-AVR-Biblioteka-C/244" >https://sklep.atnel.pl/pl/p/0581_0582-M ... teka-C/244</a><!-- m --><br /><br />Ja pisałem swoją własną obsługę I2C na przerwaniach (akurat mi na tym zależało), ale też poważnie się zakałapućkałem z tym I2C i gdybym nie miał Mirkowej biblioteki jako referencji, to bym wszystkie włosy chyba z głowy wyrwał.<br /><br />Z rzeczy na których utknąłem w którymś momencie mogę wymienić:<br />- niepoprawne oczekiwanie na zakończenie operacji TWI (jeśli nie przerwanie, to trzeba czekać na bit TWINT w rejestrze TWCR)<br />- odpowiednie ustawianie ACK/NACK przy transmisji - błąd potrafi &quot;zawiesić magistralę&quot; w subtelnych okolicznościach - np. kiedy ostatni bit transmisji jest zerem.<br />- na implementację I2C trochę trzeba patrzyć jak na graf operacji, albo maszynę stanów - zauważyłem, że przejście z poprzedniego stanu do następnego musi być zrobione dokładnie tak jak dokumentacji procka opisane - jak zrobi się coś inaczej, to zaczynają się fajerwerki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />podrzucam mój własny przykład implementacji TWI (w trybie Slave) - w dość specyficznym wykorzystaniu - niezbyt generyczne - ale być może się przyda jako referencja, choć z perspektywy czasu nie wydaje mi się ten kod zbyt czytelny - mimo, że sam go pisałem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><!-- m --><a class="postlink" href="https://github.com/k-moskwa/kmSigGen/blob/develop/kmSigGen/kmSigGen/TWISlave.c" >https://github.com/k-moskwa/kmSigGen/bl ... TWISlave.c</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20760">moscow</a> — 24 sty 2024, o 23:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Smykowskii]]></name></author>
<updated>2024-01-24T21:50:41+01:00</updated>
<published>2024-01-24T21:50:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237836#p237836</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237836#p237836"/>
<title type="html"><![CDATA[Atmega4809 w połączeniu z ADS1115 za pomocą I2C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24615&amp;p=237836#p237836"><![CDATA[
Cześć,<br /><br />Uczę się obecnie programować Atmega4809. Kawałek programu napisałem i działa według założeń, lecz utknąłem przy pisaniu biblioteki do obsługi I2C.<br />Szukałem w sieci czegoś na czym można się oprzeć i znalazłem biblioteki na poniższej stronie z pierwszego posta.<br />avrfreaks.net/s/topic/a5C3l000000UZlVEAW/t151275<br />Próbowałem modyfikować rejestry w tej bibliotece według dostępnego manuala i dokumentacji od Microchipa,<br />Rejestrów jest tak dużo że nie wiem co ma być dokładnie ustawione.<br />Pomyślałem o Tym forum z myślą o naprowadzeniu i wskazaniu czym powinienem się zainteresować.<br /><br />Co do HW to Atmega4809 obecnie jest taktowana z wewnętrznego generatora na 10 MHz, zasilanie to 3V3 więc to najwyższe taktowanie.<br />Nie wiem czy nie zasilić z 5V i zwiększyć taktowanie do 20 MHz, ale wtedy musiał bym zastosować konwerter poziomów napięć dla OLED.<br /><br />Potrzebuję zastosować w miarę dokładny ADC najlepiej z pomiarem różnicowym. <br />Postawiłem więc na ADS1115 podpięty jest do magistrali TWI za pomocą pinów PA3 i PA2<br /><br />Co do biblioteki to coś działa w wersji oryginalnej. Jednak jak wysyłam ramkę TWI_Start(0x48); to tak naprawdę jest wysyłana 0x24.<br /><br />A jak wysyłam ramkę TWI_Write(0x01); to wartość jest wysyłana poprawnie, ale jak chcę nadać kolejną TWI_Write(0xC1); <br />to muszę między nimi dać kilkadziesiąt do set opóźnienia w mikrosekundach gdyż wysyła się tylko jedna, a pozostałe już nie są wysyłane.<br /><br />Dzięki za rady z góry. W razie czego dostarczę kod i odczyty z analizatora.<br /><br />Pozdrawiam Smykowskii<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=22109">Smykowskii</a> — 24 sty 2024, o 21:50</p><hr />
]]></content>
</entry>
</feed>