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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-04-17T18:57:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11409&amp;mode</id>
<entry>
<author><name><![CDATA[matti0010]]></name></author>
<updated>2015-04-17T18:57:35+01:00</updated>
<published>2015-04-17T18:57:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126788#p126788</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126788#p126788"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126788#p126788"><![CDATA[
Chciałem dać 4,7k ale obecnie mam na stanie 1k a do elektronika nie mam po drodze <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> 1k wystarczyło przy PCF8583.<br /><br />Tak przestawiłem na ATmega8, tak samo przestawiłem na odpowiednie taktowanie. Teraz sprawdziłem czy działa z kwarcem zewnętrznym 8MHz (kondensatory dałem przy kwarcu).<br /><br />Zapisuje, czyszczę, kompiluje całość w sumie już automatycznie z nawyku <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> ale dziękuję za przypomnienie bo jednak czynnik ludzki wpływa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Podpiłem wszystko jeszcze raz, po 10 razy sprawdzając, przegrałem i nic. Więc... chyba poczekam na kolejny egzemplarz od naszych znajomych ze wschodu. Szkoda... W takim razie zbuduję radio na TDA7088, bo z tego łatwiej zrobić a przynajmniej w naszym kraju dostanę te układ...<br /><br />Też już się spotkałem ze stwierdzeniem że działa jeden układ na kilka, dla tego zakładam ze jest uszkodzony.<br /><br />Dziękuję wszystkim za pomoc <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=5344">matti0010</a> — 17 kwi 2015, o 18:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2015-04-17T18:50:22+01:00</updated>
<published>2015-04-17T18:50:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126786#p126786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126786#p126786"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126786#p126786"><![CDATA[
Skoro używasz ATMega8 to mam nadzieję, że w ustawieniach projektu który podałem zmieniłeś procka.<img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> Pamiętaj żeby po zmianie procesora zapisać projekt, zrobić Clean projektu i skompilować ponownie (np. BuildAll). Wtedy masz pewność, że skompilujesz właściwy kod. Na wewnętrznym oscylatorze 1MHz powinno działać choć nie sprawdzałem. Ja bym dał rezystory podciągające na 4,7k jeżeli zasilasz 5V. Tak jeszcze dodam z własnego doświadczenia, że z kilku polutowanych modułów, jeden mi nie działał więc różnie to może być z nimi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=290">Piotrek_P</a> — 17 kwi 2015, o 18:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matti0010]]></name></author>
<updated>2015-04-17T18:23:44+01:00</updated>
<published>2015-04-17T18:23:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126781#p126781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126781#p126781"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126781#p126781"><![CDATA[
1. Używam do testów ATmega8 (jak mam zablokować, spalić, uszkodzić itd. jakiś układ to wolę ATmega8, potem radio i kilka innych rzeczy pójdzie na ATmega32).<br />2. Taktuje się wewnętrznym oscylatorem i mam ustawione na 1MHz. Czy w programie który umieścił Piotrek_P wystarczy 1MHz czy przestawić na 8MHz? Kwarc też mogę dodać w każdej chwili, nie problem.<br /><br />Schemat podłączenia (podarowałem sobie wyprowadzenia do programatora):<br /><a href="http://forum.atnel.pl/_obrazki/o/5344/aa3801205616096a388abf2b1e178cc1.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5344/aa3801205616096a388abf2b1e178cc1.png" alt="Obrazek" /></a><br /><br />Natomiast tę niebieską skrzyneczkę (zamodelowałem an szybko cały układzik z TEA5767) podpinam tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/5344/5a3f78c0f13d4935a172bd1ecfa6bfa0.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5344/5a3f78c0f13d4935a172bd1ecfa6bfa0.png" alt="Obrazek" /></a><br /><br />Wszystko łączę na stykówce, kabelki mam w połowie moje roboty (na obu końcach kable zakończone goldpinami a następnie miejsce lutu i otoczenie jest zabezpieczone otoczką termokurczliwą). Jestem tych kabli pewniejszy niż ostatnio kupionych (które też używam a mimo to jeden już poszedł do kosza bo był słabej jakości). Nie pierwszy raz łączę układ na stykówce i do tego tyle razy to łączyłem że na pewno nie popełniałem za każdym razem błędu. <br /><br />Jako antenę mam kawałek kabla, chwilowo nie zależy mi na jakości, same trzaski w głośniku by mnie ucieszyły... <br />Wyjścia z TEA5767 które idą na R i L głośników podpinam za pomocą jacka do głośników (które mam przy komputerze), podpinam tylko jeden kanał bo mam jacka mono zrobionego aktualnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5344">matti0010</a> — 17 kwi 2015, o 18:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2015-04-17T17:50:52+01:00</updated>
<published>2015-04-17T17:50:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126777#p126777</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126777#p126777"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126777#p126777"><![CDATA[
Zadam fundamentalne pytanie. Do jakiego procesora podłączasz moduł, i w jaki sposób? Schemat prosimy, choćby prosty na razie. Bez tej wiedzy, to możemy jeszcze długo się męczyć <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=290">Piotrek_P</a> — 17 kwi 2015, o 17:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matti0010]]></name></author>
<updated>2015-04-17T17:08:06+01:00</updated>
<published>2015-04-17T17:08:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126774#p126774</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126774#p126774"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126774#p126774"><![CDATA[
wgrałem, nie działa <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> czyli rozumie że mogę już założyć wadę układu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />testowałem oba kody.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5344">matti0010</a> — 17 kwi 2015, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[LA72]]></name></author>
<updated>2015-04-17T16:51:29+01:00</updated>
<published>2015-04-17T16:51:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126772#p126772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126772#p126772"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126772#p126772"><![CDATA[
<div class="quotetitle">matti0010 napisał(a):</div><div class="quotecontent"><br />Niestety nie mam układu 89s8253. Co prawda mogę go kupić ale całość chcę na ATmega zrobić.<br /><br />Pewnie nie mogę tego bezpośrednio do ATmega wgrać, bo to są różne układy. Czy da się to jakoś &quot;obejść&quot;? Asemblera co prawda trochę &quot;liznąłem&quot; ale jeszcze nie mam na tyle wprawy by móc zrozumieć tak zaawansowany kod źródłowy.<br /></div><br /><br />W ostatnim poście jest link do źródeł w C dla Atmega8.<br /><a href="http://tomeko.net/projects/TEA5767_radio/index.php?lang=pl"  class="postlink">Tutaj</a> cię przekierowuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3028">LA72</a> — 17 kwi 2015, o 16:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2015-04-17T16:04:52+01:00</updated>
<published>2015-04-17T16:04:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126771#p126771</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126771#p126771"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126771#p126771"><![CDATA[
Przygotowałem przed chwilą uproszczoną do minimum wersję projektu dla procka ATMega16 z taktowaniem 8MHz (możesz sobie zmienić pod siebie). Jeżeli masz wszystko OK ze sprzętem, to musi to działać bo właśnie wgrałem wsad do swojego procka i słucham sobie radyjka.  <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=290">Piotrek_P</a> — 17 kwi 2015, o 16:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matti0010]]></name></author>
<updated>2015-04-17T15:40:11+01:00</updated>
<published>2015-04-17T15:40:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126767#p126767</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126767#p126767"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126767#p126767"><![CDATA[
Niestety nie mam układu 89s8253. Co prawda mogę go kupić ale całość chcę na ATmega zrobić.<br /><br />Pewnie nie mogę tego bezpośrednio do ATmega wgrać, bo to są różne układy. Czy da się to jakoś &quot;obejść&quot;? Asemblera co prawda trochę &quot;liznąłem&quot; ale jeszcze nie mam na tyle wprawy by móc zrozumieć tak zaawansowany kod źródłowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5344">matti0010</a> — 17 kwi 2015, o 15:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[LA72]]></name></author>
<updated>2015-04-17T14:57:53+01:00</updated>
<published>2015-04-17T14:57:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126763#p126763</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126763#p126763"/>
<title type="html"><![CDATA[Re: Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126763#p126763"><![CDATA[
Sprawdź na <a href="http://www.elektroda.pl/rtvforum/topic2284496.html"  class="postlink">tym</a> wsadzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3028">LA72</a> — 17 kwi 2015, o 14:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matti0010]]></name></author>
<updated>2015-04-17T09:55:22+01:00</updated>
<published>2015-04-17T09:55:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126749#p126749</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126749#p126749"/>
<title type="html"><![CDATA[Problem z uruchomieniem układu radia na TEA5767]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11409&amp;p=126749#p126749"><![CDATA[
Witam,<br /><br />mam problem z uruchomieniem radia na układzie TEA5767. Nie wiem już czy ja robię ciągle błędy czy może układ jest uszkodzony... doszło do tego że kopiuję całe programy byle tylko go odpalić i mieć pewność że układ działa.<br /><br />Czy istnieje jakaś idioto-odporna opcja sprawdzenia tego radia po I2C? Czy odpowiada itd.<br /><br />Docelowo chcę to napisać na AVR w C lecz z powodu wyżej wymienionego problemu uznałem że spróbuję na Arduino nano (raczej jego chińskiej kopii ale działającej, już na tym odpaliłem kilka podstawowych programów i postawiłem w pełni działający alkomat).<br /><br />Tutaj wklejam kod pod Arduino (chyba najłatwiej od tego zacząć):<br />[syntax=c]/// Arduino FM receiver with TEA5767 https://www.electronicsblog.net/<br />#include &lt;Wire.h&gt;<br />#include &lt;LiquidCrystal.h&gt;<br /><br />unsigned char search_mode=0;<br /><br />int b=0;<br />int c=0;<br /><br />#define Button_next 10<br />#define Button_prev 9<br /><br /><br />unsigned char frequencyH=0;<br />unsigned char frequencyL=0;<br /><br />unsigned int frequencyB;<br />double frequency=0;<br /><br />double freq_available=0; <br /><br />LiquidCrystal lcd(12, 11, 5, 4, 3, 2); <br /><br />void setup()   { <br /><br />  Wire.begin();<br />  lcd.begin(16, 2);<br /><br />  /// buttons  <br /><br />  pinMode(Button_next, INPUT);<br />  digitalWrite(Button_next, HIGH); //pull up resistor<br /><br />  pinMode(Button_prev, INPUT);<br />  digitalWrite(Button_prev, HIGH); //pull up resistor<br /><br />  frequency=87.5; //starting frequency<br /><br />  frequencyB=4*(frequency*1000000+225000)/32768; //calculating PLL word<br /><br />  frequencyH=frequencyB&gt;&gt;8;<br /><br />  frequencyL=frequencyB&amp;0XFF;<br />  delay(100);<br /><br />  Wire.beginTransmission(0x60);   //writing TEA5767<br />  Wire.write(frequencyH);<br />  Wire.write(frequencyL);<br />  Wire.write(0xB0);<br />  Wire.write(0x10);    <br />  Wire.write(0x00);<br />  Wire.endTransmission();<br />  delay(100);<br /><br />}<br /><br />void loop()<br />{<br /><br />  unsigned char buffer&#91;5&#93;;<br /><br />  lcd.setCursor(0, 0);<br /><br />  Wire.requestFrom(0x60,5); //reading TEA5767<br /><br />  if (Wire.available()) <br /><br />  {<br />    for (int i=0; i&lt;5; i++) {<br /><br />      buffer&#91;i&#93;= Wire.read();<br />    }<br /><br />    freq_available=(((buffer&#91;0&#93;&amp;0x3F)&lt;&lt;8)+buffer&#91;1&#93;)*32768/4-225000;<br /><br />    lcd.print(&quot;FM &quot;);<br /><br />    lcd.print((freq_available/1000000));<br /><br />    frequencyH=((buffer&#91;0&#93;&amp;0x3F));<br /><br />    frequencyL=buffer&#91;1&#93;;<br /><br />    if (search_mode) {<br /><br />      if(buffer&#91;0&#93;&amp;0x80) search_mode=0;<br /><br />    }<br /><br />    if (search_mode==1) lcd.print(&quot; SCAN&quot;);<br />    else {<br />      lcd.print(&quot;       &quot;);<br />    }<br /><br />    lcd.setCursor(0, 1);<br /><br />    lcd.print(&quot;Level: &quot;);<br />    lcd.print((buffer&#91;3&#93;&gt;&gt;4));<br />    lcd.print(&quot;/16 &quot;);<br /><br />    if (buffer&#91;2&#93;&amp;0x80) lcd.print(&quot;STEREO   &quot;);<br />    else lcd.print(&quot;MONO   &quot;);<br /><br />  }<br /><br />  ///// buttons read<br /><br />  //////////// button_next////////// <br />  if (!digitalRead(Button_next)&amp;&amp;!b) {<br /><br />    frequency=(freq_available/1000000)+0.05;<br /><br />    frequencyB=4*(frequency*1000000+225000)/32768+1;<br /><br />    frequencyH=frequencyB&gt;&gt;8;<br />    frequencyL=frequencyB&amp;0XFF;   <br /><br />    Wire.beginTransmission(0x60);   <br /><br />    Wire.write(frequencyH);<br />    Wire.write(frequencyL);<br />    Wire.write(0xB0);<br />    Wire.write(0x1F);<br />    Wire.write(0x00); <br /><br />    Wire.endTransmission(); <br /><br />    //////////////////////<br /><br />    b=100;<br /><br />  };<br /><br />  if (!digitalRead(Button_next)&amp;&amp;b==1) {<br /><br />    ///scannnn UP<br /><br />    search_mode=1;<br /><br />    Wire.beginTransmission(0x60);   <br /><br />    Wire.write(frequencyH+0x40);<br />    Wire.write(frequencyL);<br />    Wire.write(0xD0);<br />    Wire.write(0x1F);<br />    Wire.write(0x00); <br /><br />    Wire.endTransmission();<br /><br />    /////////////////<br /><br />    b=100;<br /><br />  };    <br /><br />  if (!b==0) b--;<br /><br />  //////////// button_prev////////// <br />  if (!digitalRead(Button_prev)&amp;&amp;!c) {<br /><br />    frequency=(freq_available/1000000)-0.05;<br /><br />    frequencyB=4*(frequency*1000000+225000)/32768+1;<br /><br />    frequencyH=frequencyB&gt;&gt;8;<br />    frequencyL=frequencyB&amp;0XFF;<br /><br />    Wire.beginTransmission(0x60);   <br /><br />    Wire.write(frequencyH);<br />    Wire.write(frequencyL);<br />    Wire.write(0xB0);<br />    Wire.write(0x1F);<br />    Wire.write(0x00); <br /><br />    Wire.endTransmission(); <br /><br />    c=100;<br /><br />  };<br /><br />  if (!digitalRead(Button_prev)&amp;&amp;c==1) {<br /><br />    ///scannnn DOWN<br /><br />    search_mode=1;<br /><br />    Wire.beginTransmission(0x60);   <br /><br />    Wire.write(frequencyH+0x40);<br />    Wire.write(frequencyL); <br /><br />    Wire.write(0x50);<br />    Wire.write(0x1F);<br />    Wire.write(0x00);<br />    Wire.endTransmission();   <br /><br />    c=100;<br /><br />  };          <br /><br />  if (!c==0) c--;<br /><br />  ////////////////////<br /><br />}[/syntax]<br />kilka słów o kodzie: <br />- kod skopiowałem ze strony <a href="https://www.electronicsblog.net/arduino-fm-receiver-with-tea5767/"  class="postlink">https://www.electronicsblog.net/arduino-fm-receiver-with-tea5767/</a><br />- zmieniłem Wire.send na Wire.write natomiast Wire.receive na Wire.read<br />- zmieniłem piny przycisków z 30 i 31 na 10 i 9<br />- gdy go kompiluje to przechodzi bez problemu<br />- po wgraniu nic się nie dzieje, LCD jest pusty (nic na nim nie ma)<br /><br />Gdy sprawdzałem moment w którym przestaje wyświetlać to następowało to po komendzie:  Wire.endTransmission(); już na samym początku. <br /><br /><br /><br />Kolejny program który próbowałem uruchomić pochodzi z tego forum: <a href="http://forum.atnel.pl/topic137.html"  class="postlink">http://forum.atnel.pl/topic137.html</a><br /><br />Kod i schemat jest na tamtej stronie.<br /><br />Próbowałem w całości kod wrzucić lecz nie przechodziło to kompilacji (miało problem z delay_nms i delay_ums które tam są dodane).<br /><br />Niemniej wcześniej sam spróbowałem to napisać bez wyświetlacza, tylko by uruchomić radio a później na spokojnie dodać wyświetlacz LCD, poniżej zamieszczam mój kod:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: Apr 8, 2015<br /> *      Author: mat<br /> */<br /><br />/*<br /> * Radio FM na TEA5767<br /> * Procesor: ATmega8<br /> * Zegar: wewnetrzny 1MHz<br /> *<br /> * BARDZO POMOCNA STRONA KTÓRA BYLA WZOREM DLA TEGO PROGRAMU: http://forum.atnel.pl/topic137.html<br /> *<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/signal.h&gt;<br />#include &lt;avr/delay.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />//tutaj dorzuc wywietlacz i jego biblioteke np.:<br />//#include &quot;3310LCD_function.c&quot;<br /><br />#define uchar uint8_t<br />#define uint  uint16_t<br /><br />#define SLA_W 0b11000000<br />#define SLA_R 0b11000001<br /><br />uchar senddata&#91;5&#93; ;<br />uchar readdata&#91;5&#93; ;<br />uchar search = 0;<br />uchar search_up = 0;<br /><br />//////////////////////////////////<br />//Funkcje i procedury//<br />/////////////////////////////////<br /><br />void delay_ms(uint ms)<br />{<br />uint i;<br />for(i=0; i&lt;ms; i++)<br />_delay_loop_2(250);<br />}<br /><br />void set5767(void) //ustawianie TEA5767<br />{<br />uchar i=0;<br /><br />TWCR=(1&lt;&lt;TWINT)|(1&lt;&lt;TWSTA)|(1&lt;&lt;TWEN); //wyslanie sygnalu startu<br />while (!(TWCR &amp; (1&lt;&lt;TWINT)));   //oczekiwanie na sygnal startu<br />//if ((TWSR &amp; 0xF8) != START) ERROR(); //informacja testowa (debug)<br /><br />TWDR = SLA_W;//wyslanie adresu<br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN);<br />while (!(TWCR &amp; (1&lt;&lt;TWINT)));<br />// if ((TWSR &amp; 0xF8) != MT_SLA_ACK) ERROR(); // informacja testowa (debug)<br /><br />for (i=0; i&lt;5; i++)<br />{<br />TWDR = senddata&#91;i&#93;; //zapis tablicy<br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN); //wyslanie danych<br />while (!(TWCR &amp; (1&lt;&lt;TWINT)));<br />//if ((TWSR &amp; 0xF8) != MT_DATA_ACK) ERROR(); // informacja testowa (debug)<br />}<br /><br />TWCR= (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTO); //wyslanie sygnalu stopu<br /><br />//LCD z wywietleniem ze wszystko jest OK<br />}<br /><br />void read5767(void) //odczyt danych z TEA5767<br />{<br />uchar i=0;<br /><br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWSTA)|(1&lt;&lt;TWEN); //wyslanie sygnalu startu<br />while (!(TWCR &amp; (1&lt;&lt;TWINT))); //oczekiwanie na sygnal startu<br />//if ((TWSR &amp; 0xF8) != START) ERROR(); //informacja testowa (debug)<br /><br />TWDR = SLA_R; //wyslanie adresu<br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN);<br />while(!(TWCR &amp; (1&lt;&lt;TWINT)));<br />//if ((TWSR &amp; 0xF8) != MT_SLA_ACK) ERROR(); //informacja testowa (debug)<br />//TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN);<br /><br />for (i=0; i&lt;5; i++)<br />{<br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN); //odczyt danych<br />while (!(TWCR &amp; (1&lt;&lt;TWINT)));<br />readdata&#91;i&#93; = TWDR; //zapis do tablicy<br /><br />// if ((TWSR &amp; 0xF8) != MT_DATA_ACK) ERROR(); // informacja testowa (debug)<br />}<br /><br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTO); // wyslanie sygnalu stopu<br /><br />// informacja na wywietlacz LCD w celu pokazania informacji testowej<br />}<br /><br />void show_frequency(void) //wyswietlanie czestotliwoci<br />{<br />uint32_t nPLL = 0; //dec<br />uint32_t frequency = 0; //kHz<br />uchar display_bit&#91;5&#93;;<br /><br />uchar tbTmp1=readdata&#91;1&#93;;<br />uchar tbTmp2=readdata&#91;0&#93;;<br />tbTmp2&amp;=0x3F;<br /><br />nPLL=tbTmp2*256+tbTmp1; //nPLL=pll<br /><br />////////////////////////////////////////////////////<br />////Kalkulacje wyszukiwania czestotliwosci stacji<br />///////////////////////////////////////////////////<br /><br />if(senddata&#91;2&#93;&amp;0x10)<br />frequency = (unsigned long)(nPLL*82/10-255);<br />else<br />frequency = (unsigned long)(nPLL*82/10+255);<br /><br />display_bit&#91;0&#93; = frequency/100000;<br />if( display_bit&#91;0&#93; == 0) display_bit&#91;0&#93; = 0x20;<br />else display_bit&#91;0&#93; += 0x30;<br /><br />display_bit&#91;1&#93; = (frequency / 10000)%10 + 0x30;<br />display_bit&#91;2&#93; = (frequency / 1000)%10 + 0x30;<br />display_bit&#91;3&#93; = (frequency / 100)%10 + 0x30;<br />display_bit&#91;4&#93; = (frequency / 10)%10 + 0x30;<br /><br />////////////////////<br />// dorzuc LCD i wywietlanie czestotliwoci<br />///////////////////<br />}<br /><br />void show_rx_power(void) //wywietlanie mocy sygnalu<br />{<br />uchar temp;<br /><br />temp = (readdata&#91;3&#93;&gt;&gt;4);<br /><br />//////////////////////<br />// dorzuc LCD i wywietlanie mocy sygnalu<br />/////////////////////<br />}<br /><br />void init(void) //inicjalizacja portów IO<br />{<br />//porty pod LCD<br /><br />DDRD = 0B11100000;<br />PORTD = 0xFF;<br /><br />DDRC = 0B00000000;<br />PORTC = 0xFF; //inicjalizacja portu C<br /><br />delay_ms(100); ///co to?<br /><br />//////////////////////<br />// Obsluga I2C/TWI<br />/////////////////////<br /><br />TWBR = 12;<br />TWCR = (1&lt;&lt;TWEN); // wyslanie sygnalu stop<br /><br />OSCCAL = 0x9D; //////////////////////////////////wywietlacz?<br />SPSR |= (1&lt;&lt;SPI2X);<br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR);<br /><br />// inicjalizacja LCD<br />}<br /><br />////////////////////////////////<br />//         Petla glówna<br />///////////////////////////////<br /><br />int main(void)<br />{<br />init();<br /><br />senddata&#91;0&#93; = 0B01101111; //ladowanie 100MHz PLL<br />senddata&#91;1&#93; = 0B10010011;<br />senddata&#91;2&#93; = 0B00100000;<br />senddata&#91;3&#93; = 0B10010000;<br />senddata&#91;4&#93; = 0B00000000;<br />readdata&#91;0&#93; = senddata&#91;0&#93;;<br />readdata&#91;1&#93; = senddata&#91;1&#93;;<br /><br />//LCD wyswietlanie<br />show_frequency();<br />//LCD wywietlanie<br /><br />while (1)<br />{<br />if ( bit_is_clear (PIND, 3))<br />{<br />delay_ms(20); //co to?<br />if (bit_is_clear(PIND,3))<br />{<br />loop_until_bit_is_set(PIND, 3);<br />//LCD<br />senddata&#91;2&#93; &amp;= 0x7F; //ustawianie szukania w dól skali<br />set5767();<br />//LCD<br /><br />search_up = 0;<br />search = 1;<br />}<br />}<br /><br />if ( bit_is_clear (PIND, 2))<br />{<br />delay_ms(20);<br />if (bit_is_clear (PIND, 2))<br />{<br />loop_until_bit_is_set(PIND, 2);<br />//LCD<br />senddata&#91;2&#93; |= 0x80; //ustawienie szukania w góre skali<br />set5767();<br />//LCD<br /><br />search_up = 1;<br />search = 1;<br />}<br />}<br /><br />if (search)<br />{<br />read5767();<br /><br />if (readdata&#91;0&#93; &amp; 0x40) //koniec skali<br />{<br />if (search_up)<br />{<br />senddata&#91;0&#93; = 0B01101001; //wczytanie 88MHz PLL<br />senddata&#91;1&#93; = 0B11011010;<br />set5767();<br />}<br />else<br />{<br />senddata&#91;0&#93; = 0B01110011; //wczytanie 108MHz PLL<br />senddata&#91;1&#93; = 0B01100100;<br />set5767();<br />}<br />}<br /><br />if (readdata&#91;0&#93; &amp; 0x08) //stacja znaleziona<br />{<br />show_frequency();<br />show_rx_power();<br />senddata&#91;0&#93; = ((readdata&#91;0&#93; &amp; 0x3F) |0x40);<br />senddata&#91;1&#93; = readdata&#91;1&#93;; //zapis PLL<br /><br />search = 0;<br />}<br />}<br />}<br />}[/syntax]<br />Niestety też to nie chciało działać.<br /><br />Już sam nie wiem co ja robię źle (albo czy układ jest w sprawny). Wszystko na pewno dobrze mam podłączone, nie pierwszy raz coś uruchamiam. Pierwszy raz mam aż takie problemy z układem...<br /><br />Jestem początkującym w dziedzinie programowania AVR więc proszę o wyrozumiałość  <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=5344">matti0010</a> — 17 kwi 2015, o 09:55</p><hr />
]]></content>
</entry>
</feed>