Ich hab meinen gestern bekommen, bei mir hats nach ein bisschen versuchen und verzweifeln funktioniert.
hier der Code:
Main.c:
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include "srf08.h"
#include "srf08.c"
#include "twimaster.c"
int main(void)
{
//timer1 für 10ms-Interrupt starten
TIMSK |=(1<<OCIE1A); //ctc interrupt
TCCR1B |=(1<<CS12) | (1<<CS10); //Prescaler 1024
TCCR1B |=(1<<WGM12); //Clear Timer on Compare Match Modus
OCR1A = 0x009C; //Compare auf 10ms bei 8MHz setzen
sei();
start_SRF08_automessung(); //Messung beginnen
uint16_t messwert;
uint8_t ausgabe[20];
while(1)
{
messwert=get_SRF08_distance();
/*
Messwert verarbeiten...
*/
}
}
ISR(TIMER1_COMPA_vect) //wird alle 10ms aufgerufen
{
SRF08_task();
}
den code hab ich ausm Rn-Wissen,
die libraries und C-depencies auch direkt kopiert.
mfg michi
edit: ja, meine includes sind vl nicht so toll, aber es funktioniert, bei mir heißt das schon was
Lesezeichen