<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; tc9260]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=710&amp;type=atom" />
	<updated>2025-09-02T17:48:27Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=710</id>
		<entry>
			<title type="html"><![CDATA[Re: tc9260]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11901#p11901" />
			<content type="html"><![CDATA[<p>Инверсия громкости</p><div class="codebox"><pre><code>#define STB   2
#define DATA  3
#define CK   4

void setup() {
  Serial.begin(9600);
  pinMode(STB, OUTPUT);digitalWrite(STB, LOW);
  pinMode(DATA, OUTPUT);digitalWrite(DATA, LOW);
  pinMode(CK, OUTPUT);digitalWrite(CK, LOW);
  delay(100);
}

void loop() {
  byte_tc9260(1,0, 1, 0);
  byte_tc9260(0,1, 39, 0);
  delay(1000);Serial.println();
  }
  
  void byte_tc9260(bool lh, bool rh, int vol, bool ld){
    vol = 40-vol;
    int vol_1 =  ((vol&amp;0b100000)&gt;&gt;5)&lt;&lt;0|((vol&amp;0b010000)&gt;&gt;4)&lt;&lt;1|((vol&amp;0b001000)&gt;&gt;3)&lt;&lt;2|((vol&amp;0b000100)&gt;&gt;2)&lt;&lt;3|((vol&amp;0b000010)&gt;&gt;1)&lt;&lt;4|(vol&amp;0b000001)&lt;&lt;5;
    vol_1 = vol_1;
    Serial.println(vol_1,BIN);
    unsigned long data_byte = (lh&lt;&lt;12)|(rh&lt;&lt;11)|((vol_1)&lt;&lt;5)|(ld&lt;&lt;4)|0b1011;
    // vol 0...40
    // lh rh 0...1
    // ld 0...1
    writeByte(data_byte);  
    }


void writeByte(uint16_t data){
    digitalWrite(STB, LOW); delayMicroseconds(3);
    for (int i = 12; i &gt;= 0; i--) {
        digitalWrite(DATA, (data &gt;&gt; i) &amp; 1); delayMicroseconds(3);
        Serial.print((data &gt;&gt; i) &amp; 1);
        digitalWrite(CK, HIGH); delayMicroseconds(3);
        digitalWrite(CK, LOW); delayMicroseconds(3);
    }
    digitalWrite(STB, HIGH); delayMicroseconds(3);
    digitalWrite(STB, LOW); 
    Serial.println();
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-09-02T17:48:27Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11901#p11901</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: tc9260]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11898#p11898" />
			<content type="html"><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2025/09/b3ca75863b63af505cc8f1507ccb6f06.pdf" alt="http://forum.rcl-radio.ru/uploads/images/2025/09/b3ca75863b63af505cc8f1507ccb6f06.pdf" /></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-09-02T15:58:15Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11898#p11898</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[tc9260]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11897#p11897" />
			<content type="html"><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=134035">http://rcl-radio.ru/?p=134035</a></p><div class="codebox"><pre><code>#define STB   2
#define DATA  3
#define CK   4

void setup() {
  Serial.begin(9600);
  pinMode(STB, OUTPUT);digitalWrite(STB, LOW);
  pinMode(DATA, OUTPUT);digitalWrite(DATA, LOW);
  pinMode(CK, OUTPUT);digitalWrite(CK, LOW);
  delay(100);
}

void loop() {
  byte_tc9260(1,0, 1, 0);
  byte_tc9260(0,1, 39, 0);
  delay(1000);Serial.println();
  }
  
  void byte_tc9260(bool lh, bool rh, int vol, bool ld){
    int vol_1 = ((vol&amp;0b100000)&gt;&gt;5)&lt;&lt;0|((vol&amp;0b010000)&gt;&gt;4)&lt;&lt;1|((vol&amp;0b001000)&gt;&gt;3)&lt;&lt;2|((vol&amp;0b000100)&gt;&gt;2)&lt;&lt;3|((vol&amp;0b000010)&gt;&gt;1)&lt;&lt;4|(vol&amp;0b000001)&lt;&lt;5;
    Serial.println(vol_1,BIN);
    unsigned long data_byte = (lh&lt;&lt;12)|(rh&lt;&lt;11)|(vol_1&lt;&lt;5)|(ld&lt;&lt;4)|0b1011;
    // vol 0...40
    // lh rh 0...1
    // ld 0...1
    writeByte(data_byte);  
    }


void writeByte(uint16_t data){
    digitalWrite(STB, LOW); delayMicroseconds(3);
    for (int i = 12; i &gt;= 0; i--) {
        digitalWrite(DATA, (data &gt;&gt; i) &amp; 1); delayMicroseconds(3);
        Serial.print((data &gt;&gt; i) &amp; 1);
        digitalWrite(CK, HIGH); delayMicroseconds(3);
        digitalWrite(CK, LOW); delayMicroseconds(3);
    }
    digitalWrite(STB, HIGH); delayMicroseconds(3);
    digitalWrite(STB, LOW); 
    Serial.println();
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-09-02T15:57:45Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11897#p11897</id>
		</entry>
</feed>
