Hallo mal wieder....
muss dieses Ding für die Diplomarbeit fit machen. ich benutze die
Firmware von Salewski und möchte mit ADC0 und ADC1 eine Messung machen
und über Endpoint 1 an den PC (QT4) schicken. funktioniert auch beim
ersten mal:
Gleich nach Reset habe ich 255 bei 0,7V (ADC0) und 127 bei 0,3V bei
2,6=1023 (ca.)(ADC1).
Wenn ich den Knopf nun ein zweites mal drücke, dann erhalte ich auf
beiden Kanälen 124, immer... komisch.
In main() mache ich die Dummymessung und hier mal der Code vom Endpoint:
Mit einem Kanal hat noch alles wunderbar funktioniert und ich verstehe
es mal wieder nicht.
UsbDevFillEP1FIFO(void)
{
if UsbDevTransmitterReady()
{
uint8_t LB1;
uint8_t HB1;
ADMUX |=(0<<MUX0);
ADCSRA |=(1<<ADSC);
while (ADCSRA & (1<<ADSC)){}
LB1=ADCL;
HB1=ADCH;
ADMUX |=(1<<MUX0);//|(0<<MUX1)|(0<<MUX2)|(0<<MUX3)|(0<<MUX4);
uint8_t LB2;
uint8_t HB2;
ADCSRA |=(1<<ADSC);
while (ADCSRA & (1<<ADSC)){}
LB2=ADCL;
HB2=ADCH;
ADMUX |=(0<<MUX0);
UsbDevClearTransmitterReady();
UsbDevClearNAK_ResponseInBit();
//UsbDevSelectEndpoint(1);
UsbDevWriteByte(LB1);
UsbDevWriteByte(HB1);
UsbDevWriteByte(LB2);
UsbDevWriteByte(HB2);
UsbDevSendInData();
}
}
Hallo, ADMUX |=(0<<MUX0); Darüber solltest Du mal nachddenken. Was ändert sich wohl am Inhalt von ADMUX, wenn man es mit 0 verodert? Gruß aus Berlin Michael
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.