<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Arduino_Input_Tidsforhold</id>
	<title>Arduino Input Tidsforhold - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Arduino_Input_Tidsforhold"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_Input_Tidsforhold&amp;action=history"/>
	<updated>2026-09-17T07:31:49Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_Input_Tidsforhold&amp;diff=3933&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_Input_Tidsforhold&amp;diff=3933&amp;oldid=prev"/>
		<updated>2022-10-26T12:50:07Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 26. okt. 2022, 14:50&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_Input_Tidsforhold&amp;diff=3932&amp;oldid=prev</id>
		<title>htx_&gt;Bar: Oprettede siden med &quot;Kaldet til digitalRead(pin) tager tid, så det undersøges i det følgende ==Testprogram== Der skrives et lille testprogram, der kan måle tiden det tager at kalde digitalRe...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_Input_Tidsforhold&amp;diff=3932&amp;oldid=prev"/>
		<updated>2021-09-28T21:39:39Z</updated>

		<summary type="html">&lt;p&gt;Oprettede siden med &amp;quot;Kaldet til digitalRead(pin) tager tid, så det undersøges i det følgende ==Testprogram== Der skrives et lille testprogram, der kan måle tiden det tager at kalde digitalRe...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Kaldet til digitalRead(pin) tager tid, så det undersøges i det følgende&lt;br /&gt;
==Testprogram==&lt;br /&gt;
Der skrives et lille testprogram, der kan måle tiden det tager at kalde digitalRead, og i dette tilfælde gemme resultatet i en boolean variabel.&lt;br /&gt;
Testkoden ser ud som følger:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(1000000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
unsigned long tider[11];&lt;br /&gt;
bool temp;&lt;br /&gt;
byte n;&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  tider[0] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  tider[1] = micros();&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  temp = digitalRead(4);&lt;br /&gt;
  tider[2] = micros();&lt;br /&gt;
  for (n = 0; n &amp;lt; 2; n++) {&lt;br /&gt;
    Serial.println(tider[n+1] - tider[n]);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  delay(500);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Først måles der hvor lang tid det tager at lave en tidsmåling, det gøres ved at måle på 10 kald til micros(), der lagres i et array (der lagres bare til samme celle).&lt;br /&gt;
Det tager ca. 2,8 us svarende til 45 maskininstruktioner.&lt;br /&gt;
&lt;br /&gt;
Ti kald til digitalRead() samt en tidsmåling tager 32 us, eller 512 maskininstruktioner, så de 10 kald må tage 467 maskininstruktioner, hvilket betyder at et kald til digitalRead tager &amp;#039;&amp;#039;&amp;#039;47 maskininstruktioner&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;2,9 us&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Hurtigere input==&lt;br /&gt;
Ved at udnytte at man kan læse direkte i porten, så kan man aflæse ben 4 på følgende måde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
  temp = PIND &amp;amp; 0b00010000;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu tager de ti læsninger af inputtet samt en tidsmåling kun 4 us, eller 64 maskininstruktioner, så de 10 læsninger tager 19 maskininstruktioner, hvilket betyder at en læsning nu tager &amp;#039;&amp;#039;&amp;#039;2 maskininstruktioner&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;0,125 us&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Arduino Elektrisk}}&lt;br /&gt;
[[Kategori:Arduino rent Elektrisk]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>