<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; BD34701KS2]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=442</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=442&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «BD34701KS2».]]></description>
		<lastBuildDate>Fri, 14 Jan 2022 09:13:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: BD34701KS2]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=5186#p5186</link>
			<description><![CDATA[<p>SIr Can you make Sketch...I am Waiting for it..sir</p>]]></description>
			<author><![CDATA[null@example.com (Vbps$99088)]]></author>
			<pubDate>Fri, 14 Jan 2022 09:13:18 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=5186#p5186</guid>
		</item>
		<item>
			<title><![CDATA[BD34701KS2]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=5167#p5167</link>
			<description><![CDATA[<p>Требуется тестирование!!!</p><p>BD34701KS2&nbsp; - <span class="attention-yellow"></span> </p><p>BD34701KS2.h</p><div class="codebox"><pre><code>// liman324@yandex.ru rcl-radio.ru


#ifndef BD34701KS2_H
#define BD34701KS2_H

#define ADDR_0 0
#define ADDR_1 1
#define ADDR_2 2
#define ADDR_3 3
#define ADDR_7 11


#include &lt;Arduino.h&gt;
class BD34701KS2
{
  public:
    BD34701KS2(uint8_t cl, uint8_t da);
    void set0(int chip, int sub, int rec, int input_main); 
    // Input Selector (MAIN)
    // chip &gt;&gt; 0 (0...1)
    // sub &gt;&gt; 0 (0...1)
    // rec &gt;&gt; 0 (0...1)
    // input &gt;&gt; 1 (1...12 = in1...in12 , 0 = MUTE)
    void set1(int chip, int input);
    // IInput Selector (SUB)
    // chip &gt;&gt; 0 (0...1)
    // input &gt;&gt; 1 (1...12 = in1...in12 , 0 = MUTE)
    void set2(int chip, int adc_att, int mode_sbl_sbrch, int mode_sl_srch, int mode_c_swch, int mode_fr_frch);
    // chip &gt;&gt; 0 (0...1)
    // adc_att &gt;&gt; 0 (0...8)
    // mode_sbl_sbrch &gt;&gt; 1 (0...3)
    // mmode_sl_srch &gt;&gt; 1 (0...3)
    // mode_c_swch &gt;&gt; 1 (0...3)
    // mode_fr_frch &gt;&gt; 1 (0...3)
    void set3(int chip, int volume, int ch_vol_sel);
    // chip &gt;&gt; 0 (0...1)
    // volume &gt;&gt; 0 (-190...64)
    // ch_vol_sel &gt;&gt; 0,1,2,3,4,5,6,7
    void set7(int chip, int reset, int base_clock, int sw_ba, int sw_ab);
    // chip &gt;&gt; 0 (0...1)
    // reset &gt;&gt; 0 (0...1)
    // base_clock &gt;&gt; 0 (0...1)
    // sw_ba &gt;&gt; 0 (0...7)
    // sw_ab &gt;&gt; 0 (0...7)

	
  private:
	void writeBD(char data);
        uint8_t CL;
        uint8_t DA;
};
	
#endif //BD34701KS2_H</code></pre></div><br /><p>BD34701KS2.cpp</p><div class="codebox"><pre><code>#include &lt;Arduino.h&gt;
#include &quot;BD34701KS2.h&quot;

BD34701KS2::BD34701KS2(uint8_t cl, uint8_t da){
	CL = cl;
        DA = da;
      pinMode(CL,OUTPUT);
      pinMode(DA,OUTPUT);
}


void BD34701KS2::set0(int chip, int sub, int rec, int input_main){
  writeBD(ADDR_0 + (2 &lt;&lt; chip) + (6 &lt;&lt; sub) + (9 &lt;&lt; rec) + (10 &lt;&lt; input_main) );
}

void BD34701KS2::set1(int chip, int input){
  writeBD(ADDR_1 + (2 &lt;&lt; chip) + (10 &lt;&lt; input) );
}

void BD34701KS2::set2(int chip, int adc_att, int mode_sbl_sbrch, int mode_sl_srch, int mode_c_swch, int mode_fr_frch){
  writeBD(ADDR_2 + (2 &lt;&lt; chip) + (4 &lt;&lt; adc_att) + (8 &lt;&lt; mode_sbl_sbrch) + (10 &lt;&lt; mode_sl_srch) + (12 &lt;&lt; mode_c_swch) + (14 &lt;&lt; mode_fr_frch) );
}

void BD34701KS2::set3(int chip, int volume, int ch_vol_sel){
    int vol_d;
    if(volume &gt; 0) {vol_d = 0;}
    if(volume &lt;= 0) {volume = abs(volume);vol_d = 1;}
  writeBD(ADDR_3 + (2 &lt;&lt; chip) + (4 &lt;&lt; volume) + (13 &lt;&lt; ch_vol_sel) + (12 &lt;&lt; vol_d) );
}

void BD34701KS2::set7(int chip, int reset, int base_clock, int sw_ba, int sw_ab){
   writeBD(ADDR_7 + (2 &lt;&lt; chip) + (6 &lt;&lt; reset) + (9 &lt;&lt; base_clock) + (10 &lt;&lt; sw_ba) + (13 &lt;&lt; sw_ab) );
}


void BD34701KS2::writeBD(char data){
   
   for(int i = 15; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DA, (data &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
   digitalWrite(CL,LOW);
   digitalWrite(DA,LOW);
   delay(100);
}</code></pre></div><p>test.ino</p><div class="codebox"><pre><code>#include &lt;BD34701KS2.h&gt;

  BD34701KS2 bd(2,3); // CL, DA

void setup() {
  audio();

}

void loop() {
  // put your main code here, to run repeatedly:

}

void audio(){
   bd.set0(0, 0, 0, 1); 
    // Input Selector (MAIN)
    // chip &gt;&gt; 0 (0...1)
    // sub &gt;&gt; 0 (0...1)
    // rec &gt;&gt; 0 (0...1)
    // input &gt;&gt; 1 (1...12 = in1...in12 , 0 = MUTE)
     bd.set1(0, 1);
    // IInput Selector (SUB)
    // chip &gt;&gt; 0 (0...1)
    // input &gt;&gt; 1 (1...12 = in1...in12 , 0 = MUTE)
     bd.set2(0,0,1,1,1,1);
    // chip &gt;&gt; 0 (0...1)
    // adc_att &gt;&gt; 0 (0...8)
    // mode_sbl_sbrch &gt;&gt; 1 (0...3)
    // mmode_sl_srch &gt;&gt; 1 (0...3)
    // mode_c_swch &gt;&gt; 1 (0...3)
    // mode_fr_frch &gt;&gt; 1 (0...3)
     bd.set3(0, 0, 0);
     bd.set3(0, 0, 1);
     bd.set3(0, 0, 2);
     bd.set3(0, 0, 3);
     bd.set3(0, 0, 4);
     bd.set3(0, 0, 5);
     bd.set3(0, 0, 6);
     bd.set3(0, 0, 7);
    // chip &gt;&gt; 0 (0...1)
    // volume &gt;&gt; 0 (-190...64)
    // ch_vol_sel &gt;&gt; 0,1,2,3,4,5,6,7
     bd.set7(0, 0, 0, 0, 0);
    // chip &gt;&gt; 0 (0...1)
    // reset &gt;&gt; 0 (0...1)
    // base_clock &gt;&gt; 0 (0...1)
    // sw_ba &gt;&gt; 0 (0...7)
    // sw_ab &gt;&gt; 0 (0...7)

  }</code></pre></div><p>Скетч использует 1184 байт (3%) памяти устройства. Всего доступно 32256 байт.<br />Глобальные переменные используют 11 байт (0%) динамической памяти, оставляя 2037 байт для локальных переменных. Максимум: 2048 байт.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 12 Jan 2022 18:15:19 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=5167#p5167</guid>
		</item>
	</channel>
</rss>
