www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit CS erzeugung bei PIC18f4320


Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
nachdem ich nun das Problem mit MPLAB gelöst habe, habe ich schon wieder 
ein anderes Problem.
Ich möchte ein Chip-Select Signal erzeugen und dieses zunächst auf eine 
konstante 1 setzten.
In der Simulation funktioniert das alles bestens, nur bei der 
Echtzeitmessung am PICDEM2 Board von Microchip messe ich mit dem 
Oszillographen lediglich „einen“ Peak, statt einer konstanten 1.
Die Frage ist nun, warum der PIC mein CS nicht dauerhaft auf 1 setzt, 
sondern wieder zurück auf 0?

Hier der aktuelle Code:
#include <p18f4320.h>
#include <stdio.h>

#define ad_cs LATEbits.LATE0

#pragma code
void main (void)
{
  ADCON0=0x00;    //Inchip A/D wandler ausgeschalten mit Bit0=0
  ADCON1=0x3F;    //3 = Verwendung von Referenzspannung
            //F = Alle Portpins auf Digital I/O, 
  
  TRISE = 0x02;  //Port E Pin 1 = Eingang, rest Ausgang
  
  PORTE = 0x00;
  ad_cs = 1;

  while (1){
    
  }
}

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie Dir bereits bei www.fernando-heitor.de geantwortet wurde, sollte auf 
PORTE nur lesend zugegriffen werden. Zum Setzen der Portpegel den LATE 
verwenden.
Lass dieses PORTE = 0x00; einfach mal weg.

Da Du den A/D abgeschaltet hast, kann ich in der Software auch keine 
weiteren Fehlerquellen ausmachen. Wenn es dann immer noch nicht läuft 
ist Deine Hardware womöglich buggy.

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh und nochwas:

Womöglich optimiert der Compiler die leere while-Schleife weg, somit 
würde der Controller direkt nach dem Setzen von PIN_E0 in den Sleepmodus 
gehen. Dies könnte ebenfalls den kurzen "Peak" erklären. Schau Dir mal 
das Assemblerlisting an!

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.