mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Port einstellungen


Autor: rapeur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
ich habe ein problem mit Port einlesen. ich habe eine Funktion 
geschrieben, und sie funktionniert nach meine Meinung gut(eine Logische 
AND Funktion). ich habe so in Hauptprogramm definiert:
void main (void)
{
TRISB=0x00;
TRISA=0x70;

PORTAbits.RA0=1;
PORTAbits.RA1=1;

while(1)
{
PORTBbits.RB1=AND(PORTAbits.RA0,PORTAbits.RA1);

}
}
und ich sehe nicht die Änderung im RB1. aber wenn ich so schreibt ( 
AND(1,1) im Programm) sehe ich alle Änderungen. Apropos ich habe die 
Funktion als Char definiert und benutzt das Programm MPLAB mit COmpiler 
C18. Ich brauche ihre Hilfe.
Grüß

Autor: rapeur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm für Schreibzugriffe das LAT-Register.
(genaueres steht im Datenblatt zum PIC)

Versuch folgendes:

while(1)
{
  LATBbits.LATB1 = AND (PORTAbits.RA0,PORTAbits.RA1) ;
}

Gruss

Autor: rapeur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gast,
es geht immer noch nicht. aber wenn ich so schreibe AND(1, 1), geht es.
Gruss

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal geraten (da ich das PIC-Datenblatt nicht im Kopf habe):

Ist PORTA als DIGITAL I/O eingestellt? Kann sein, dass er defaultmäßig 
auf ANALOG-Eingang eingestellt ist.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RA0 und RA1 sind per Default/POR als Analog-In konfiguriert.
Versuch mal diese als Digital I/O zu konfigurieren.
Dies geschieht im Register ADCON1, Bits PCFG3-0 auf 1 setzen.
Siehe Datenblatt A/D-Konverter-Kapitel.

Gruss

Autor: rapeur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gast,
ich bedanke dir. ich dachte ich hätte es beachten.
Gruss

Autor: rapeur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe mit port C probiert und es hat funktionniert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.