Forum: Mikrocontroller und Digitale Elektronik Cypress cy7c68013


von Dete K. (dete)


Lesenswert?

Guten Morgen

Bin neu hier und hab ne Mange zum meinen Cypress Schaltkreis bei euch 
gefunden, leider nichts was mir bei meinem Problem hilft.

Frage:

Besteht die Möglichkeit an dem Anschluss PA1/INT1# oder PA0/INT0# ein 
Dauerhaftes high auszugeben? (Natürlich erst nach dem aufspielen der 
Firmware!)

Danke

von Christian R. (supachris)


Lesenswert?

Natürlich. Man kann zwischen Interrupt und normalem I/O umschalten.

von Dete K. (dete)


Lesenswert?

HA, hab voll nachdem "WIE" vergessen zu fragen?

also Bitte -WIE- mache ich dass?

Das ich die Funktion des Pins mittels Register umschalten kann weiß ich,


Danke

von Christian R. (supachris)


Lesenswert?

Hm, was ist so schwer dran, in´s Technical Reference Manual zu schauen?
1
//Deklaration
2
sbit PA0 = IOA ^ 0;             // alt. func., INT0#
3
sbit PA1 = IOA ^ 1;             // alt. func., INT1#
4
5
//...im Programm
6
PORTACFG &= ~0x03;            //normale Funktion PA0, PA1
7
OEA |= 0x03;                  //PA0, PA1 Ausgänge
8
9
PA0 = 1;
10
11
PA1 = 1;

von Dete K. (dete)


Lesenswert?

Christian R. wrote:
> Hm, was ist so schwer dran, in´s Technical Reference Manual zu schauen?

hm, darin ist gar nix schwer, dass hab ich auch zu genüge getan,

bloß WO finde ich diese informationen? (jaja im TRM ich weiß)

ich finde nix im TRM was mit erklärt warum das genau so wie du es txt 
hast sein muß

Trotzdem Danke für deine antwort

von Martin K. (mkohler)


Lesenswert?

Dete Kosschlovsski wrote:
> ich finde nix im TRM was mit erklärt warum das genau so wie du es txt
> hast sein muß
Was für Infos brauchst du denn noch??

PORTACFG entscheidet ob alt.func. oder Digital IO, OEA definiert, welche 
Bits IN und welche Bits OUT sind.

Was fehlt dir noch? Infos oder Klick zwischen den Ohren?

von Dete K. (dete)


Lesenswert?

hm,was brauch ich noch?
irgendwie verschließt sich mir die gaze sache

PORTACFG entscheidet ob alt.func. oder Digital IO, OEA definiert, welche
Bits IN und welche Bits OUT sind.
==> kann ich nachvollziehen

sbit PA1 = IOA ^ 1;
sbit PA0 = IOA ^ 0;
==> erzeugt Fehlermeldung beim kompilieren

habe die Register mit in die Init() reingeschrieben und die deklaration 
außerhalb, dort wo ich auch alle anderen variablen die ich benutze 
deklariere

von Christian R. (supachris)


Lesenswert?

Dete Kosschlovsski wrote:

> sbit PA1 = IOA ^ 1;
> sbit PA0 = IOA ^ 0;
> ==> erzeugt Fehlermeldung beim kompilieren

Hm, ist wohl KEIL-Spezifisch. Nimmst du den SDCC? Dann musst du das halt 
weglassen, und PA |= 0x01 schreiben für´s setzen der PINs.

Übrigens steht ab Seite 209 im TRM ausführlichst, wie man die IO Ports 
benutzt, und welche Register da mitspielen.

von Dete K. (dete)


Lesenswert?

Christian R. wrote:
>
> Hm, ist wohl KEIL-Spezifisch. Nimmst du den SDCC? Dann musst du das halt
> weglassen, und PA |= 0x01 schreiben für´s setzen der PINs.
>
 ich benutze den Keil compiler,
 PA |= 0x01 damit klappst jetzt

ich danke dir für die Schnelle hilfe!

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.