PIC16F57 Timer0 einbinden

(Firma: Rücklinger Elektronik) #2165458
Lesenswert?

Hallo zusammen,

bin gerade dabei für eine Low Cost Lösung mich mit einem PIC16F57 
auseinandezusetzen bzw. zu programmieren.

Programmieren werde ich in C mit MPLAP IDE V8.66, Compiler von Knudsen 
CC5X
Grundkenntnisse mit C Programmierung sind vorhanden.

Jetzt will ich den Timer0 miteinbinden, aber sobald ich z.B. den T0CS 
auf 0 setze kommt eine Error Meldung :
Error[1] C:\Work\FWGA\Software\PIC\FWDISP.C 61 : Symbol 'T0CS' is 
undefined
 (The definition of the symbol in not known. This can be due to
 wrong spelling or letter case mismatch. Otherwise a new symbol
 definition is required: variable, function, macro, etc.)

Fehlt hier eine #include Datei und wenn ja welche?
wie binde ich diese ein?
welche #include Dateien benötigt der PIC?

mfg

mandi3325
(Firma: Rücklinger Elektronik) #2165591
Lesenswert?

programmieren in c ist sicher möglich da es bsp programme gibt.
wenn´s nicht geht werde ich ohne timer auskommmen müssen. wäre nur 
bequemer gewesen.

im prinzip geht´s ja nur darum einen pin zu überwachen, wenn der 1 ist 
soll ein port (5 eingänge)ausgelesen werden, und in einem anderen port 
ausgegeben werden (acht ausgänge).

der timer würde nur zu testzwecken dienen.
#2165753
Lesenswert?

Manfred Rücklinger schrieb:
> Jetzt will ich den Timer0 miteinbinden, aber sobald ich z.B. den T0CS
> auf 0 setze kommt eine Error Meldung :
> Error[1] C:\Work\FWGA\Software\PIC\FWDISP.C 61 : Symbol 'T0CS' is
> undefined
>  (The definition of the symbol in not known. This can be due to
>  wrong spelling or letter case mismatch. Otherwise a new symbol
>  definition is required: variable, function, macro, etc.)
>
> Fehlt hier eine #include Datei und wenn ja welche?
> wie binde ich diese ein?
> welche #include Dateien benötigt der PIC?

Funktioniert denn der Zugriff auf andere Register schon ?

Hast du T0CS oder TOCS ??!
         ^         ^
        Null       O wie Oskar

Was hast du denn an .h schon eingebungen?
Welches Linkerscript, welche Libraries verwendest du ?
(Firma: Rücklinger Elektronik) #2165914
Lesenswert?

T0CS mit Null, die Datei 16F57.h habe ich mit eingebunden, allerdings 
nicht über #include sondern das dürfte der compiler durch auswahl des 
Prozessors schon automatisch machen, denn wenn ich es mit #include 
einbinde kommt die nächste Fehlermeldung. Die bezieht sich auf die erste 
Zeile in der Header Datei 16F57.h auf den #pragma Befehl.

Ansonst habe ich über ein #pragma Befehl den FOSC und den WDTE 
definiert, sonst nichts.

mfg

Mandi3325
Gast #2166653
Lesenswert?

Mein lieber Manfred,

vielleicht würde es dir helfen, wenn du mal die Dokumentation zu dem 
betreffenden PIC gründlich lesen würdest. Der Timer 0 gehört ja wohl zum 
Urgestein der PIC-Gefilde, er sollte also in ALLEN Headerdateien 
wiederzufinden sein. Also liegt dein Problem wohl darin, daß du einfach 
vergessen hast, überhaupr eine Headerdatei einzubinden.

Also:
#include <16F57.h>


Aber mal abgesehen davon finde ich es immer wieder ätzend, daß junge 
Leute sich so konsequent weigern, die Hardware überhaupt kennenzulernen, 
mit der sie etwas tun wollen/sollen. Dazu gehört nach meinem Verständnis 
auch, daß man kleinere uC's eben in Assembler programmiert und nicht für 
einen Controller, der mal eben über 72 Register, 2 Stackplätze und 2048 
Befehlsschritte verfügt nach einem C-Compiler schreit.

Also mein Rat:
Benutze einen moderneren PIC, lies dessen Doku und programmiere ihn in 
Assembler.

W.S.
(Firma: Rücklinger Elektronik) #2167247
Lesenswert?

Aslo nur zu meinem Verständnis und Grundlegendes:
Ob man einen µC in C Programmieren kann, hängt doch glaube ich vom 
Compiler ab. Da der Knudsen CC5X Compiler diesen µC kann, sollte man, so 
glaube halt ich, diesen in C programmieren können.

Wie schon oben gesagt, der PIC muss nicht viel können, daher auch dieser 
µC, da es sich um eine Low Cost Anwendung handelt. Ich brauche auch den 
Timer0 nicht für diese Anwendung. Wäre halt nur für ein Testprogramm 
gewesen, und zu meinem besseren Verständnis für spätere Anwendungen bzw. 
Programme und andere µC.

Das man diese Header Datei einbinden muss, weiss ich auch. Kommt halt 
nur eine andere Fehlermeldung.

Wäre halt schön wenn in Zukunft nur Antworten zu diesem Thema kommen, 
die mir weiterhelfen, und keine Grundlegenden Diskussionen.

mfg
(Firma: Rücklinger Elektronik) #2176831
Lesenswert?

So,

das Ding funkt jetzt auch in C.

das mit dem Timer dürfte mit der Header Datei von dem Knudsen CC5x 
Compiler zusammenhängen.

ist ein gewaltiger unterschied zwischen der 16F57.h von Knudsen und von 
PIC16F57.H von einem anderen Compiler.

weis wer von wo man die richtige 16f57 herbekommt, da der Compiler 
automatisch die 16F57.h einbindet ohne das ich #include <16f57.h> 
schreibe.

wie gesagt ist nicht notwendig, da ich den Timer nicht benötige, würde 
mich nur interessieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren