Skip to content

Commit dad9368

Browse files
committed
Revise L15 examples
1 parent 939ad38 commit dad9368

1 file changed

Lines changed: 30 additions & 11 deletions

File tree

15_TimerUndInterrupts.md

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -679,10 +679,15 @@ den der Zähler erreicht haben muss.
679679
![Bild](./images/15_Timer/AVRSimpleCounter.png "Counter implementation, Seite 126 [^megaAVR]")<!-- style="width: 75%; max-width: 1000px" -->
680680

681681

682-
<div>
683-
<wokwi-led color="red" pin="13" port="B" label="13"></wokwi-led>
684-
<span id="simulation-time"></span>
682+
<lia-keep>
683+
<div id="example3_div_id">
684+
<span id="simulation-time"></span><br>
685+
<wokwi-led color="red" pin="13" port="B" label="13"></wokwi-led>
686+
<!-- memout web komponenten -->
687+
<!-- Textausgaben -->
688+
<b>TCNT1: </b> <memout-element type="bin" address="0x84" bytes="2" endian="little"></memout-element><br>
685689
</div>
690+
</lia-keep>
686691
```cpp avrlibc.cpp
687692
#ifndef F_CPU
688693
#define F_CPU 16000000UL // 16 MHz clock speed
@@ -692,15 +697,14 @@ den der Zähler erreicht haben muss.
692697

693698
int main(void)
694699
{
695-
Serial.begin(9600);
696700
DDRB |= (1 << PB5); // Ausgabe LED festlegen
697701
// Timer 1 Konfiguration
698702
// keine Pins verbunden
699703
TCCR1A = 0;
700704
TCCR1B = 0;
701705
// Timerwert
702706
TCNT1 = 0;
703-
TCCR1B |= (1 << CS12) | (1 <<CS10); // 1024 als Prescale-Wert
707+
TCCR1B |= (1 << CS12) | (1 <<CS10); // 1024 als Prescaler-Wert
704708

705709
while (1) //infinite loop
706710
{
@@ -711,7 +715,7 @@ int main(void)
711715
}
712716
}
713717
```
714-
@AVR8js.sketch
718+
@AVR8jsMem.sketch(example3_div_id,100000,1)
715719
716720
> Was stört Sie an dieser Umsetzung?
717721
@@ -732,10 +736,25 @@ Hardware und unser Hauptprogramm könnte eigenständige Aufgaben wahrnehmen.
732736
733737
**Normal Mode Konfiguration**
734738
735-
<div>
736-
<wokwi-led color="green" pin="9" port="B" label="B1"></wokwi-led>
737-
<span id="simulation-time"></span>
739+
<lia-keep>
740+
<div id="example2_div_id">
741+
<wokwi-led color="green" pin="9" port="B" label="B1"></wokwi-led>
742+
<span id="simulation-time"></span>
743+
<memout-element
744+
type="diagram2"
745+
outputs="[bytesToInt(data[0x84],data[0x85]), 15625, extractBit(data[0x23],1)*30000 + 260]"
746+
color="blue"
747+
min="0"
748+
max="65536"
749+
width="800"
750+
height="300"
751+
interval="58000000"
752+
title="TCNT1 und OCR1A"
753+
colors='["red","blue","green"]'
754+
labels='["TCNT1","OCR1A","LED"]'
755+
></memout-element><br>
738756
</div>
757+
</lia-keep>
739758
```cpp avrlibc.cpp
740759
#ifndef F_CPU
741760
#define F_CPU 16000000UL // 16 MHz clock speed
@@ -753,7 +772,7 @@ int main(void)
753772
while (1) _delay_ms(500);
754773
}
755774
```
756-
@AVR8js.sketch
775+
@AVR8jsMem.sketch(example2_div_id,100000,1)
757776

758777
Was passiert, wenn die Aktivierung und Deaktivierung mit einer höheren Frequenz vorgenommen wird? Die effektiv wirkende Spannung wird durch den Mittelwert repräsentiert. Damit ist eine Quasi-Digital-Analoge Ausgabe ohne eine entsprechende Hardware möglich.
759778

@@ -864,7 +883,7 @@ Zähler | + +
864883

865884
> **Frage:** Sie wollen die Ausgabe in Ticks in eine Darstellung in ms überführen. Welche Kalkulation ist dafür notwendig?
866885
867-
> **Problem:** Wie große ist das maximal Darstellbare Zahlenintervall?
886+
> **Problem:** Wie groß ist das maximal darstellbare Zahlenintervall?
868887
869888
[^megaAVR]: Firma Microchip, megaAVR® Data Sheet, [Link](http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf)
870889

0 commit comments

Comments
 (0)