<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23557&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-01-28T11:22:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23557&amp;mode</id>
<entry>
<author><name><![CDATA[BoykaP]]></name></author>
<updated>2021-01-28T11:22:04+01:00</updated>
<published>2021-01-28T11:22:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230794#p230794</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230794#p230794"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230794#p230794"><![CDATA[
Temat zamknięty. <br /><br />Problem leżał w połączeniu zapomniałem że płytka przewodzi tylko do połowy linię zasilającą. <br /><br />Dziękuje za pomoc pomogło mi to lepiej zrozumieć timery. <br /><br />Gdyby ktoś chciał gotowy kod.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br /><br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />#define HC_TRIG(1&lt;&lt;PL6)<br />#define TRIG_PORTPORTL<br />#define TRIG_DIRDDRL<br /><br />#define HC_ECHO(1&lt;&lt;PL0)<br />#define ECHO_PORTPORTL<br />#define ECHO_DIRDDRL<br /><br /><br />#define LED1_TOG PORTA ^= LED1<br />#define LED1(1&lt;&lt;PA7);<br />#define LED_PORTPORTA<br />#define LED_DIRDDRL<br /><br /><br />volatile uint16_t Timer1, Timer2;<br /><br />volatile uint16_t EchoWidth;<br />uint16_t dystans;<br />volatile uint8_t echo_flag;<br /><br />char buf&#91;10&#93;;<br />uint8_t len;<br /><br /><br />void soft_timers_init( void );<br />void hc_pomiar(void);<br /><br /><br />int main( void ) {<br /><br /><br />TRIG_DIR |= HC_TRIG;// wyjście, stan Lo<br />ECHO_PORT |= HC_ECHO;// wejście, stan Hi<br /><br /><br />lcd_init();<br />lcd_locate(0,4);<br />lcd_str(&quot;DALMIERZ&quot;);<br />lcd_locate(1,0);<br /><br /><br /><br /><br />soft_timers_init();<br /><br />// konfiguracja TIMER4 - w trybie ICP<br />    TCCR4B |= (1&lt;&lt;ICES4);// zbocze narastające<br />    TCCR4B |= (1&lt;&lt;CS41);  // preskaler 8<br />    TIMSK4 |= (1&lt;&lt;ICIE4);   // zezwolenie na przerwanie od ICP<br /><br />sei();                 // globalne zezwolenie na przerwania<br /><br /><br />while(1) {<br /><br /><br /><br />if( !Timer1 ) {<br /><br />if( echo_flag ) {<br /><br />//sprintf( buf, &quot;%05dus&quot;, EchoWidth );<br />//lcd_locate(0,0);<br />//lcd_str(buf);<br /><br />lcd_locate(1,0);<br />lcd_str(&quot;Dystans:&quot;);<br /><br />dystans = (EchoWidth+29)/58;<br /><br />sprintf( buf, &quot; %d cm&quot;, dystans );<br />len = strlen(buf);<br /><br />lcd_locate(1,16-len);<br />lcd_str(buf);<br /><br />echo_flag = 0;<br /><br /><br />}<br /><br />hc_pomiar();<br />Timer1 = 25;<br />}<br /><br />}<br /><br /><br />}<br /><br />void hc_pomiar(void) {<br /><br />TRIG_PORT |= HC_TRIG; //wystawienie jedynki na TRIG<br />_delay_us(10);//wymagane 10 uS stanu wysokiego<br />TRIG_PORT &amp;= ~HC_TRIG;//wystawienie zera na TRIG<br /><br />}<br /><br /><br />ISR(TIMER4_CAPT_vect) {<br /><br />static uint16_t LastCapture;<br /><br />if( !(TCCR4B &amp; (1&lt;&lt;ICES4)) ) {<br />EchoWidth = ICR4 - LastCapture;<br />echo_flag = 1;<br />}<br /><br />LastCapture = ICR4;<br /><br /><br />TCCR4B ^= (1&lt;&lt;ICES4);<br /><br /><br />}<br /><br /><br /><br /><br /><br />//****************************************************************<br /><br /><br /><br /><br /><br /><br />void soft_timers_init( void ) {<br />    TCCR1B |= (1&lt;&lt;WGM12) ;    // ctc<br />    TCCR1B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);   // prescaler 1024<br />    OCR1A= (F_CPU/1024ul/100ul)-1;// 100 Hz (co 10ms)<br />    TIMSK1 |= (1&lt;&lt;OCIE1A);// zezwolenie na przerwanie<br />}<br /><br />ISR( TIMER1_COMPA_vect ) {<br /><br />    uint16_t n;<br /><br />    n=Timer1;<br />    if( n ) Timer1 = --n;<br /><br />    n=Timer2;<br />    if( n ) Timer2 = --n;<br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21659">BoykaP</a> — 28 sty 2021, o 11:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BoykaP]]></name></author>
<updated>2021-01-26T12:48:03+01:00</updated>
<published>2021-01-26T12:48:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230775#p230775</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230775#p230775"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230775#p230775"><![CDATA[
Poprawiłem błąd w &quot; ISR(TIMER4_CAPT_vect) &quot;<br /><br />z<br />ICIE4<br /><br />na<br />ICES4<br /><br />ale problem jest nadal.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21659">BoykaP</a> — 26 sty 2021, o 12:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BoykaP]]></name></author>
<updated>2021-01-25T11:42:56+01:00</updated>
<published>2021-01-25T11:42:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230758#p230758</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230758#p230758"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230758#p230758"><![CDATA[
Zmodyfikowałem kod. <br /><br />Wygląda aktualnie tak. <br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 19 maj 2018<br /> *      Author: Mirosław Kardaś<br /> *www.atnel.pl<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br /><br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />#define HC_TRIG(1&lt;&lt;PB0)<br />#define TRIG_PORTPORTB<br />#define TRIG_DIRDDRB<br /><br />#define HC_ECHO(1&lt;&lt;PL0)<br />#define ECHO_PORTPORTL<br />#define ECHO_DIRDDRL<br /><br /><br />volatile uint16_t Timer4, Timer2;<br /><br />volatile uint16_t EchoWidth;<br />uint16_t dystans;<br />volatile uint8_t echo_flag;<br /><br />char buf&#91;10&#93;;<br />uint8_t len;<br /><br /><br />void soft_timers_init( void );<br />void hc_pomiar(void);<br /><br /><br />int main( void ) {<br /><br /><br />TRIG_DIR |= HC_TRIG;// wyjście, stan Lo<br />ECHO_PORT |= HC_ECHO;// wejście, stan Hi<br /><br /><br />lcd_init();<br />lcd_locate(0,4);<br />lcd_str(&quot;DALMIERZ&quot;);<br />lcd_locate(1,0);<br /><br /><br /><br /><br />soft_timers_init();<br /><br />// konfiguracja TIMER4 - w trybie ICP<br />    TCCR4B |= (1&lt;&lt;ICES4);  // zbocze narastające<br />    TCCR4B |= (1&lt;&lt;CS41);  // preskaler 8<br />    TIMSK4 |= (1&lt;&lt;ICIE4);   // zezwolenie na przerwanie od ICP<br /><br />sei();                 // globalne zezwolenie na przerwania<br /><br /><br />while(1) {<br /><br /><br />if( !Timer4 ) {<br /><br />if( echo_flag ) {<br /><br />sprintf( buf, &quot;%05dus&quot;, EchoWidth );<br />lcd_locate(0,0);<br />lcd_str(buf);<br /><br />lcd_locate(1,0);<br />lcd_str(&quot;dystans:&quot;);<br /><br />dystans = (EchoWidth+29)/58;<br /><br />sprintf( buf, &quot; %d cm&quot;, dystans );<br />len = strlen(buf);<br /><br />lcd_locate(1,16-len);<br />lcd_str(buf);<br /><br />echo_flag = 0;<br /><br /><br />}<br /><br />hc_pomiar();<br />Timer4 = 25;<br />}<br /><br />}<br /><br /><br />}<br /><br />void hc_pomiar(void) {<br /><br />TRIG_PORT |= HC_TRIG; //wystawienie jedynki na TRIG<br />_delay_us(10);//wymagane 10 uS stanu wysokiego<br />TRIG_PORT &amp;= ~HC_TRIG;//wystawienie zera na TRIG<br /><br />}<br /><br /><br />ISR(TIMER4_CAPT_vect) {<br /><br />static uint16_t LastCapture;<br /><br />if( !(TCCR4B &amp; (1&lt;&lt;ICIE4)) ) {<br />EchoWidth = ICR4 - LastCapture;<br />echo_flag = 1;<br />}<br /><br />LastCapture = ICR4;<br /><br /><br />TCCR4B ^= (1&lt;&lt;ICIE4);<br /><br />}<br /><br /><br /><br /><br /><br />//****************************************************************<br /><br /><br /><br /><br /><br /><br />void soft_timers_init( void ) {<br />    TCCR1B |= (1&lt;&lt;WGM12);    // ctc<br />    TCCR1B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);   // prescaler 1024<br />    OCR1A= (F_CPU/1024ul/100ul)-1;// 100 Hz (co 10ms)<br />    TIMSK1 |= (1&lt;&lt;OCIE1A);// zezwolenie na przerwanie<br />}<br /><br />ISR( TIMER1_COMPA_vect ) {<br /><br />    uint16_t n;<br /><br />    n=Timer4;<br />    if( n ) Timer4 = --n;<br /><br />    n=Timer2;<br />    if( n ) Timer2 = --n;<br /><br />}[/syntax]<br /><br />Wykonuje się już kod w pęli while lecz bez prawidłowego pomiaru. Wydaje mi się że timery są już ustawione prawidłowo. Sprawdziłem datasheet kilka razy. <br /><br />pomiar to 000020/000021 us.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21659">BoykaP</a> — 25 sty 2021, o 11:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2021-01-23T15:50:45+01:00</updated>
<published>2021-01-23T15:50:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230744#p230744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230744#p230744"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230744#p230744"><![CDATA[
Spójrz na linie od 53 do 55 twojego kodu.<br />Konfigurujesz rejestr TCCR1B czyli zbocze i prescaler od TIMER1 a <br />później chcesz odblokować przerwania od Timera czwartego czyli :<br />[syntax=c]TIMSK4 |= (1&lt;&lt;ICIE4);               // zezwolenie na przerwanie od ICP[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 23 sty 2021, o 15:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BoykaP]]></name></author>
<updated>2021-01-23T08:40:05+01:00</updated>
<published>2021-01-23T08:40:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230734#p230734</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230734#p230734"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230734#p230734"><![CDATA[
Aktualnie kod wygląda tak<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br /><br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />#define HC_TRIG(1&lt;&lt;PF7)<br />#define TRIG_PORTPORTF<br />#define TRIG_DIRDDRF<br /><br />#define HC_ECHO(1&lt;&lt;PL0)<br />#define ECHO_PORTPORTL<br />#define ECHO_DIRDDRL<br /><br /><br />volatile uint16_t Timer4, Timer2;<br /><br />volatile uint16_t EchoWidth;<br />uint16_t dystans;<br />volatile uint8_t echo_flag;<br /><br />char buf&#91;10&#93;;<br />uint8_t len;<br /><br /><br />void soft_timers_init( void );<br />void hc_pomiar(void);<br /><br /><br />int main( void ) {<br /><br /><br />TRIG_DIR |= HC_TRIG;// wyjście, stan Lo<br />ECHO_PORT |= HC_ECHO;// wejście, stan Hi<br /><br /><br />lcd_init();<br />lcd_locate(0,4);<br />lcd_str(&quot;DALMIERZ&quot;);<br />lcd_locate(1,0);<br /><br /><br /><br /><br />soft_timers_init();<br /><br />// konfiguracja TIMER4 - w trybie ICP<br />    TCCR1B |= (1&lt;&lt;ICES1);  // zbocze narastające<br />    TCCR1B |= (1&lt;&lt;CS11);  // preskaler 8<br />    TIMSK4 |= (1&lt;&lt;ICIE4);   // zezwolenie na przerwanie od ICP<br /><br />sei();                 // globalne zezwolenie na przerwania<br /><br /><br />while(1) {<br /><br /><br />if( !Timer4 ) {<br /><br />if( echo_flag ) {<br /><br />sprintf( buf, &quot;%05dus&quot;, EchoWidth );<br />lcd_locate(0,0);<br />lcd_str(buf);<br /><br />lcd_locate(1,0);<br />lcd_str(&quot;dystans:&quot;);<br /><br />dystans = (EchoWidth+29)/58;<br /><br />sprintf( buf, &quot; %d cm&quot;, dystans );<br />len = strlen(buf);<br /><br />lcd_locate(1,16-len);<br />lcd_str(buf);<br /><br />echo_flag = 0;<br />}<br /><br />hc_pomiar();<br />Timer4 = 25;<br />}<br /><br />}<br /><br /><br />}<br /><br />void hc_pomiar(void) {<br /><br />TRIG_PORT |= HC_TRIG; //wystawienie jedynki na TRIG<br />_delay_us(10);//wymagane 10 uS stanu wysokiego<br />TRIG_PORT &amp;= ~HC_TRIG;//wystawienie zera na TRIG<br /><br />}<br /><br /><br />ISR(TIMER4_CAPT_vect) {<br /><br />static uint16_t LastCapture;<br /><br />if( !(TCCR1B &amp; (1&lt;&lt;ICIE4)) ) {<br />EchoWidth = ICR4 - LastCapture;<br />echo_flag = 1;<br />}<br /><br />LastCapture = ICR4;<br /><br /><br />TCCR1B ^= (1&lt;&lt;ICIE4);<br /><br />}<br /><br /><br /><br /><br /><br />//****************************************************************<br /><br /><br /><br /><br /><br /><br />void soft_timers_init( void ) {<br />    TCCR1B |= (1&lt;&lt;WGM12);    // ctc<br />    TCCR1B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);   // prescaler 1024<br />    OCR1A = (F_CPU/1024ul/100ul)-1;// 100 Hz (co 10ms)<br />    TIMSK3 |= (1&lt;&lt;OCIE3A);// zezwolenie na przerwanie<br />}<br /><br />ISR( TIMER2_COMPA_vect ) {<br /><br />    uint16_t n;<br /><br />    n=Timer4;<br />    if( n ) Timer4 = --n;<br /><br />    n=Timer2;<br />    if( n ) Timer2 = --n;<br /><br />}[/syntax]<br /><br />Program nie wykonuje tego co znajduje się w if w pętli while. <br /><br />Domyślam się że nadal posiada problem z timerem 4. <br /><br />Widzi ktoś może jakiś błąd przez który program nie wykonuje się tak jak bym chciał ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21659">BoykaP</a> — 23 sty 2021, o 08:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2021-01-21T22:14:45+01:00</updated>
<published>2021-01-21T22:14:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230710#p230710</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230710#p230710"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230710#p230710"><![CDATA[
Nie jestem pewien ale 3 razy &quot;przekopałem&quot; datascheet dla ATmegi2560 i nie znalazłem tam rejestru TIMSK.<br />O co mi chodzi?<br />Konfigurujesz Timer1. Zbocze i preskaler ustawiłeś dobrze natomiast zezwolenie na przerwania wg. noty powinno być <br />[syntax=c]TIMSK1 |= (1&lt;&lt;ICIE1);[/syntax]<br />U ciebie w linii 5 jest inaczej.<br />Nie wiem albo to jest źle wg mnie albo ja mam złą dokumentację tej ATmegi.<br />W mojej dokumentacji nie ma rejestru TIMSK, ponieważ rejestry te są numerowane np: TIMSK2 itp.<br />Oprócz tego w tym rejestrze nie znalazłem bitu o nazwie TICIE1.<br />Jeżeli moja dokumentacja dla tej ATmegi jest niekompletna i się mylę, to nie krzyczcie na mnie, że się nie znam i tę odpowiedź potraktujcie<br />tak jakby jej nigdy nie było.<br />No chyba, że coś przegapiłem w tej dokumentacji i to moja wina, no to sorry. Człowiek stary to i ślepy no ale cóż.<br />Dokumentacja, z której korzystałem jest w załączniku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 21 sty 2021, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2021-01-21T21:05:42+01:00</updated>
<published>2021-01-21T21:05:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230707#p230707</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230707#p230707"/>
<title type="html"><![CDATA[Re: HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230707#p230707"><![CDATA[
To jeszcze może nam powiedz jaki efekt chcesz uzyskać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 21 sty 2021, o 21:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BoykaP]]></name></author>
<updated>2021-01-21T19:08:51+01:00</updated>
<published>2021-01-21T19:08:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230702#p230702</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230702#p230702"/>
<title type="html"><![CDATA[HC-SR04 for Atmega 2560]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23557&amp;p=230702#p230702"><![CDATA[
Witam serdecznie. <br /><br />Jestem zielony w dziedzienie AVR lecz od jakiegoś czasu staram się coś tworzyć. <br /><br />Potrzebuję pomocy w modernizacji kodu pana Mirka.<br /><br />Ogólne założenia:<br /><br />- Atmega 2560 8 MHz<br />- HC-SR04 <br />- LCD 2x16 <br /><br />Posiadam bibliotekę dla HC-SR04 myślę że problem leży w źle ustawionych Tiemrach. <br /><br />Moje wszelkie próby zakończyły się klęską. Przeszukiwałem forum forum próbowałem lecz mam problem z ustawianiem timerów. <br /><br />Proszę o pomoc, miejsca w których myślę że jest problem. <br /><br />[syntax=c]// **************************************************************************<br />// konfiguracja TIMER1 - w trybie ICP<br />    TCCR1B |= (1&lt;&lt;ICES1);  // zbocze narastające<br />    TCCR1B |= (1&lt;&lt;CS11);  // preskaler 8<br />    TIMSK |= (1&lt;&lt;TICIE1);   // zezwolenie na przerwanie od ICP<br /><br /><br />// **************************************************************************<br />void soft_timers_init( void ) {<br />    TCCR0A |= (1&lt;&lt;WGM01);      // ctc<br />    TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);       // prescaler 1024<br />    OCR0A = (F_CPU/1024ul/100ul)-1;        // 100 Hz (co 10ms)<br />    TIMSK0 |= (1&lt;&lt;OCIE0A);// zezwolenie na przerwanie<br />}<br /><br />// ***************************************************************************<br />ISR(TIMER1_CAPT_vect) {<br /><br />static uint16_t LastCapture;<br /><br />if( !(TCCR1B &amp; (1&lt;&lt;ICES1)) ) {<br />EchoWidth = ICR1 - LastCapture;<br />echo_flag = 1;<br />}<br /><br />LastCapture = ICR1;<br /><br /><br />TCCR1B ^= (1&lt;&lt;ICES1);<br /><br />}<br /><br />// ***********************************************************************************[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21659">BoykaP</a> — 21 sty 2021, o 19:08</p><hr />
]]></content>
</entry>
</feed>