Hallo zusammen,
ich benutze Atmega32/STK600
für meine persönlische Forschung, möchte ich die gewonnen von dem IC
DDC118(Integrator und A/D wandler) Daten in einem Atmega32
abspeichern.
Jeder 1s soll der DDC118 getakt werden und nach 120us die Daten
abgeholt werden. Der DDC liefert 20 x 8 bits.
Before Daten Abholen, bekomme ich ein intern signal von der DDC118 bzw.
wenn der Low drive. Wie kann ich dieses signal erfassen. Ich neheme an ,
dass ich der PORTB1 für dass signal reserviere. Kann ich so das signal
erfassen : while(!(PIN1&(1<<1))).
Wie kann ich auch die gesendeten Daten visialusieren
Hier mein code
#include<avr/io.h>
#include <avr/interrupt.h>
int main (void)
char unsigned Data[20];
{
DDRB=0b10100000;// Set Serial Data in(MOSI), SCK 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
OCR1A=15624;// each one second
SPCR |=(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0); // each ~120 us, data
write on the EEPROM
sei();
while(1)
{}
}
ISR(TIMER1_COMPA_vect)
{
PORTB ^=0b10100000;// Led toggle (LED7 und LED5 zu visialusierung )
}
ISR(SPI_STC_vect)
{
SPDR= Data;
Data++;
while (!(SPSR &(1<<SPIF))&&(!(PIN1&(1<<1))));// Wait for total
transmission
}
Danke
Axel1
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.