<?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; IRemote]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=290</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=290&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «IRemote».]]></description>
		<lastBuildDate>Thu, 05 Aug 2021 07:18:50 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: IRemote]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=4586#p4586</link>
			<description><![CDATA[<div class="codebox"><pre><code>bool data[96],st,st1,raz;
uint32_t cod;
byte i1,i2,s;


void setup() {
  Serial.begin(9600);
  DDRB &amp;= ~(1 &lt;&lt; 0);
   cli(); 
  TCCR1A = 0;   
  TCCR1B = 0;   
  OCR1A = 9000; // 562.5 mks
  TCCR1B |= (1 &lt;&lt; WGM12); 
  TCCR1B |= (1 &lt;&lt; CS10);  
  TIMSK1 |= (1 &lt;&lt; OCIE1A);  
   sei(); 
 
}

void loop() {

if(raz==1){  Serial.println(IR(),HEX);}
delay(200);
  }

uint32_t IR(){
 delay(110);
 cod=0;i2=0;
 for(int a=0;a&lt;96;a++){
   if(data[a] + data[a+2] == 2){cod += ((uint32_t)0 &lt;&lt; 31-i2);i2++;a=a+1;}
   if(data[a] + data[a+2] == 1){cod += ((uint32_t)1 &lt;&lt; 31-i2);i2++;a=a+3;}}
 raz=0;
 TCCR1B |= (1 &lt;&lt; CS10);OCR1A = 3200;//5000 kHz
 if(cod==1||cod&gt;0xffffff){cod=0xFFFFFFFF;}
 return cod;}
  


ISR(TIMER1_COMPA_vect){
     if(((PINB &gt;&gt; 0) &amp; 1)==0&amp;&amp;st==0&amp;&amp;raz==0){st=1;OCR1A = 9000;}
     if(st==1){s++;}
     if(s&gt;20&amp;&amp;((PINB &gt;&gt; 0) &amp; 1)==0){st1=1;}   
     if(st1==1){data[i1]=((PINB &gt;&gt; 0) &amp; 1);i1++;} 
     if(i1&gt;96){i1=0;s=0;st=0;raz=1;st1=0;TCCR1B &amp;= ~(1 &lt;&lt; CS10); }
     }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 05 Aug 2021 07:18:50 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=4586#p4586</guid>
		</item>
		<item>
			<title><![CDATA[Re: IRemote]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=4585#p4585</link>
			<description><![CDATA[<div class="codebox"><pre><code>bool data[96];
uint32_t cod;
int i,i2,s,st,raz,st1;


void setup() {
  Serial.begin(9600);
  DDRB &amp;= ~(1 &lt;&lt; 0);
   cli(); 
  TCCR1A = 0;   
  TCCR1B = 0;   
  OCR1A = 9000; // 562.5 mks
  TCCR1B |= (1 &lt;&lt; WGM12); 
  TCCR1B |= (1 &lt;&lt; CS10);  
  TIMSK1 |= (1 &lt;&lt; OCIE1A);  
   sei(); 
 
}

void loop() {

if(raz==1){  Serial.println(IR(),HEX);}
  }

uint32_t IR(){
 delay(110);
 cod=0;i2=0;
 for(int a=0;a&lt;96;a++){
   if(data[a] + data[a+2] == 2){cod += ((uint32_t)0 &lt;&lt; 31-i2);i2++;a=a+1;}
   if(data[a] + data[a+2] == 1){cod += ((uint32_t)1 &lt;&lt; 31-i2);i2++;a=a+3;}}
 raz=0;
 TCCR1B |= (1 &lt;&lt; CS10);OCR1A = 3200;//5000 kHz
 if(cod==1||cod&gt;0xffffff){cod=0xFFFFFFFF;}
 return cod;}
  


ISR(TIMER1_COMPA_vect){
     if(((PINB &gt;&gt; 0) &amp; 1)==0&amp;&amp;st==0&amp;&amp;raz==0){st=1;OCR1A = 9000;}
     if(st==1){s++;}
     if(s&gt;20&amp;&amp;((PINB &gt;&gt; 0) &amp; 1)==0){st1=1;}   
     if(st1==1){data[i]=((PINB &gt;&gt; 0) &amp; 1);i++;} 
     if(i&gt;96){i=0;s=0;st=0;raz=1;st1=0;TCCR1B &amp;= ~(1 &lt;&lt; CS10); }
     }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 05 Aug 2021 01:45:15 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=4585#p4585</guid>
		</item>
		<item>
			<title><![CDATA[Re: IRemote]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=4584#p4584</link>
			<description><![CDATA[<div class="codebox"><pre><code>bool data[96];
uint32_t cod;
int i,i2,s,st,raz;


void setup() {
  Serial.begin(9600);
  DDRB &amp;= ~(1 &lt;&lt; 0);
   cli(); 
  TCCR1A = 0;   
  TCCR1B = 0;   
  OCR1A = 9000; // 562.5 mks
  TCCR1B |= (1 &lt;&lt; WGM12); 
  TCCR1B |= (1 &lt;&lt; CS10);  
  TIMSK1 |= (1 &lt;&lt; OCIE1A);  
   sei(); 
 
}

void loop() {

if(raz==1){  Serial.println(IR(),HEX);}
  }

uint32_t IR(){
 delay(110);
 cod=0;i2=0;
 for(int a=0;a&lt;96;a++){
   if(data[a] + data[a+2] == 2){cod += ((uint32_t)0 &lt;&lt; 31-i2);i2++;a=a+1;}
   if(data[a] + data[a+2] == 1){cod += ((uint32_t)1 &lt;&lt; 31-i2);i2++;a=a+3;}}
 raz=0;
 TCCR1B |= (1 &lt;&lt; CS10);OCR1A = 500;//32000 kHz
 if(cod==1){cod=0xFFFFFFFF;}
 return cod;}
  


ISR(TIMER1_COMPA_vect){
     if(((PINB &gt;&gt; 0) &amp; 1)==0&amp;&amp;st==0&amp;&amp;raz==0){st=1;OCR1A = 9000;}
     if(st==1){s++;}   
     if(s&gt;24){data[i]=((PINB &gt;&gt; 0) &amp; 1);i++;} 
     if(i&gt;96){i=0;s=0;st=0;raz=1;TCCR1B &amp;= ~(1 &lt;&lt; CS10); }
     }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 04 Aug 2021 15:35:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=4584#p4584</guid>
		</item>
		<item>
			<title><![CDATA[Re: IRemote]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=4583#p4583</link>
			<description><![CDATA[<div class="codebox"><pre><code>bool data[96];
uint32_t cod,h;
int i,i2,s,st,raz;


void setup() {
  Serial.begin(9600);
  DDRB &amp;= ~(1 &lt;&lt; 0);
   cli(); 
  TCCR1A = 0;   
  TCCR1B = 0;   
  OCR1A = 9000; // 562.5 mks
  TCCR1B |= (1 &lt;&lt; WGM12); 
  TCCR1B |= (1 &lt;&lt; CS10);  
  TIMSK1 |= (1 &lt;&lt; OCIE1A);  
   sei(); 
 
}

void loop() {

if(raz==1){  Serial.println(IR(),HEX);}
  }

uint32_t IR(){
 delay(75);
 cod=0;i2=0;
 for(int a=0;a&lt;96;a++){
   if(data[a] + data[a+2] == 2){cod += ((uint32_t)0 &lt;&lt; 31-i2);i2++;a=a+1;}
   if(data[a] + data[a+2] == 1){cod += ((uint32_t)1 &lt;&lt; 31-i2);i2++;a=a+3;}}
 raz=0;
 TCCR1B |= (1 &lt;&lt; CS10);OCR1A = 150;
 if(cod==1){cod=0xFFFFFFFF;}
 return cod;}
  


ISR(TIMER1_COMPA_vect){
     if(((PINB &gt;&gt; 0) &amp; 1)==0&amp;&amp;st==0&amp;&amp;raz==0){st=1;OCR1A = 9000;}
     if(st==1){s++;}   
     if(s&gt;24){data[i]=((PINB &gt;&gt; 0) &amp; 1);i++;} 
     if(i&gt;96){i=0;s=0;st=0;raz=1;TCCR1B &amp;= ~(1 &lt;&lt; CS10); }
     }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 04 Aug 2021 15:08:49 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=4583#p4583</guid>
		</item>
		<item>
			<title><![CDATA[IRemote]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=3317#p3317</link>
			<description><![CDATA[<div class="codebox"><pre><code>bool data[96];
unsigned long cod;
int i,i2;


void setup() {
  Serial.begin(9600);
  DDRB &amp;= ~(1 &lt;&lt; 0);
   cli(); 
  TCCR1A = 0;   
  TCCR1B = 0;   
  OCR1A = 9000; // 562.5 mks
  TCCR1B |= (1 &lt;&lt; WGM12); 
  TCCR1B &amp;= ~(1 &lt;&lt; CS10);  
  TIMSK1 |= (1 &lt;&lt; OCIE1A);  
   sei(); 
 
}

void loop() {

  Serial.println(IR(),HEX);
 // delay(100);

  }

uint32_t IR(){
 while(PINB &amp; (1 &lt;&lt; 0));
 delay(10);
 while(PINB &amp; (1 &lt;&lt; 0));
 
 TCCR1B |= (1 &lt;&lt; CS10);  
 delayMicroseconds(100);
 delay(136);
 cod=0;i2=0;
for(int a=0;a&lt;96;a++){
  if(data[a] + data[a+2] == 2){cod += ((uint32_t)0 &lt;&lt; 31-i2);i2++;a=a+1;}
  if(data[a] + data[a+2] == 1){cod += ((uint32_t)1 &lt;&lt; 31-i2);i2++;a=a+3;}}

 return cod;
  }


ISR(TIMER1_COMPA_vect){

     data[i]=((PINB &gt;&gt; 0) &amp; 1);i++; 
     if(i&gt;96){TCCR1B &amp;= ~(1 &lt;&lt; CS10);i=0;}
     }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 21 Mar 2021 12:32:10 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=3317#p3317</guid>
		</item>
	</channel>
</rss>
