PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C-Befehl "offen" gesucht...



Mc_Loyd
08.08.2006, 19:10
Ich habe in einem Tutorial einmal gelesen, das die Ein/Ausgänge eines PIC´s 3 Zustände einnehmen können...

Ausgang, Eingang und einen 3. Zustand den der Autor als "Offen" bezeichnete. Ich suche den Befehl für den PICC C-Compiler, wie ich den Pin so konfiguriere.

Weiß das jemand?

PicNick
08.08.2006, 19:22
Muß ein interessantes Tutorial sein.
1 OUTPUT u. High (+5V)
2 OUTPUT u. Low (0V)
3 INPUT = "offen"

Mc_Loyd
09.08.2006, 05:59
Also, danke schonmal für deine schnelle Antwort.

Ich erläutere das nochmal etwas genauer, weil ich es einfach nicht ganz kapiere ^^

Die LED´s sind so angeschlossen wie im Bild, und ich habe im Sourcecode einfach PIN_A4 Output + High und PIN_A5 als Input deklariert um eine simple LED leuchten zu lassen - Fazit: funzt net!!!

SeaLion
09.08.2006, 08:45
INput und OUTput beziehen sich nur auf die Datenrichtung. Wenn du die LEDs leuchten lassen willst, müssen beide (oder alle) Pins Output sein.
Der Unterschied ist nur, das einige eine 1 und andere eine 0 ausgeben müssen.

Was es übrigens bei einigen Controllern noch als dritten Zustand gibt, ist Tristate, also Hochohmig. Dann ist der Pin weder Eingang noch Ausgang.

Mc_Loyd
10.08.2006, 17:43
Hmmmmm....
Danke schonmal SeaLion!

Hab heut alles so ausprobiert - mit folgendem Code (bei dem aber leider nichts funktioniert) Könt ihr mir helfen???



#include "blinken.h"

void main() {

set_tris_a(0);
set_tris_b(0);

setup_counters(RTCC_INTERNAL,RTCC_DIV_2);

while (1)
{
output_high(PIN_A4);
output_low(PIN_A5);

}
}

#include <12F675.h>
#use delay(clock=4000000)
#fuses XT,NOWDT

Mc_Loyd
14.08.2006, 21:32
So, könnt ihr euch nochmal damit befassen?

Diesen Code habe ich jetzt erstellt (er müsste korrekt sein)

#include <12F675.h>
#use delay(clock=20000000)
#fuses NOWDT,INTRC_IO, MCLR


void main()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_comparator(NC_NC_NC_NC);

SET_TRIS_A(0);

OUTPUT_HIGH(PIN_A4);
OUTPUT_LOW(PIN_A5);
while(1)
{

}

}

Ich versuche jetzt den Code aus meinem C-Compiler (css) zu kompilieren und mit dem MPLAB dann in mein PIC-Kit 1 zu brennen.
Aber irgendwie gibt mein Compiler keinen Assemblercode raus, sondern nur eine .lst-Datei (List-File), kann ich die zum brennen benutzen oder wisst ihr wie man beim Css-Compiler umstellen kann, das er nen Assemblercode rausspuckt?

Danke...!