PIC I/O eingang abfragen ausgang schalten

Gast #3245148
Lesenswert?
• ▲
▼
habe zum ersten Mal mit PIC-Controllern zu tun. Hier meine Frage: Wie
liest man einen Eingang ein? Ich möchte z.B. RA0 einlesen und RB0 
schalten. Aber es funktuniert nicht.

Hier mein code:
1
#include "pic.h"
2

3
void main()
4
{
5
TRISA = 0x01;
6
TRISB = 0x00;
7

8
while(1){
9

10
if(PORTAbits.RA0){
11
PORTBbits.RB0 = 1;
12
}
13
else {PORTBbits.RB0 = 0;}
14
}
15
}
#3246120
Lesenswert?
• ▲
▼
Hallo,

Es wäre interessant zu wissen, welcher Compiler verwendet wird und 
welche Konfiguration vorgenommen wurde.

Der Grund dafür ist, dass es sein kann, dass der Compiler (HTC,CCS oder 
XC8) einen Default-Wert übergibt, wodurch der PIC nicht laufen kann.

Weiterhin wäre interessant, wie dein Aufbau/deine Simulation aussieht. 
Ist beispielsweise eine externe Taktquelle nicht angeschlossen, aber der 
Compiler glaubt, dass dieser vorhanden ist, so wird der PIC nicht 
laufen(Fehler von Mir war einmal, dass der Quarz angeschlossen war, aber 
GND der Quarz-Kondensatoren fehlte, lief dann auch nicht). Auch fehlende 
Versorgung kann dann als Ursache ausgeschlossen werden.
#3246137
Lesenswert?
• ▲
▼
<multisim> kenne ich nicht.
Aber auf dem MPLAB Simulator und auf dem SourceBoost-C Simulator tut das 
Programm was es soll(te).
Beim prähistorischen F84 gibt es ohnehin kaum was zu konfigurieren, 
keine Analogfunktionen, wenn ich mich recht erinnere nicht mal einen 
internen Oscillator....
Also würde ich mir mal <multisim> und dessen Einstellungen vornehmen
#3246760
Lesenswert?
• ▲
▼
Hallo,

Bei Dir fehlt die Taktquelle. Diese kann entweder ein RC-Glied, ein 
Quart/Resonator oder ein Taktgenerator sein. Die angeschlossene 
Taktquelle muss als Konfigurationswort im Programm eingetragen werden.

Des weiteren muss der Pin zur Abfrage (wegen dem Taster/Schalter) als 
Eingang definiert werden und einen PullUP oder PullDOWN besitzen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.