www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic programmierung


Autor: Michael K. (grafmi40)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an die PIC Programmierer

Folgendes Problem habe ich:

#include <g:\bknd\cc5x\mk16f627.h>
#pragma config |= 0x3f29
void main()
{
char t, Flanke;
TRISB = 0b.0000.0000;
TRISA = 0b.0000.1111;
PORTA = 0;
PORTB = 3;
Flanke = 0;
t = 0;
hsm = 0;
  while(1)
  {
     if (hsm && Flanke == 1)
    {Flanke =1;  t++;}
    if (hsm && Flanke == 0)
    {Flanke = 0;}
    if (t == 1)
    {PORTB =5;}
    if (t == 2)
    {PORTB =3; t = 0;}
  }
}
// Programmende

im obengenannten mk16f627.h habe ich bestimmten Ports Bits zugeordnet.
(#pragma bit hsm @ PORTA.0 als Taste usw. und #pragma bit rt1 @ PORTB.0)
Aus der Headerdatei von CC5X hab ich die TRIS und PORT-bits gelöscht in 
der Annahme, dass beide Headerdateien eingelesen werden.
Zumindest meckert der Compiler mich nicht an.
Meine Taster sind an +5V  am PortA cmit 1kOhm an Masse, also mit + 
geschaltet.
Nun das grosse aber: funktionieren tut nix ausser PORTB = 3;
Programmieren tu ich sonst die schwersten Sachen aber hier ist das doch 
bestimmt ein einfacher Fehler oder übersehe ich da etwas ???
Füt Tipps bin ich sehr Dankbar.

MfG
M.Kellner

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CMCON=0b00000111;  //Comparator inaktiv

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> #pragma config |= 0x3f29

Geht das so?
Ich hätte jetzt erstmal vermutet dass die configbits alle auf high 
stehen und da bringt ein |= ja bekanntlich nix.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> #pragma config |= 0x3f29

>Geht das so?

Ja, bei CC5x macht man das so.

Das Problem ist, das auf PORTA nach einem
Reset das Comparatormodul aktiv ist. Um
auf digital IO umzuschalten muß man CMCON
richtig setzen.

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.