34 lines
709 B
C
34 lines
709 B
C
#ifndef shift_register_h
|
|
#define shift_register_h
|
|
|
|
#include <avr/io.h>
|
|
|
|
/* Definiert die Register-Ansteuerung.
|
|
* Entweder per SPI oder per Software. */
|
|
#define SPI // SOFTWARE
|
|
|
|
#ifdef SOFTWARE
|
|
// Software
|
|
#define PORT_SHIREG PORTC
|
|
#define DDR_SHIREG DDRC // Richtungsregister
|
|
#define PI_SCL PC5
|
|
#define PI_SCK PC4
|
|
#define PI_RCK PC3
|
|
#define PI_SER PC2
|
|
//#define PI_G PC2
|
|
#else
|
|
// SPI
|
|
#define DDR_SPI DDRB
|
|
#define PORT_SPI PORTB
|
|
#define SPI_RCK PB2 // SS
|
|
#define SPI_SCK PB5 // SCK
|
|
#define SPI_SIN PB3 // MOSI
|
|
#endif
|
|
// Registerbreite (durch Kaskadierung erweiterbar)
|
|
#define REG_WIDTH 32
|
|
|
|
void shiftReg_Init(void);
|
|
void shiftReg_Transmit(uint32_t byte);
|
|
|
|
#endif
|