Compare commits
2 Commits
f9ed357485
...
6eaf4518fa
Author | SHA1 | Date |
---|---|---|
Sven Vogel | 6eaf4518fa | |
Sven Vogel | bc915a7a3f |
|
@ -12,3 +12,13 @@
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
board = nanoatmega328
|
board = nanoatmega328
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
build_src_filter =
|
||||||
|
+<*>
|
||||||
|
-<.git/>
|
||||||
|
-<.svn/>
|
||||||
|
-<blink/>
|
||||||
|
-<button_interupt/>
|
||||||
|
-<button_poll/>
|
||||||
|
-<trafficlight/>
|
||||||
|
-<summer/>
|
||||||
|
+<summer_controlled/>
|
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
|
|
||||||
#ifdef BUTTON_INTERRUPT
|
|
||||||
|
|
||||||
ISR(INT0_vect)
|
ISR(INT0_vect)
|
||||||
{
|
{
|
||||||
PORTB = 0;
|
PORTB = 0;
|
||||||
|
@ -43,5 +41,3 @@ void init() {
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
|
@ -10,8 +10,6 @@
|
||||||
// PORTx set bit of port value
|
// PORTx set bit of port value
|
||||||
// PINx read voltage of bit of port D
|
// PINx read voltage of bit of port D
|
||||||
|
|
||||||
#ifdef BUTTON_POLL
|
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
// ---------------------------------------
|
// ---------------------------------------
|
||||||
// set Port B to output
|
// set Port B to output
|
||||||
|
@ -43,5 +41,3 @@ void loop() {
|
||||||
CLR_BIT(PORTB, DDB5);
|
CLR_BIT(PORTB, DDB5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
|
@ -5,12 +5,9 @@ extern void loop();
|
||||||
//#include "blink/blink.h"
|
//#include "blink/blink.h"
|
||||||
//#include "button_poll/button.h"
|
//#include "button_poll/button.h"
|
||||||
//#include "button_interupt/button.h"
|
//#include "button_interupt/button.h"
|
||||||
#include "trafficlight/trafficlight.h"
|
//#include "trafficlight/trafficlight.h"
|
||||||
|
//#include "summer/summer.h"
|
||||||
//#define BLINK
|
#include "summer_controlled/summer.h"
|
||||||
//#define BUTTON_POLL
|
|
||||||
//#define BUTTON_INTERRUPT
|
|
||||||
#define TRAFFIC_LIGHT
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
init();
|
init();
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
//
|
||||||
|
// Created by servostar on 30.10.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "summer.h"
|
||||||
|
|
||||||
|
ISR (TIMER0_COMPA_vect)
|
||||||
|
{
|
||||||
|
PORTB = ~PORTB;
|
||||||
|
}
|
||||||
|
|
||||||
|
void init() {
|
||||||
|
DDRB = 255;
|
||||||
|
PORTB = 0;
|
||||||
|
|
||||||
|
TCCR0A |= (1 << WGM01); // set timer to CTC
|
||||||
|
|
||||||
|
OCR0A = 0x70; // count up to this value 440Hz
|
||||||
|
// OCR0A = 0x117; // count up to this value 265Hz
|
||||||
|
|
||||||
|
TIMSK0 |= (1 << OCIE0A); // enable timer 0
|
||||||
|
|
||||||
|
TCCR0B |= (1 << CS02) | (1 << CS00); // start timer and set prescaler to 1024
|
||||||
|
|
||||||
|
sei(); // enable interrupts
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
//
|
||||||
|
// Created by servostar on 30.10.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef ARDUINO_SUMMER_H
|
||||||
|
#define ARDUINO_SUMMER_H
|
||||||
|
|
||||||
|
#include "prelude.h"
|
||||||
|
|
||||||
|
void init();
|
||||||
|
void loop();
|
||||||
|
|
||||||
|
#endif //ARDUINO_SUMMER_H
|
|
@ -0,0 +1,65 @@
|
||||||
|
//
|
||||||
|
// Created by servostar on 30.10.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "summer.h"
|
||||||
|
|
||||||
|
void setup_summer_it();
|
||||||
|
|
||||||
|
void setup_button_it();
|
||||||
|
|
||||||
|
ISR (TIMER0_COMPA_vect)
|
||||||
|
{
|
||||||
|
PORTB = ~PORTB;
|
||||||
|
}
|
||||||
|
|
||||||
|
ISR(INT0_vect)
|
||||||
|
{
|
||||||
|
OCR0A = 18; // count up to this value 440Hz
|
||||||
|
}
|
||||||
|
|
||||||
|
ISR(INT1_vect)
|
||||||
|
{
|
||||||
|
OCR0A = 30; // count up to this value 265Hz
|
||||||
|
}
|
||||||
|
|
||||||
|
void init() {
|
||||||
|
setup_summer_it();
|
||||||
|
setup_button_it();
|
||||||
|
sei(); // enable interrupts
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup_button_it() {
|
||||||
|
// set Port D to input (bit 2/3, remember bit 0/1 are for UART)
|
||||||
|
SET_INPUT(DDRD, DDD2);
|
||||||
|
SET_INPUT(DDRD, DDD3);
|
||||||
|
// put 5V on input (make it pull up resistor)
|
||||||
|
SET_BIT(PORTD, DDD2);
|
||||||
|
SET_BIT(PORTD, DDD3);
|
||||||
|
|
||||||
|
// configure interrupt mode
|
||||||
|
SET_INTERRUPT_MODE(0, FALLING);
|
||||||
|
SET_INTERRUPT_MODE(1, FALLING);
|
||||||
|
|
||||||
|
// enable interrupt 0 and 1
|
||||||
|
ENABLE_INTERRUPT(0);
|
||||||
|
ENABLE_INTERRUPT(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup_summer_it() {
|
||||||
|
DDRB = 255;
|
||||||
|
PORTB = 0;
|
||||||
|
|
||||||
|
TCCR0A |= (1 << WGM01); // set timer to CTC
|
||||||
|
|
||||||
|
OCR0A = 0x70; // count up to this value 440Hz
|
||||||
|
// OCR0A = 0x117; // count up to this value 265Hz
|
||||||
|
|
||||||
|
TIMSK0 |= (1 << OCIE0A); // enable timer 0
|
||||||
|
|
||||||
|
TCCR0B |= (1 << CS02) | (1 << CS00); // start timer and set prescaler to 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
//
|
||||||
|
// Created by servostar on 30.10.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef ARDUINO_SUMMER_H
|
||||||
|
#define ARDUINO_SUMMER_H
|
||||||
|
|
||||||
|
#include "prelude.h"
|
||||||
|
|
||||||
|
void init();
|
||||||
|
void loop();
|
||||||
|
|
||||||
|
#endif //ARDUINO_SUMMER_H
|
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
#include "trafficlight.h"
|
#include "trafficlight.h"
|
||||||
|
|
||||||
#ifdef TRAFFIC_LIGHT
|
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
// set Port B bit 0,1,2 to output mode
|
// set Port B bit 0,1,2 to output mode
|
||||||
DDRB = 0b00000111;
|
DDRB = 0b00000111;
|
||||||
|
@ -31,4 +29,3 @@ void loop() {
|
||||||
// set to red
|
// set to red
|
||||||
PORTB ^= 0b00000110;
|
PORTB ^= 0b00000110;
|
||||||
}
|
}
|
||||||
#endif
|
|
Loading…
Reference in New Issue