bascom syntax?

OP #1380350
Hallo liebe Mikrocontroller Gemeinde,

ich habe wieder mal ein Problem. Diesmal in Bascom, hier mal der Code 
dazu:


Config Adc = Free , Prescaler = Auto , Reference = Internal


Start Adc

Dim Channel As Byte
Dim Heatdi As word
Config Pind.5 = Output
Config Pind.7 = Output
Const Tempmax = 160

Pin5 Alias Pind.5
Pin7 Alias Pind.7



Do
Channel = 0
  Heatdi = Getadc(channel)

  If Heatdi < Tempmax Then   ' Vergl. von Adc-Wert mit Constante
  Reset Pin5
    Else
    Set Pin5
  End If

  If Pin5 = 1 Then
  Set Pin7
  Else
  Reset Pin7
  End If
Loop

der ADC Arbeitet einwandfrei hab das Ergebniss mal mit dem Print Befehl 
ausgeben lassen. Das Prog schaltet mir die Ausgänge nicht ein. Es 
passiert rein gar nix. Hab auch mal den Status der Ports über die RS232 
ausgeben lassen da kommt auch nur ne 0 raus. ich hab echt keine Idee wo 
ich da anfangen soll mit suchen.

Grüße
Gast
Vorweg: ich habe keine Ahnung von Bascom

Fang mal damit an zu schreiben, welche Werte "Heatdi" annimmt.....
Vermutlich ist Pin5 aber nur das Eingangsregister....
Gast
1.
Niemals "Config PinD.5 = Output" schreiben (siehe unten)
Immer "Config Portd.5 = Output" schreiben
oder "DDRD = 255" alle Pin's von "D" sind Ausgänge
2.
Und es liegd daran das du die "PIN" register als alias nimmst. Du 
solltest aber "PORT" nehmen.

erklärung:

PinD.5 = Statusabfrage ob Pin High oder Low (If PinD.5 = 0 Then ...).
PortD.5 = Ausgang auf High (PortD.5 = 1) oder Low (PortD.5 = 0) setzen.
DDRD.5 = Richtungsregister ob Pin als Eingang oder Ausgang geschalten

Im algemeinen zur Bascom Programmierung:

Ich würde niemals "Port's" einen alias Namen mit "Pin Namen" geben da 
das nur zu Verwechslungen führt.
OP
Abend, so ich hab das jetzt mal in Portd.* geändert und siehe da es 
geht.
Frag mich nur warum die dann auch im Syntax "CONFIG PINx.y = state " 
schreiben??? Na gut jedenfalls konnte ich heute das schon lange 
rumliegende Projekt zu Ende bringen.

Vielen Dank!

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.