Danke für die Antwort! Kannst du mir erklären, wie ich die Funktion ändere und auf den Asuro überspiele? Ich kenne mich da wenig aus. Funktioniert das auch mit dem Programmers Notepad und einer Make Datei?
Danke für die Antwort! Kannst du mir erklären, wie ich die Funktion ändere und auf den Asuro überspiele? Ich kenne mich da wenig aus. Funktioniert das auch mit dem Programmers Notepad und einer Make Datei?
Den Wert kann man in der Datei asuro.c am Ende der Funktion PollSwitch() finden:
(Aus asuro.c v2.3)Code:/* function to read out switches */ unsigned char PollSwitch (void) { unsigned int i; int ec_bak=autoencode; autoencode=FALSE; DDRD |= SWITCHES; // Switches as Output SWITCH_ON; // Output HIGH for measurement ADMUX = (1 << REFS0) | SWITCH; // AVCC reference with external capacitor Sleep(10); ADCSRA |= (1 << ADSC); // Start conversion while (!(ADCSRA & (1 << ADIF)));// wait for conversion complete ADCSRA |= (1 << ADIF); // clear ADCIF i = ADCL + (ADCH << 8); SWITCH_OFF; Sleep(5); autoencode=ec_bak; //return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 61.0 + 0.5)); //return ((10240000L/(long)i-10000L)*61L+5000L)/10000; return ((10240000L/(long)i-10000L)*63L+5000L)/10000; }
Nach dem Ändern die Datei speichern und das Projekt kompilieren (Make all)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
so ist es. Wenn die Funktion einmal angepasst ist brauchst Du Dich darum nie wieder kümmern, da Dein Compiler ja immer die Funktionen aus "Asoro.c" abruft und dort dann der richtige Wert steht. Ein "überspielen" auf den Asuro bemerkst Du praktisch also nicht. Das geht dann alles von "selbst".
yipppiii =) Jetzt funktionieren auch die Taster beim Selbsttest.
Danke für die Hilfe!
Falls jemand das selbe Problem hat wie ich: die PollSwitch Funktion lässt sich abändern wie oben beschrieben. Wenn man die vorgefertigten Programme der lib v2.71 benutzt, ändert man die Variable in der myasuro.h Datei und führt danach im lib Ordner die make-lib Datei im Notepad mit Tools aus.
Zusätzlich musste ich noch R30 ersetzen. Der hatte nur 63,5k anstatt 68k (oben in der Tabelle hatte ich zuerst fälschlicherweise 64k als Ideal wert stehen. Das ist zu wenig...)
Geändert von Valen (07.11.2011 um 17:30 Uhr)
Lesezeichen