www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic24 und MPLAB mit C30


Autor: hugo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich versuche mein Glück gerade mit dem PIC24 (p24FJ32GA002.h) und C30.
Ein einfaches Programm...RA1 und RA2 auf high schalten.
In der Simulation kann man die einzelnen Bits beobachten.
TRISA wird korrekt geändert. Aber mit PORTAbits.RA0=1; ändert sich nur 
das Bit in LATA. Wieso tut sich bei PORTA nichts?

int main(void)
{
  _ADON=0;
  _C1EN=0;
  _C2EN=0;
  _C2OUTEN=0;
  _C1OUTEN=0;
  TRISB=2047;
  TRISA=65532;
  a=0;
  b=4;
  c=a+b;
  PORTAbits.RA0=1;
  PORTA=0b0000000000000011;
  c=b-a;
  PORTAbits.RA1=1;
  while(1==1);
  return 0;

}

Config: Adress 57FC...FFFF
        Adress 57EE...7FFF

In der Hardware funktioniert es auch nicht...doch dort suche ich einen 
eventuellen Fehler erst, wenns in der Software funkt =). Deshalb 
versuche ich es erst mit der Simulation.
Ich werde demnächst einen Versuch mit dem Assembler starten. Vielleicht 
klappts mit dem besser. Aber jetzt mal Gute Nacht =)

mfg

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Probier mal in die LAT-Register selbst zu schreiben. Im grunde sollte 
man immer in die LAT-Register schreiben, dann umgeht man den 
read-modify-write Problematik.

Du kannst statt:
while(1==1);
einfach
while(1);
schreiben.

mfg Schoasch

Autor: hugo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Mit LATAbits.LATA1=1 habe ich es auch schon versucht. Dabei ändert er 
zwar das Bit im LAT Register aber im PORTA tut sich nichts.

mfg

Autor: Franko Phil (sgssn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

evtl solltest du den PORTA noch für Digital-Anwendung umschalten

AD1PCFG = 1;


Gerhard

Autor: hugo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke...das wars:)
Sind halt die Anfangsprobleme*g*.

mfg

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.