From ff7774def5479996e2acb77ddd942c036134453d Mon Sep 17 00:00:00 2001 From: Max Christian Pohle Date: Sat, 20 May 2017 20:59:52 +0200 Subject: Fix number format, coding style and improved test program --- Makefile | 4 +- main.c | 146 ++++++++++++--------------------------------------------------- 2 files changed, 29 insertions(+), 121 deletions(-) diff --git a/Makefile b/Makefile index e8d2720..e63d2c0 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ +FLAGS=-Wall -I/usr/lib/gcc/avr/6.3.0/plugin/include/ -I/usr/avr/include -mmcu=attiny13 -O3 -DF_CPU=1200000 + all: - avr-gcc -Wall -mmcu=attiny85 -O3 -o main.elf main.c + avr-gcc $(FLAGS) -o main.elf main.c avr-objcopy -j .text -j .data -O ihex main.elf main.hex program: all diff --git a/main.c b/main.c index 7906126..2b5753d 100644 --- a/main.c +++ b/main.c @@ -1,164 +1,70 @@ -#include // (1) +// vim:set et sw=2 ts=2 tw=120: +#define __AVR_ATtiny85__ #include +#include // (1) #ifndef F_CPU #warning "F_CPU war noch nicht definiert, wird nun mit 3686400 definiert" -// #define F_CPU 3686400UL /* Quarz mit 3.6864 Mhz */ -#define F_CPU 1000000UL /* Quarz mit 3.6864 Mhz */ +#define F_CPU 1000000UL #endif -#include #include - +#include // set bit -static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) __attribute__((always_inline)); -static inline void BIT_SET(volatile uint8_t *target, uint8_t bit){ - *target |= (1<SPI Blocksende Routine mit optimierungen auf Speed. -// * \param buffer Zeiger auf den Puffer der gesendet werden soll. -// * \param Datalenght Anzahl der Bytes die gesedet werden soll. -// */ -///* -----------------------------------------------------------------------------------------------------------*/ -//void SPI_FastMem2Write( unsigned char * buffer, unsigned int Datalenght ) -//{ -// unsigned int Counter = 0; -// unsigned char data; -// -// // erten Wert senden -// SPDR = buffer[ Counter++ ]; -// while( Counter < Datalenght ) -// { -// // Wert schon mal in Register holen, schneller da der Wert jetzt in einem Register steht und nicht mehr aus dem RAM geholt werden muss -// // nachdem das senden des vorherigen Wertes fertig ist, -// data = buffer[ Counter ]; -// // warten auf fertig -// while(!(SPSR & (1<>i); - - /* - - char data = 1; - for(; data<128; data++) + uint16_t data = 1; + for (; data < UINT16_MAX; data++) { // clear register (reset) - print_data(data); - _delay_ms(1000); + print_data(data | data << 6); } - */ - - // spi_transfer(0x10101010b); - - + _delay_ms(1000); // Eine Sekunde +/-1/10000 Sekunde warten... } return 0; } -- cgit v1.2.3