Hallo, ich bin ein Neuling auf dem Gebiet der Mikrocontroller und habe mir zum Einstieg einen Tiny2313 gekauft. Da ich Basic etwas beherrsche, möchte ich in Bascom programmieren. Zu meinem Problem habe ich leider keine Antwort gefunden (die MIR geholfen hat), trotz suche im Forum und gesamtem Netz. Ich möchte mit dem Komparator über einen NTC eine Temperatur messen und beim überschreiten des Schwellwertes (über Poti eingestellt) einen Port auf High schalten. Die Beschaltung ist im Anhang und mein Programm sieht folgendermaßen aus: $regfile "ATtiny2313.dat" $crystal = 4000000 DDRb = &B11111100 Luefterstufe Alias Portb.4 Config Aci = Off , Compare = Off , Trigger = Rising 'Oder muss ich ACSR = 0 schreiben? Dim Temp As Byte Do Temp = Acsr If Temp = $b00100000 Then Luefterstufe = 1 Else Luefterstufe = 0 End If Loop End Sicher ist die Antwort sehr einfach, aber ich komme einfach nicht drauf. Ich habe Code in C gesehen, aber das hat mir auch nicht geholfen.
Mir würde ein kleiner Codeschnipsel ja schon reichen, den fummel ich mir dann zurecht. Ich kann aus der Manual überhaupt nicht erkennen, wie ich den AC überhaupt ansprechen muss! :(
Moin! Ich hab zwar noch nie nen Komparator verwendet. Versuch mal das....: $regfile "ATtiny2313.dat" $crystal = 4000000 DDRb = &B11111100 Luefterstufe Alias Portb.4 Config Aci = Off , Compare = Off , Trigger = Rising 'Oder muss ich ACSR = 0 schreiben? Dim Temp As Byte Do Temp = Acsr.5 If Temp = 1 Then Luefterstufe = 1 Else Luefterstufe = 0 End If Loop End
Moin moin, das ging nicht, aber ich hab folgendes probiert (ASCR = 0 zur Initialisierung) und: ET LÜPPT! Danke! $regfile "ATtiny2313.dat" $crystal = 4000000 DDRb = &B11111100 Luefterstufe Alias Portb.4 Acsr = 0 Dim Temp As Byte Do Temp = Acsr.5 If Temp = 1 Then Luefterstufe = 1 Else Luefterstufe = 0 End If Loop End
Dann könntest Du dir wahrscheinlich sogar die Variable sparen..... z.B. $regfile "ATtiny2313.dat" $crystal = 4000000 DDRb = &B11111100 Luefterstufe Alias Portb.4 Acsr = 0 Do If Acsr.5 Then Luefterstufe = 1 Else Luefterstufe = 0 End If Loop End Ansonsten solle Dir wohl klarsein das Du fuer diese Funktion garkein µC brauchst, sondern einen "echten" Komparator haettest nehmen können. mfg, Bjoern
@Björn Jo, die Variable kann man auch sparen. Ich habe den uC genommen, weil der noch mehr Sachen ausser Vergleichen erledigt. Den Rest des Code hab ich nur weggelassen, damit es übersichtlicher ist. Sonst hätte ich einen LM324 oder so genommen.. Thx Christian
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.