aber wie kann es sein dass ich nicht alles signale reinbekomme wenn der pic zwischen den signalen minimal 200 mikrosekunden bei einem takt von 4mhz zählt.
dann kann doch schon gar net bei einem 10mhz irgendwas verloren gehen.
und mit einem 40mhz hab ich des auch schon probiert ändert sich nichts.
also soll ich des jetzt mit den interrupts probieren oder könnte ich mir des jetzt ersparen?
Schwer zu sagen, weil ich kenne das Programm nicht, du hast nur das
Stück rausgenommen, und den Rest, wo alles bearbeitet und gespeichert wird ist nicht bekannt.
Aber wenn du mit ISR probierst dann siest du gleich ob den Fehler an Auswertung liegt oder an Störingen im Schaltung.
Also du kannst Portb-Interrupt (RB4-RB7), INTE-Intrrupt(RB0) oder CCP-Engang(RC1,RC2) benutzen.
Grüß,
el_net_fun
ja aber mit dem programm was oben steht geht es auch nicht, also des is ja kein schnipsel aus dem großen prog sondern zur zeit is des auf meinem pic gebrannt. und mit dem geht es halt auch net.
ich könnt mir noch vorstellen dass vielleicht zu wenig strom reinkommt wegen dem pulldown widerstand, also das die signale halt so mit 3V reinkommen und dann noch wegen dem pulldown widerstand noch kleiner sind dann am eingang und dann nicht wahrgenommen werden.
könnte das sein?
Kannst deine Schaltung posten?
Spannungsversorgung von Akku oder Batterie?
Kann sein das deine Spannung in die Knie geht und du
keine stabile Impulse hast, dann wurde ich einen Schmitt-trigger vorschalten, den du fein einstellen kannst.
So ein Prob habe ich bei einem meinen batteriebetriebenen Schaltung gehabt.
Die Impulse habe ich damals von eine Lichtschranke direct an Port des Kontrollers geführt, und ohne vorgeschalteten Sch-Trigger hat es auch nie richtig funkrioniert..
Grüß,
el_net_fun
also dass hier ist mein schaltplan.
wie sieht so ein schmitt-trigger aus, den ich vorschalten kann?
die schaltung wird mit strom aus dem anschluss von der maus betrieben. PS/2 glaub ich heisst der anschluss. die stromspannung beträgt 4,85V.
brauchst sonst noch infos um mich näher an mein ziel zu bringen??
PORTB spezifisch:
jeder I/O hat ein INTERNER PULLUP Widerstand.
Weil du hier ein PULLDOWN hast muss du im Programm Pullups abschalten.
Du muss prüfen ob bei dir PULLUPs (PORTB) abgeschaltet sind...
ja die internen pullup's hab ich schon nachgeprüft, die sind aus.
aber ich hab jetzt die pulldown's auf +5V gelegt also pullup draus gemacht und jetzt geht es schon fast perfekt. jetzt werd ich mir mal so nen schmitt-trigger zulegen und dann schau ich mal weiter.
aber mich würde noch interessieren ob ich überhaupt einen so nen schmitt-trigger brauche wenn ich die signale am PORTD empfange, des sind ja schon schmitt-trigger eingänge. oder ist der zusätzlich schmitt-trigger besser als die am pic??
die schmitt-trigger aufm pic sind schon dafür geeignet, aber ich würde dir, wie ich oben schonmal geschrieben hatte, dazu raten nen externen schmitt-trigger zu verwenden und den an portb über interrupts laufen zu lassen - das ist die einzig sichere methode um keinen puls zu verpassen...
Lesezeichen