PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Festlegung der Pins im Testprogramm gcctest3



DuNDy
23.07.2004, 16:01
Hi,
ich habe mir eben mal das Testprogramm gcctest3.c von Volker Oth angesehen, und verstehe nicht ganz, wo definiert wird, daß eine steigende Flanke (verstehe ich noch) an Port D2 (wieso D2) und eine fallende Flanke an D3 einen Interrupt auslösen.
Woher weiß man das es D2 und D3 sind und wie kann ich beides auf D2 legen?


OT: Wie kann ich den Code direkt in das Posting einbinden?

martin
23.07.2004, 18:16
Steht doch da:



outp((1<<ISC01)|(1<<ISC10)|(1<<ISC11), MCUCR);
/* falling egde: int0, rising edge: int 1 */


Da werden halt entsprechende Bits gestzt, um den Interrupt so zu konfigurieren, wie es gewünscht ist.

Da ich den Mega16 nicht explizit kenne, gehe ich davon aus, dass einfach der Port D2 und D3 für die Interrupts vorgesehen ist, wenn man sie entprechend konfiguriert.

Was meinst du mit beides auf D2? Steigende und fallende Flanke?

Grüsse, Martin

DuNDy
23.07.2004, 18:22
Ja, ich würde gerne die steigende und fallende Flanke auf D legen, damit ich zum testen ein Signal vom Frequenzgenerator nehmen kann.
Der Baustein ist ein AT90S8515

Ciao

recycle
23.07.2004, 20:29
Ja, ich würde gerne die steigende und fallende Flanke auf D legen, damit ich zum testen ein Signal vom Frequenzgenerator nehmen kann.
Der Baustein ist ein AT90S8515


Ich glaube eigentlich nicht, dass du das Signal wirklich an D anlegen willst, weil das hiesse, dass du es an 8 Pins gleichzeitig anlegen willst.

Mit D ist normalerweise der ganze Port gemeint und der besteht aus den Pins D0 - D7.

Ich glaube mit einem kurzen Blick auf die Pinbelegung im Datenblatt deines Controllers sind sofort alle deine Fragen geklärt.

http://www.atmel.com/dyn/resources/prod_documents/DOC0841.PDF

D2 = Int0 und D3 = Int1

martin
23.07.2004, 20:47
Ausserdem wirst du wohl mit einem Frequenzgenerator Probleme bekommen, die LED´s noch zu beobachten, bei einer Frequenz > 1KHz.
Oder kann dein Frequenzgenerator so kleine Frequenzen?

Ich würde lieber einen Taster o.Ä. anschließen um den Programmblauf zu überprüfen. Da ist es dann auch unerheblich, ob steigende oder fallende Flanke.

Grüsse, Martin

DuNDy
26.07.2004, 15:08
Ausserdem wirst du wohl mit einem Frequenzgenerator Probleme bekommen, die LED´s noch zu beobachten, bei einer Frequenz > 1KHz.
Oder kann dein Frequenzgenerator so kleine Frequenzen?

Der Frequenzgenerator kann bis 0,1 Hz ausgeben, also von daher ist es möglich, wobei ich zusätzlich noch eineige Verzögerungen zum Test eingebaut habe.


Ich würde lieber einen Taster o.Ä. anschließen um den Programmblauf zu überprüfen. Da ist es dann auch unerheblich, ob steigende oder fallende Flanke.

Das Problem an einem Taster ist, dass ich dann nicht die genauen Zeiten zwischen Ein- und Ausschalten weiß, da ich gerne Testen möchte wie genau der Timer zählt. Bzw. mit dem Timer diese Zeit messen möchte

DuNDy
26.07.2004, 15:09
Ich glaube eigentlich nicht, dass du das Signal wirklich an D anlegen willst, weil das hiesse, dass du es an 8 Pins gleichzeitig anlegen willst.

Mit D ist normalerweise der ganze Port gemeint und der besteht aus den Pins D0 - D7.


Stimmt schon, ich habe damit die einzelnen Pins an Port D gemeint, war etwas oberflächlich geschrieben.