Hallo felack,
der Code war nur ein Beispiel, es handelt sich um einen M128 und es sind alle INTs belegt und benutzt... sowie alle anderen Digitalports auch... daher das Problem...
Gruß
Matthias
Druckbare Version
Hallo felack,
der Code war nur ein Beispiel, es handelt sich um einen M128 und es sind alle INTs belegt und benutzt... sowie alle anderen Digitalports auch... daher das Problem...
Gruß
Matthias
Hallo Mathias,
bei derart umfangreichen Projekten ist ein Forum überfordert. Aus Deiner Beschreibung geht hervor, daß der M128 bis an den Rand seiner Kapazität ausgelastet ist.Zitat:
Zitat von Night_MaKu
Ich bin mir zwar ziemlich sicher, daß bei Programmumstrukturierung einiges an Resourcen freigeschaufelt werden kann, nur müsste man dafür den gesamten Quellcode durchackern.
Das wäre mir deutlich zu mühsam :-( und ich fürchte nicht nur mir.
Bedauernde Grüße
Henrik
Hallo Henrik,
ich habe eine Möglichkeit gefunden, ist nicht schön, aber geht ...
ja, der M128 ist bis zum letzten Port ausgelastet, der Code ist noch nicht so groß, ca. 50% des Speichers vom M128. Leider ist bei meiner Programmumstrukturierung nichts mehr, was man freigeschaufelt könnte.
Um ein wenig übersicht zu behalten, habe ich einige Sachen schon mit "include" eingebunden. Denn noch ist es schwer sich zurechtzufinden.
Der Umfang des Programms hat bis jetzt ca. 27 Subs und 13 Funktionen, sowie eine Main-Loop und ca. 120 Variablen vom Bit bis zum Long.
Ich denke nicht, dass das Forum überfordert ist, denn viele Helfer machen dem Problem schnell ein Ende.
In diesem Sinne
Gruß
Matthias
Hallo Matthias,
du kannst in irgendeinem bei dir vorhandenen Timerinterrupt, der öfter als alle 0,5 Sek (2Hz) ausgeführt wird, den Pegel am Eingang messen und eine Variable hochzählen lassen.
Flag bewirkt, dass die Variable Puls, nur bei jeder Low -> High Flanke am Eingang Pina.0, erhöht wird.Code:If Pina.0 = 1 And Flag = 0 Then
Incr Puls
Flag = 1
Elseif Pina.0 = 0 Then
Flag = 0
End If
Übrigens:
ist nicht ganz richtig.Zitat:
config porta.0 = input
config Pina.0 = Input
Mittlerweile geht beides (1.11.8.2). In früheren Versionen musste wirklich Pinx,y genommen werden, während ein ganzer Byteport schon immer über Portx = Input/Output in seiner Richtung definiert wurde. DDRx geht natürlich auch. Gelesen werden muss aber selbsverständlich immer noch über Pin :-).Zitat:
Zitat von albundy
Grüße
Henrik
ich muss gestehen, dass ich wohl nicht mehr auf dem laufenden bin.Zitat:
Mittlerweile geht beides (1.11.8.2).
Das habe ich nicht gewusst. :-#
Ich programmiere kaum noch mit Bascom.
EDIT: ich sehe gerade, dass die Uhrzeit im Forum mal gestellt werden sollte.