Hallo, habe bereits Themen im hiesigen Forum durchsucht und gegoogelt. Habe einen atmega16 included und möchte ne Single A/D Conversation starten. Dazu möchte ich das ADSC-Bit im ADCSR (ADC Status Register) setzen. Laut Beispielen / anderen Threads wird das ADCSR wie ein I/O Port behandelt. Doch die Port-Befehle funktionieren nicht. Beispiel: SBR temp,ADSC OUT ADCSR,temp wird nach dem builden mit "ADCSR undefined symbol" oder so ähnlich beantwortet. Das ADCSR lässt sich also offenbar unter dieser Bezeichnung nicht finden (dabei heißt das Register im Simulator ja genau so). Was läuft hier falsch? Danke für die Mühe Basti
Also hab mir das include-file angesehen und festgestellt, dass ADCSR als $06 definiert ist. SBI $06,6 ;funktioniert!! Neulich wollte ich meinen Code auf mehrere Files verteilen und der gleiche Code ging nicht mehr (ein Makro-Name war angeblich unzulässig, der vorher einwandfrei lief. Immer wenn ich das Makro umbenannt habe wollte der Name beim Makro-Aufruf natürlich auch entsprechend geändert werden. Und wenn ich den Namen auch geändert habe kam wieder die "unzulässige Syntax"-Fehlermeldung, egal bei welchem Namen) irgendwie hab ich´s wohl mit den include-files... Kann mir jemand nen Tipp geben?
Nee dann würd ja die direkte Andressierung auch nicht gehen. Per .EQU können doch einem Wert auch mehrere Namen zugewiesen werden, oder?
Hey Jungs, dat kann doch echt nicht sein. Ich werde doch wohl kaum der erste sein mit so ner Sache.
Hallo, also Recherche im Datenblatt (heute morgen auf www.atmel.com) ergab folgendes : - Bei der Beschreibung des AD-Wandlers (bzw. seiner Register) steht das ADControl und Status Register als ADCSRA. Das hieße, oso müsste es auch im Programmcode heißen (siehe Seite 217 im Datasheet Complete) - Im Register Summary (Seite 313) steht es ebenfalls unter diesem Namen, das spricht auf dafür, dass es so heißt. Zu der Frage nach der Direction - nein, dies sind alles Register und keine Ports. Alle Ports sind durch Register ansprechbar, nicht anders herum. Damit etwas auf einem Port herauskommt, muss man zum einen Daten in das Ausgangsregister schreiben (z.B. PORTB) und außerdem noch die Funktion des Ports im Datenrichtungsregister (DDRB in diesem Fall) als Ausgang konfigurieren. Dies funktioniert natürlich pinweise. MfG, Daniel
Danke, doch jetzt läuft´s bereits... Ne Untersuchung des Dateblatts ergab, dass in der anderen Doku das "A" fehlte. Ich Blindfisch hab´s beim Einsehen des Include-Files übersehen ;) THX
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.