<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; LGT8F328 КОМПАРАТОР]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=624&amp;type=atom" />
	<updated>2024-03-13T09:01:08Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=624</id>
		<entry>
			<title type="html"><![CDATA[Re: LGT8F328 КОМПАРАТОР]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=9661#p9661" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#define CALL   58.00
#define CALL_0 26.50

volatile int x;
long f;

void setup() {
  Serial.begin(9600);
  DDRD |= (1&lt;&lt;PD7);
  
  TCNT1 = 0;
  TCCR1A = 0;
  TCCR1C = 0;
  TCCR1B = 1;
  TIMSK1 |= (1 &lt;&lt; TOIE1);
  
  C0SR = 0;C0XR=0;
  C0XR |=(1&lt;&lt;C0OE); // C0OE[7] = 1, выход компаратора AC0 для внешнего порта PD2

  // ВЫБОР ИНВЕРСНОГО ВХОДА
  ADCSRB = 0b01000000;// ADMUX
  /*
  CME01[7] CME00[6] Источник входного сигнала AC0
  0        0        ACXN
  0        1        ADMUX
  1        0        DFFO
  */
  
  ADMUX = 0b00000000; // CHMUX[3:0] = 0000 Источник входного сигнала PC0 (A0)

  // ВЫБОР НЕИНВЕРСНОГО ВХОДА
  C0SR &amp;=~(1&lt;&lt;C0BG);C0XR &amp;=~(1&lt;&lt;C0PS0);
  /*
  C0BG C0PS0 Источник входного сигнала AC0
  0    0     AC0P
  0    1     ACXP
  1    0     DAO
  */
  ADMUX |= 1 &lt;&lt; REFS0;
  ADCSRA |= 1 &lt;&lt; ADEN | 1 &lt;&lt; ADSC | 1 &lt;&lt; ADATE | 0b111;
}

void loop() {
  PORTD &amp;=~ (1&lt;&lt;PD7);
  while((ADCSRA &amp; (1 &lt;&lt; ADIF)) == 0);
  while((ADCL|ADCH &lt;&lt; 8)&gt;10);
   
  PORTD |= (1&lt;&lt;PD7); TCNT1=0;x=0;
  
  while(((C0SR &gt;&gt; 5) &amp; 1)==1){f = x * 65535 + TCNT1;}
  Serial.print(f/CALL-CALL_0,1);Serial.println(&quot; pF&quot;);
  delay(1000);
}

ISR(TIMER1_OVF_vect){x++;}</code></pre></div><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/03/5668dc82901fcbb03ef75561a9bdbd09.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/03/5668dc82901fcbb03ef75561a9bdbd09.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-03-13T09:01:08Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=9661#p9661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: LGT8F328 КОМПАРАТОР]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=9660#p9660" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>volatile int x;
float f;
bool w;


void setup() {
  Serial.begin(9600);
  TCNT1 = 0;
  TCCR1A = 0;
  TCCR1C = 0;
  TCCR1B = 1;
  TIMSK1 |= (1 &lt;&lt; TOIE1);
  
  C0SR = 0;C0XR=0;
  C0XR |=(1&lt;&lt;C0OE); // C0OE[7] = 1, выход компаратора AC0 для внешнего порта PD2

  // ВЫБОР ИНВЕРСНОГО ВХОДА
  ADCSRB = 0b01000000;// ADMUX
  /*
  CME01[7] CME00[6] Источник входного сигнала AC0
  0        0        ACXN
  0        1        ADMUX
  1        0        DFFO
  */
  
  ADMUX = 0b00000000; // CHMUX[3:0] = 0000 Источник входного сигнала PC0 (A0)

  // ВЫБОР НЕИНВЕРСНОГО ВХОДА
  C0SR &amp;=~(1&lt;&lt;C0BG);C0XR &amp;=~(1&lt;&lt;C0PS0);
  /*
  C0BG C0PS0 Источник входного сигнала AC0
  0    0     AC0P
  0    1     ACXP
  1    0     DAO
  */

   C0SR |= (1&lt;&lt;C0IE); // РАЗРЕШИТЬ ПРЕРЫВАНИЯ
   C0SR |= (1&lt;&lt;C0IS1)|(1&lt;&lt;C0IS0); // Режим прерывания - Нарастающий фронт
}

void loop() {
   Serial.print(f/32,0); 
   Serial.println(&quot; uS&quot;);
   delay(1000);
}

ISR(ANALOG_COMP_0_vect){f = x * 65535 + TCNT1;x=0;TCNT1=0;}
ISR(TIMER1_OVF_vect){x++;}</code></pre></div><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/03/4be05156085cbd8574a2c7235ad91483.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/03/4be05156085cbd8574a2c7235ad91483.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-03-13T06:26:20Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=9660#p9660</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: LGT8F328 КОМПАРАТОР]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=9659#p9659" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>void setup() {
  Serial.begin(9600);
  C0SR = 0;C0XR=0;
  C0XR |=(1&lt;&lt;C0OE); // C0OE[7] = 1, выход компаратора AC0 для внешнего порта PD2

  // ВЫБОР ИНВЕРСНОГО ВХОДА
  ADCSRB = 0b01000000;// ADMUX
  /*
  CME01[7] CME00[6] Источник входного сигнала AC0
  0        0        ACXN
  0        1        ADMUX
  1        0        DFFO
  */
 
  ADMUX = 0b00000000; // CHMUX[3:0] = 0000 Источник входного сигнала PC0 (A0)

  // ВЫБОР НЕИНВЕРСНОГО ВХОДА
  C0SR &amp;=~(1&lt;&lt;C0BG);C0XR &amp;=~(1&lt;&lt;C0PS0);
  /*
  C0BG C0PS0 Источник входного сигнала AC0
  0    0     AC0P
  0    1     ACXP
  1    0     DAO
  */

  C0SR |= (1&lt;&lt;C0IE); // РАЗРЕШИТЬ ПРЕРЫВАНИЯ
  C0SR |= (1&lt;&lt;C0IS1)|(1&lt;&lt;C0IS0); // Режим прерывания - Нарастающий фронт

  C0XR |= (1&lt;&lt;C0FEN)|0B11;
  // Разрешить управление цифровым фильтром компаратора
  // Установка ширины цифрового фильтра компаратора 11 = 96us
  
}

