Skip to content
Snippets Groups Projects
Verified Commit d6039b11 authored by Isabella Skořepová's avatar Isabella Skořepová
Browse files

Opraveny odkazy na fórum

parent 0b584bce
No related branches found
No related tags found
No related merge requests found
Pipeline #
```
title = "Atmega328p: přerušení časovače"
perex = """
Pokud programujete microcontrollery z rodiny AVR tak přerušení jsou velmi užitečným
nástrojem. V tomto článku se pokusím vysvětlit jak fungují a nastíním příklady
pro čip Atmega328p.
"""
tags = ["Programování", "AVR"]
```
Pokud programujete microcontrollery z rodiny AVR tak přerušení jsou velmi užitečným
nástrojem. V následujících řádkách se pokusím vysvětlit jak fungují a nastíním
příklady pro čip Atmega328p.
## Co je časovač
V rodině microcontrollerů AVR je časovač vlastně čítač - periferie, která jednou
za definovaný časový interval zvýší hodnotu registru o 1. Další možností kromě
zvýšení po časovém intervalu je možnost zvýšení při signálu na určitém pinu, ale
to je mimo rozsah tohoto článku.
## Konfigurace časovače
Konfigurace časovače je poměrně jednoduchá - stačí ho povolit v jeho registru.
To se provádí pomocí `TCCR1B = (1 << CS10);`. Tento příkaz nastaví, že se do
registru `TCNT1` přičte 1 při každém hodinovém cyklu - tedy např 1 000 000x za sekundu
pokud máte frekvenci procesoru 1MHz.
Dají se nastavit i jiné hodnoty - těm se říká předdělička. Předdělička (prescaler)
funguje tak, že frekvenci procesoru vydělí danou hodnotou - tedy pokud je předdělička
8 a frekvence procesoru je 8MHz tak se přičte do čítacího registru (`TCNT1`)
přičte 1000 000x za sekundu.
Různá nastavení registru `TCCR1B` a odpovídající hodnoty předděličky ukazuje
následující tabulka (vycházející z [datasheetu][datasheet] strana 134)
| Nastavení registru | Předdělička |
|--------------------------------|-----------------------|
| 0 | Časovač je vypnut |
| (1 << CS10) | 1 (žádná předdělička) |
| (1 << CS11) | 8 |
| (1 << CS11) &#124; (1 << CS10) | 64 |
| (1 << CS12) | 256 |
| (1 << CS12) &#124; (1 << CS10) | 1024 |
[datasheet]: http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet_complete.pdf
......@@ -198,4 +198,4 @@ nahrání kódu (ctrl-r).
# Dejte nám vědět!
Napište nám na naše [fórum](https://ok1kvk.cz/forum)
Napište nám na naše [fórum](https://forum.ok1kvk.cz/)
......@@ -59,7 +59,7 @@ Když jsem video nahrával na Youtube, tak jsem zjistil, že ještě stále nepo
`$ ffmpeg -i timelapse.mp4 -c:v libx264 timelapse_x264.mp4`
# Závěr
Podle tohoto návodu by jste měli být schopni vytvářet svá vlastní časosběrná videa. Pokud narazíte na nějaké problémy, tak se neváhejte zeptat na našem [fóru](https://ok1kvk.cz/forum).
Podle tohoto návodu by jste měli být schopni vytvářet svá vlastní časosběrná videa. Pokud narazíte na nějaké problémy, tak se neváhejte zeptat na našem [fóru](https://forum.ok1kvk.cz/).
# Zdroje
......
......@@ -157,4 +157,4 @@ Pokud chcete někam umístit status posledníhu buidu, tak ho naleznete na této
- http://doc.gitlab.com/ce/ci/
# Dejte nám vědět!
Napište nám na naše [fórum](https://ok1kvk.cz/forum).
Napište nám na naše [fórum](https://forum.ok1kvk.cz/).
......@@ -46,4 +46,4 @@ V GitLabu ve Vašem forknutém repozitáři klikněte na *Merge Requests* -> *Ne
Tím nám přijde žádost o zařazení Vaší změny, kterou přijmeme a poté se objeví na stránkách.
## Děkujeme za pomoc!
V případě problémů nebo nejasností nám napište na [fórum](https://ok1kvk.cz/forum).
V případě problémů nebo nejasností nám napište na [fórum](https://forum.ok1kvk.cz).
......@@ -9,6 +9,6 @@ notarticle = true
# Důležité odkazy
- [GitLab](https://git.ok1kvk.cz/)
- [Fórum](https://ok1kvk.cz/forum)
- [Fórum](https://forum.ok1kvk.cz/)
- [Kalendář akcí](http://www.google.com/calendar/embed?src=fsnnu8ruqf7ikf8glvqv21fb70%40group.calendar.google.com&ctz=Europe/Prague)
- [Fotogalerie](http://ok1kvk.cz/web/index.php/fotogalerie)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment