Hallo,
ich habe einen USB Teensy 2++, und möchte damit gerne eine Flanke
abtasten.
Ich habe probehalber eine Simulation gebaut, die mir beim Eingang PIN F0
eine Text Ausgabe geben soll, wenn ein 5Volt Signal anliegt.
1 | int main (void)
|
2 |
|
3 | {
|
4 | DDRF |= (1<<DDF0); //Setzt PINF0 auf Ausgang
|
5 | PORTF|= (1<<PORTF0); //schaltet den Pullup widerstand ein.
|
6 | PINF |= (1<<PINF0); //schaltet den PIN auf high
|
7 |
|
8 | while (1)
|
9 | {
|
10 | empfangen();
|
11 | }
|
12 |
|
13 | return 0;
|
14 | }
|
15 |
|
16 | int empfangen (void)
|
17 |
|
18 | {
|
19 | if ( (PINF & (1<<PINF0) )) //wenn PINF0 5Volt hat öffnet sich die If abfrage
|
20 | {
|
21 | count2 ++;
|
22 |
|
23 | if (count2 == 10) //wenn der Eingang 10mal auf high/5V ist dann kommt eine Textausgabe
|
24 | {
|
25 | count3++;
|
26 | printzahlen(count3);
|
27 | print("\n");
|
28 | count2 = 0;
|
29 | }
|
30 | }
|
31 | }
|
Was ich nicht verstehe ist, dass warum ich den PIN F0 auf high schalten
muss damit es funktioniert.
Ich lege an diesen Eingang 5V an und dann bekomme ich auch schon meine
Ausgabe.
Vom Verständnis müsste doch dieser PIN auf Low gesetzt sein, damit ich
high erkennen kann?
Wie geht das?
Im Endeffekt soll dann ein Echo Signal wie hier :
http://elecfreaks.com/store/download/HC-SR04.pdf
beschrieben ist empfangen.
MfG Elias