b15f/main.cpp
Tristan Krause f55fd367ee adc geht
2019-03-25 15:40:36 +01:00

54 lines
816 B
C++

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/wdt.h>
#include "mcp23s17.h"
#include "tlc5615.h"
#include "adu.h"
#define LED B0
SPI spi;
MCP23S17 beba0(spi, SPIADR::BEBA0);
MCP23S17 sw(spi, SPIADR::SWITCH);
TLC5615 dac0(spi, SPIADR::AA0);
ADU adu;
ISR(WDT_vect)
{
while(1)
{
dWrite(LED, HIGH);
_delay_ms(200);
dWrite(LED, LOW);
_delay_ms(200);
}
WDTCSR |= _BV(WDIE);
}
int main()
{
WDTCSR = _BV(WDIE) | _BV(WDP3) | _BV(WDP0);
dMode(LED, OUT);
dWrite(LED, LOW);
wdt_reset();
sei();
spi.init();
beba0.setDirA(0x00); // alle Ausgang
beba0.setDirB(0xFF); // alle Eingang
sw.setDirB(0xFF); // alle Eingang
adu.init();
while(1)
{
dac0.setValue(adu.getValue(6));
wdt_reset();
}
return 0;
}