[/quote]Wenn das Kalibrieren in PollSwitch() nicht hinhaut kannst du alternativ PollSwitch()+1 auswerten. Aber wahrscheinlich wird das Kalibrieren mit den oben schon beschriebenen 60er-Werten funktionieren.[/quote]
Und wie mache ich das genau?
Druckbare Version
[/quote]Wenn das Kalibrieren in PollSwitch() nicht hinhaut kannst du alternativ PollSwitch()+1 auswerten. Aber wahrscheinlich wird das Kalibrieren mit den oben schon beschriebenen 60er-Werten funktionieren.[/quote]
Und wie mache ich das genau?
So hab die Werte (ich hoffe das ich das richtig gemacht habe) jetzt einmal probiert aber das bringt irgendwie nicht.
Ich hab mir dann auch mal das Taster kalibrierungsprogramm von Asuruwiki grauf geflasht aber der zeigt mir gar keine Werte für K6 und 5 an. Das wundert mich aber. Bei K6 könnte ich das ja noch verstehen aber K5? der geht ja ...
Also ich gebs echt bald auf. Ich Hatte gestern mehrmals dieses Tasterkalibrierungsprogramm ausgeführt und für K% und 6 hatte er mir keine Werte übertragen. Man konnte lediglich nur sehen, dass die Taster betätigt worden waren. In der Erklärung stand dann drinn, dass das auf falsche Widerstandswerte zurückzuführen ist. Aber die Wiederstände stimmen ja alle. Ich hab sie glaube ich schon hundert mal nachgemessen und auch die Lötstellen sind soweit in Ordnung. ich kann einfach keine Fehler erkennen ](*,)
Was könnte noch falsch sein, dass K6 nicht funktioniert?
Habst du die wiederstanden nach gemessen wen sie schon eingelötet sind, oder schon fruher. Weil wiederstandsmessung in einer (parallel) schaltung oft schief geht. Du misst möglich den andere wiederstanden ins parallel schaltung (aber auch alles was sonnst mit V+ verbunden ist) mit. Auslöten und dan messen gibt sicherheit.
Hi,
nie aufgeben!
;-)
Probier mal den Kode hier aus. Damit wird der A/B Wandler gepollt und Du erhältst den echten Wert der ermittelt wird als resultat womit Du wiederum sehen kannst ob überhaupt eine Werteveränderung "gelesen" wird.
Code:/*
4-Okt-2010
O.O. Müller
Einlesen vom ADC im Polling-Betrieb
*/
#include <avr/io.h>
#include "asuro.h"
#define ADC4 0x04
/*
aMux ADC0, ADC1, ..., ADC7
aVal pointer to 16 bit result value
*/
void adcReadChannel(uint8_t aMux,int16_t* aVal) {
register int16_t tmp;
// Analog comparator disable
ACSR = (1 << ACD);
// Enable AD conversion
// Prescaler 8x (ADPS1, ADPS0)
// Prescaler 32x (ADPS2, ADPS0)
ADCSRA = (1 << ADEN) | (1 << ADPS2) | (0 << ADPS1) | (1 << ADPS0);
// AREF, Internal Vref turned off.
ADMUX = (0 << REFS1) | (0 << REFS0) | (aMux & 0x1F);
// Start conversion
ADCSRA |= (1 << ADSC) | (1 << ADEN);
while (!(ADCSRA & (1 << ADIF)));
// Calc value
*aVal = (int16_t)ADC;
ADCSRA = (1 << ADIF);
ADCSRA &= ~(1 << ADEN);
}
void termWrite(char *aText) {
// ...
// ...
}
char term_getc(void) {
// ...
// ...
//
return 0;
}
uint8_t main(void) {
uint16_t iADC;
uint8_t szBuf[30];
while (1) {
// Daten lesen von ADC4
adcReadChannel(ADC4, &iADC);
// Daten ausgeben auf LCD/Terminal o.ä.
sprintf(szBuf, "Gelesene Daten: %ld\n", iADC);
termWrite(szBuf);
// wait until key pressed
sprintf(szBuf, "Taste drücken für weiter..\n");
termWrite(szBuf);
while (term_getc() == 0);
}
}
/* EOF */
Lediglich termWrite und term_getc musst Du noch anpassen.
Gruss,
O
Jetzt funktioniert leider gar nichts mehr :cry:
Hatte die Platine mit Spiritus gereinigt gehabt, weil überall Flussmittel war.
Hab sie dann trocknen lassen und noch mal das Tasterkalibrierungsprogramm getestet und es hatte sogar funktioniert 8-[
Nur dann hatte mir Hyperterminal auf einmal nur noch hyroglyphen angezeigt und die unterseite lief dann noch so wislich an. Hab noch mal mit Spiritus gereinigt und die Platine wurde auch nicht mehr weislich.
Dafür ging leuchtet jetzt keine Status led mehr und keine Backleds beim Einschalten. Ich gehe mal davon aus, dass da nicht mehr viel zu retten ist.
Am meisten regt mich auf das das Problem eigentlich schon gelöst war.
K6 hatte ja kurz vorher funktioniert. Es lag höchstwahscheinlich nur daran, dass die Platine zu sehr mit flussmittel usw verschmutzt war ...
Kurzschluss? Kabel des Akkuhalters abgebrochen? Widerstände verbogen? Du hast ein Multimeter, du kannst also ausprobieren wie weit die Versorgungsspannung noch kommt.
Der Spiritus sollte es nicht gewesen sein, ich habe meinen ASURO genauso gereinigt.
mfG
Markus
Er eght jetzt wieder =D>
Es hatte sich wieder so ein weißer Belag abgebildet ich hatte sie jetzt noch mal hundert Prozentig sauber gemacht und siehe da er geht wieder an :)
Leider habe ich jetzt wieder mein altes Problem mit den Tastern. Ich würde mal gerne wissen wollen, warum er das gestern nach der ersten Säuberungaktion gemacht hat. da ging alles einwandfrei ... bis sich halt der weiße Belag abgesetzt hatte. alles irgendwie komisch
So ich hab jetzt noch mal mal das Self Test Programm geflasht und durch das Reinigen geht jetzt auch T9 einwandfrei. Alles läuft außer dieser eine kleine Taster. #-o
Schaltet den Taster uberhaupt? Ich hatte damals ein Taster zerstört weil ich es zu heiß gemacht habe beim löten. Eindrucken hatte gar keinen Effekt.