added blink example
This commit is contained in:
parent
5acf874583
commit
163e31908f
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// Created by servostar on 27.10.23.
|
||||
//
|
||||
|
||||
#ifndef ARDUINO_BITS_H
|
||||
#define ARDUINO_BITS_H
|
||||
|
||||
#define SET_BIT(field, idx) ((field) |= (1 << (idx)))
|
||||
#define CLR_BIT(field, idx) ((field) &= ~(1 << (idx)))
|
||||
#define TOG_BIT(field, idx) ((field) ^= (1 << (idx)))
|
||||
#define GET_BIT(field, idx) (((field) >> idx) & 0x1)
|
||||
|
||||
#define SET_OUTPUT(port, pin) SET_BIT(port, pin)
|
||||
#define SET_INPUT(port, pin) CLR_BIT(port, pin)
|
||||
|
||||
#endif //ARDUINO_BITS_H
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// Created by servostar on 27.10.23.
|
||||
//
|
||||
|
||||
#ifndef ARDUINO_INTERRUPT_H
|
||||
#define ARDUINO_INTERRUPT_H
|
||||
|
||||
#define LOW 0b00
|
||||
#define CHANGE 0b01
|
||||
#define FALLING 0b10
|
||||
#define RISING 0b11
|
||||
|
||||
#define SET_INTERRUPT_MODE(index, mode) EICRA = (EICRA & (252 << (index) * 2)) | (mode) << (index) * 2
|
||||
#define ENABLE_INTERRUPT(index) SET_BIT(EIMSK, index)
|
||||
#define DISABLE_INTERRUPT(index) CLR_BIT(EIMSK, index)
|
||||
|
||||
#endif //ARDUINO_INTERRUPT_H
|
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// Created by servostar on 27.10.23.
|
||||
//
|
||||
|
||||
#ifndef ARDUINO_PRELUDE_H
|
||||
#define ARDUINO_PRELUDE_H
|
||||
|
||||
// set clock frequency to 16MHz
|
||||
#define F_CPU 16000000UL
|
||||
|
||||
#include "avr/io.h"
|
||||
#include "avr/interrupt.h"
|
||||
#include "util/delay.h"
|
||||
|
||||
// custom header files
|
||||
#include "bits.h"
|
||||
#include "interrupt.h"
|
||||
|
||||
#endif //ARDUINO_PRELUDE_H
|
|
@ -0,0 +1,21 @@
|
|||
//
|
||||
// Created by servostar on 27.10.23.
|
||||
//
|
||||
|
||||
#include "blink.h"
|
||||
|
||||
#ifdef BLINK
|
||||
|
||||
void init() {
|
||||
DDRB = 0x20;
|
||||
PORTB = 0x20;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
PORTB |= 0x20;
|
||||
_delay_ms(500);
|
||||
PORTB &= ~0x20;
|
||||
_delay_ms(500);
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// Created by servostar on 27.10.23.
|
||||
//
|
||||
|
||||
#ifndef ARDUINO_BLINK_H
|
||||
#define ARDUINO_BLINK_H
|
||||
|
||||
#include "prelude.h"
|
||||
|
||||
void init();
|
||||
void loop();
|
||||
|
||||
#endif //ARDUINO_BLINK_H
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
extern void init();
|
||||
extern void loop();
|
||||
|
||||
#include "blink/blink.h"
|
||||
|
||||
#define BLINK
|
||||
|
||||
int main() {
|
||||
init();
|
||||
|
||||
for (;;) {
|
||||
loop();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue