Projekte
Navigator
Timer
main.c
Projekte
Forum
Doku
Öffentliche Projekte
Startseite
Beispielprogramme
Projekte von anderen
Welcome
Username
Passwort
Eingeloggt bleiben
Zugangsdaten vergessen?
Registrieren
Projektverwaltung
⇨ Please choose! ⇦
——————————————————
✎ Create new project...
★ Browse existing projects...
——————————————————
⚬ MotorTest#1
⚬ C Tutorial 8#1
⚬ NIBO2 C Project#1
⚙ C Tutorial 15#1
⚬ 2010_11_18_el_test001#1
Timer
main.c
Project details
Compiler settings
Nachrichten
Sie sind nicht eingeloggt.
Neuigkeiten
★
NiboRoboLib 3.6
2017-01-17: Neue Version 3.6
★
NiboRoboLib 3.4.1
2016-04-16: Neue Version 3.4.1
★
Coding Tutorial
2015-11-22: Jetzt auch für den NIBO burger!
Site-Statistic
7426 private projects
385 public projects
16180353 lines compiled
58212 builds
NIBO
@
timer/main.c [read only]
#include <nibobee/iodefs.h> // digitale Ein-/Ausgänge allgemein #include <nibobee/led.h> // Ein-/Ausschalten der LEDs #include <avr/interrupt.h> // ISR importieren volatile uint16_t count = 0; // Zähler kann sich jederzeit ändern, von 0 bis 65535 int main(void) { led_init(); TCCR0 = (1<<CS01); // Prescaler == 8, erster 8 bit Timer == 256, also: 15MHz / (8 * 256) = 7324 mal pro Sekunde // TCCR0 = (1<<CS02) | (1<<CS00); für mehrere Werte aus der Tabelle = 1, Prescaler == 1024 TIMSK |= (1<<TOIE0); // Timer0 Overflow-Interrupt erlauben sei(); // == enable_interrupts(); ermöglicht ISR while(1) { if (count == 7324) { // pro 1. Sekunde einschalten led_set(3,1); } if (count >= 2 * 7324) { // pro 2. Sekunde ausschalten led_set(3,0); } } } ISR(TIMER0_OVF_vect) { // in jedem durchlauf ausgelöst ++count; // Zähler erhöhen if(count > 2*7324) { // Zähler zurücksetzen count=0; } }
Compiler results:
Werbung
Online
adriannelabonte7
agrohimxdv
Juclinc
lavondax4578413909105
tresaautry51023212776
warrenhinder6456