Gast
#1191365
Hallo! Ich habe das folgende Problem: Ich habe eine Schaltung aufgebaut, die das Signal liefert, das im Anhang zu finden ist. Das Signal geht an einen digitalen Eingang des µC (dsPIC33FJ256GP710). Dort soll das Auftreten des Signals durch den Pegelwechsel einen Interrupt auslösen. Dazu verwende ich das folgende Programm:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
Mein Problem ist nun, dass der Zähler (counter) eine viel zu große Anzahl liefert. Selbst unter Berücksichtigung, dass jedes Signal zwei Interrupts auslöst. Im Datenblatt des Controllers ist der High-Pegel mit 0.8Vdd=2.64 V und der Low-Pegel mit 0.2Vdd=0.66V angegeben. Die kleinen Impulse, die nach dem Signal kommen dürften demnach keine Interrupts auslösen. Eine Überprüfung der digitalen Eingänge mittels Signalgenerator und Oszilloskop hat gezeigt, dass Interrupts schon bei ca. 1,9 V als High-Pegel ausglöst werden. Als Low-Pegel konnte ich 1,0 V feststellen. Ist es normal, dass diese Werte so stark von denen des Datenblatts abweichen? Eigentlich dürften diese Abweichungen ja auch keinen Einfluss auf die Interrupts haben, da das Signal auch für diese Grenzen vernünftige Werte liefert. Meine Frage ist nun, ob ich in meinem Programm irgendwas grundlegen falsch mache, oder ob ich meinen analoge Schaltung noch einmal überdenken muss. Vielen Dank schon mal... Ich sitze schon lange an diesem Problem und bin echt ratlos....
