<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; IRemote]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=290&amp;type=atom" />
	<updated>2021-08-05T07:18:50Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=290</id>
		<entry>
			<title type="html"><![CDATA[Re: IRemote]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4586#p4586" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-08-05T07:18:50Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4586#p4586</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: IRemote]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4585#p4585" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-08-05T01:45:15Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4585#p4585</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: IRemote]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4584#p4584" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-08-04T15:35:52Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4584#p4584</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: IRemote]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4583#p4583" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-08-04T15:08:49Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4583#p4583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[IRemote]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=3317#p3317" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-03-21T12:32:10Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=3317#p3317</id>
		</entry>
</feed>
