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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-06-26T13:28:07+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15623&amp;mode</id>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-26T13:28:07+01:00</updated>
<published>2016-06-26T13:28:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162959#p162959</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162959#p162959"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162959#p162959"><![CDATA[
Problem rozwiązany.<br />Jednak problemem były połączenia (przewód nie łączył od scl i niebyło podciągania do vcc przez rezystor).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 26 cze 2016, o 13:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-19T18:01:31+01:00</updated>
<published>2016-06-19T18:01:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162599#p162599</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162599#p162599"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162599#p162599"><![CDATA[
<div class="quotetitle">mateusz19955 napisał(a):</div><div class="quotecontent"><br />Jak sprawdzić czy wystąpiła jakaś awaria na magistrali tak jak pisałeś wyżej?<br /></div>To zbyt obszerny i zawiły temat, aby tłumaczyć na forum. Większość bibliotek do obsługi TWI, nie korzysta z tego rejestru i te kod działa, dopóki nie wystąpi jakaś sytuacja awaryjna. Dlatego prosiłem, żebyś sprawdził połączenia, bo to może mieć znaczenie, choć wcale nie twierdzę, że to musi być wina połączeń.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 cze 2016, o 18:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-19T17:43:04+01:00</updated>
<published>2016-06-19T17:43:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162597#p162597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162597#p162597"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162597#p162597"><![CDATA[
Tam są bity TWPS0 i TWPS1, one ustawiają jakiś preskaler. Ale do czego służy ten preskaler?<br />Jak sprawdzić czy wystąpiła jakaś awaria na magistrali tak jak pisałeś wyżej?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 19 cze 2016, o 17:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-19T17:32:15+01:00</updated>
<published>2016-06-19T17:32:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162595#p162595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162595#p162595"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162595#p162595"><![CDATA[
<div class="quotetitle">mateusz19955 napisał(a):</div><div class="quotecontent"><br />To jak połączenia są źle to procesor nie widzi tego tda(nie może nic do niego wysłać) i dlatego program może się zatrzymywać na funkcjach do wysyłania?<br /></div><br />Na magistrali mogą wystąpić różne sytuacje awaryjne (brak podciągania do Vcc, zwarcie do masy, zwarcie do Vcc), dlatego mikrokontroler po wykonaniu każdej operacji sprawdza, czy została wykonana poprawnie. Informacja o tym (po zakończeniu każdej operacji) znajduje się w rejestrze TWSR. W przypadku zaistnienia takiego błędu należy na niego odpowiednio zareagować w programie, bo inaczej maszyna stanów, jaką jest interfejs TWI, może się pogubić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 cze 2016, o 17:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-19T17:14:34+01:00</updated>
<published>2016-06-19T17:14:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162594#p162594</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162594#p162594"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162594#p162594"><![CDATA[
To jak połączenia są źle to procesor nie widzi tego tda(nie może nic do niego wysłać) i dlatego program może się zatrzymywać na funkcjach do wysyłania?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 19 cze 2016, o 17:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-19T17:06:49+01:00</updated>
<published>2016-06-19T17:06:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162593#p162593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162593#p162593"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162593#p162593"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />A połączenia w tym przypadku nie mają znaczenia bo to program się zatrzymuje.<br /></div><br />Skoro wiesz lepiej...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 cze 2016, o 17:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-19T17:02:38+01:00</updated>
<published>2016-06-19T17:02:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162591#p162591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162591#p162591"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162591#p162591"><![CDATA[
Zmniejszenie prędkości nic nie pomogło.<br />A połączenia w tym przypadku nie mają znaczenia bo to program się zatrzymuje.<br />Co jeszcze może być nie tak, że po dodaniu funkcji do wysyłania przez i2c zatrzymuje program (program stoi w tym miejscu i dalej już nie chce przejść).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 19 cze 2016, o 17:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-19T16:45:41+01:00</updated>
<published>2016-06-19T16:45:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162589#p162589</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162589#p162589"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162589#p162589"><![CDATA[
<div class="quotetitle">mateusz19955 napisał(a):</div><div class="quotecontent"><br />[syntax=c]        i2cSetBitrate(200);[/syntax]<br /></div>Zdaje się, że bitrate jest w kHz. Jeśli tak, to powinieneś zmniejszyć do 100 lub mniej, bo ten układ ma maksymalną prędkość transmisji 100kHz.<br /><br />Poza tym sprawdź, czy połączenia masz w porządku.<br /><br />Usuń ten kod z forum, bo naruszasz prawa autorskie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 cze 2016, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-19T15:59:33+01:00</updated>
<published>2016-06-19T15:59:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162582#p162582</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162582#p162582"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162582#p162582"><![CDATA[
To co ja mam tu wysłać?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 24 minutach ]</span></strong><br /><br />Kurde, wystarczy że gdzieś dopiszę tylko linijkę TWI_start(); a program już zatrzymuje się w miejscu tej linijki.<br />Co może być źle?<br /><br />Biblioteki twi:<br /><br />i2c_twi.c<br />[syntax=c]/*<br /> * i2c_twi.c<br /> *<br /> *  Created on: 2010-09-07<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br /><br />#include &quot;i2c_twi.h&quot;<br /><br />/[/syntax]<br /><br /><strong><span style="color: #FF0000">Na początek ...  kolega odnajdzie i przeczyta zasady forum i jak jeszcze raz umieści biblioteki z książki gdziekolwiek to tu na forum bedzie tylko ban , ale moze sie skończyć gorzej .... SunRiver</span></strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 19 cze 2016, o 15:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-19T15:40:59+01:00</updated>
<published>2016-06-19T15:40:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162581#p162581</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162581#p162581"/>
<title type="html"><![CDATA[Re: tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162581#p162581"><![CDATA[
<div class="quotetitle">mateusz19955 napisał(a):</div><div class="quotecontent"><br />[syntax=c]        i2c_send(adr_write, adr_func, 238);[/syntax]<br /></div><br />To jest Twoja pierwsza transmisja po załączeniu zasilania. Natomiast <a href="http://www.mindrunway.ru/IgorPlHex/TDA8425.pdf"  class="postlink">nota układu</a> mówi:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />After a power-on reset all five functions have to be adjusted with five data transmitions. It is recommended that data information for switch functions are transmitted last because all functions have to be adjusted when the muting is sitched off. The sequence of transmission of other data information is not critical.<br /></div>Poniżej jest rysunek 4, na którym jest pokazana sekwencja, jaka powinna być wysłana do układu po załączeniu zasilania.<br /><br />Gdyby nie pomogło:<br />Nie znalazłem informacji jak długo trwa &quot;power-on reset&quot; w tym układzie, więc można ewentualnie spróbować na początku programu dać małe opóźnienie przed transmisją.<br /><br />Zakładam, że te funkcje od TWI masz sprawdzone?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 cze 2016, o 15:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mateusz19955]]></name></author>
<updated>2016-06-19T14:46:14+01:00</updated>
<published>2016-06-19T14:46:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162578#p162578</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162578#p162578"/>
<title type="html"><![CDATA[tda8425 i atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15623&amp;p=162578#p162578"><![CDATA[
Witam,<br /><br />Napisałem sobie program do przedwzmacniacza TDA8425, i mam z nim problem.<br />Gdy linijka &quot;i2c_send(adr_write, adr_func, 238);&quot; jest za remowana  to program działa,<br />Wartości zmiennych glos, bas, treble na lcd się zmieniają, ale gdy tylko odremuje &quot;i2c_send(adr_write, adr_func, 238);&quot; to program się zatrzymuje i dalej poza tą linijkę nie chce iść.<br />Tak samo dzieje się z pozostałymi linijkami i2c_send(...);<br /><br />Co może być źle?<br />Jako biblioteki do i2c używam tej od pana Mirka do lcd też. <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />//#include &lt;util/delay.h&gt;<br />#include &quot;lcd44780.h&quot;<br />#include &quot;i2c_twi.h&quot;<br /><br />#definevol_min220<br />#definevol_max255<br />#definebass_min242<br />#definebass_max251<br />#definetreb_min242<br />#definetreb_max250<br /><br />#defineadr_volL0<br />#defineadr_volR1<br />#defineadr_bass2<br />#defineadr_treb3<br />#defineadr_func8<br /><br />#defineadr_write130<br />#defineadr_read131<br /><br />void lcd_wysw(uint8_t wart_glos, uint8_t wart_bass, uint8_t wart_treble, uint8_t wart_opcja);<br />void i2c_send(uint8_t adres, uint8_t funkcja, uint8_t wartosc);<br /><br />uint8_t glos = 235;<br />uint8_t bass = 246;<br />uint8_t treble = 246;<br />uint8_t opcja;<br /><br />int main(void)<br />{<br />DDRB = 0x00;<br />PORTB = 0xFF;<br /><br />DDRD = 0xFF;<br />PORTD = (1&lt;&lt;PD3);<br /><br />    lcd_init();<br />i2cSetBitrate(200);<br />lcd_cls();<br /><br />i2c_send(adr_write, adr_func, 238);<br /><br />    while (1) {<br />lcd_wysw(glos, bass, treble, opcja);<br /><br />if (!(PINB &amp; (1&lt;&lt;PB2))) {<br />//_delay_ms(200);<br />opcja++;<br /><br />if (opcja &gt; 2) {<br />opcja = 0;<br />}<br />}<br /><br />switch (opcja)<br />{<br />case 0:<br />if (!(PINB &amp; (1&lt;&lt;PB0))) {<br />//_delay_ms(200);<br /><br />if (glos &lt; vol_max) {<br />glos++;<br />//i2c_send(adr_write, adr_volL, glos);<br />//i2c_send(adr_write, adr_volR, glos);<br />}<br />}<br /><br />if (!(PINB &amp; (1&lt;&lt;PB1))) {<br />//_delay_ms(200);<br /><br />if (glos &gt; vol_min) {<br />glos--;<br />//i2c_send(adr_write, adr_volL, glos);<br />//i2c_send(adr_write, adr_volR, glos);<br />}<br />}<br />break;<br /><br />case 1:<br />if (!(PINB &amp; (1&lt;&lt;PB0))) {<br />//_delay_ms(200);<br /><br />if (bass &lt; bass_max) {<br />bass++;<br />//i2c_send(adr_write, adr_bass, bass);<br />}<br />}<br /><br />if (!(PINB &amp; (1&lt;&lt;PB1))) {<br />//_delay_ms(200);<br /><br />if (bass &gt; bass_min) {<br />bass--;<br />//i2c_send(adr_write, adr_bass, bass);<br />}<br />}<br />break;<br /><br />case 2:<br />if (!(PINB &amp; (1&lt;&lt;PB0))) {<br />//_delay_ms(200);<br /><br />if (treble &lt; treb_max) {<br />treble++;<br />//i2c_send(adr_write, adr_treb, treble);<br />}<br />}<br /><br />if (!(PINB &amp; (1&lt;&lt;PB1))) {<br />//_delay_ms(200);<br /><br />if (treble &gt; treb_min) {<br />treble--;<br />//i2c_send(adr_write, adr_treb, treble);<br />}<br />}<br />break;<br />}<br />    }<br />}<br /><br />void lcd_wysw(uint8_t wart_glos, uint8_t wart_bass, uint8_t wart_treble, uint8_t wart_opcja) {<br />lcd_locate(0,0);<br />lcd_str(&quot;G: &quot;);<br />lcd_int(wart_glos);<br /><br />lcd_locate(0,10);<br />lcd_str(&quot;B: &quot;);<br />lcd_int(wart_bass);<br /><br />lcd_locate(1,0);<br />lcd_str(&quot;T: &quot;);<br />lcd_int(wart_treble);<br /><br />lcd_locate(1,10);<br />lcd_str(&quot;F: &quot;);<br />lcd_int(wart_opcja);<br />}<br /><br />void i2c_send(uint8_t adres, uint8_t funkcja, uint8_t wartosc) {<br />TWI_start();<br />TWI_write(adres);<br />TWI_write(funkcja);<br />TWI_write(wartosc);<br />TWI_stop();<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3621">mateusz19955</a> — 19 cze 2016, o 14:46</p><hr />
]]></content>
</entry>
</feed>