Forum: Mikrocontroller und Digitale Elektronik Timer+interrupt


von Axel1 (Gast)


Lesenswert?

Hallo zusammen,

ich benutze ATMEGA32/STK600.
in rahmen eigene Forschung, möchte ich gern mit dem Timer ein 
Integrierer+  A/D Wandler( Intergieter Baustein  IC ) betriben.
Ich löse ein interrupt jede sekunde aus, dannach arbeitet der 
IC(Integration & Conversion). Wenn das Conversion fertig ist, sendet der 
IC ein Signal züruck "um zu sagen (Daten abholbar)  . Ich soll dieses 
Signal erfassen und dannach ein meine abholen.

Wie kann das züruckgesendetes Signal erfassen?
Hier meine code



#include<avr/io.h>
#include <avr/interrupt.h>

int main (void)

{
  //int volatile counter =0;
  DDRB=0b01111111;// Set LEDs to output
  TCCR1B |=((1<<CS10)|(1<<CS11)|(1<<WGM12));// Set up timer in CTC Mode
  TIMSK  |= (1<<OCIE1A);//manage specifics inetrrupt___Enable compare 
match with Timer/counter1
  TCCR1A |= (1<<COM1A0);//
  sei();
  OCR1A=15624;  // each one second

   while(1)
  {if (!(PIN7 &(1<<7))) }// Kann ich hier so abfragen?

}


ISR(TIMER1_COMPA_vect)

{
  PORTB ^=0b011111111;// Led toggle
}


/*Void SPI_Master transmit()
{
Format=1;
}*/  (Noch nicht fertig)


Danke

von Hubert G. (hubertg)


Lesenswert?

if (!(PINC & (1<<PINC7))) so sollte es wohl heissen
Siehe hier:
www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Eing.C3.A4nge_.28Wie_k 
ommen_Signale_in_den_.C2.B5C.29
Deine Klammern solltest du auch überprüfen, so funktioniert das sicher 
nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.