void loop() {
 Serial.println((C0SR &gt;&gt; 5) &amp; 1);

 delay(1000);

}

ISR(ANALOG_COMP_0_vect){
  Serial.println(&quot;YYYY&quot;);
  }</code></pre></div><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/03/6d34bf11952a12164cfea8e26e8bbb70.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/03/6d34bf11952a12164cfea8e26e8bbb70.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-03-12T09:37:45Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=9659#p9659</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[LGT8F328 КОМПАРАТОР]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=9658#p9658" />
			<content type="html"><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=131706">http://rcl-radio.ru/?p=131706</a></p><div class="codebox"><pre><code>void setup() {
  Serial.begin(9600);
  C0SR = 0;C0XR=0;
  C0XR |=(1&lt;&lt;C0OE); // C0OE[7] = 1, выход компаратора AC0 для внешнего порта PD2

  // ВЫБОР ИНВЕРСНОГО ВХОДА
  ADCSRB = 0b01000000;// ADMUX
  /*
  CME01[7] CME00[6] Источник входного сигнала AC0
  0        0        ACXN
  0        1        ADMUX
  1        0        DFFO
  */
 
  ADMUX = 0b00000000; // CHMUX[3:0] = 0000 Источник входного сигнала PC0 (A0)

  // ВЫБОР НЕИНВЕРСНОГО ВХОДА
  C0SR &amp;=~(1&lt;&lt;C0BG);C0XR &amp;=~(1&lt;&lt;C0PS0);
  /*
  C0BG C0PS0 Источник входного сигнала AC0
  0    0     AC0P
  0    1     ACXP
  1    0     DAO
  */
}

void loop() {
 Serial.println((C0SR &gt;&gt; 5) &amp; 1, BIN);
 delay(1000);
}</code></pre></div><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/03/81e7e8fbfcd5d1cd0469e479d4396814.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/03/81e7e8fbfcd5d1cd0469e479d4396814.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-03-12T08:39:43Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=9658#p9658</id>
		</entry>
</feed>
