PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Problem mit Header-Datei für C Programmierung Microcontroller



irgendeiner
19.05.2011, 22:44
hallo,

ich muss für eine prüfung ein codeschloss in c programmieren und zwar auf einem microcontroller der familie 8051 (infineon sab80c535-n).
das problem dabei ist, dass ich nicht weiß, wie die ports zu adressieren sind. zwar habe ich gegooglet und auch eine header datei gefunden, jedoch hat mein compiler (uc51) damit ein problem.

die header datei: http://pastebin.com/1kDcthZC

fehler bei umshell (compiler) "syntax error; found `P1' expecting `;'"
dieser fehler tritt für jede zeile auf.

die reg51.h datei von umshell: http://pastebin.com/dY1H138W
diese datei sowie die reg535.h http://pastebin.com/A7V8S54x
sind bereits bestandteil der installation von uc51 gewesen, sowie die dateien
reg51.def: http://pastebin.com/J7nrTf8p
und reg535.def: http://pastebin.com/Tpnftwr1

bitte um hilfe, was ich genau machen muss, damit es funktioniert.
benötigt werden port1, 3, 4, 5 und sie sollten alle bitadressierbar sein.
desweiteren habe ich bereits ein codeschloss in assembler geschrieben, für den gleichen microcontroller, dabei habe ich eine .def datei verwendet, die vom lehrer vorgegeben war (also wären alle adressen von den ports vorhanden, lediglich wie ich diese in c zuweisen muss usw. ist mir ein rätsel)

wäre sehr dankbar, wenn mir jemand bei diesem problem helfen könnte.

gruß irgendeiner

Ceos
20.05.2011, 08:54
das wird schwierig in einem Atmel-Unterforum, vielleicht haste ja Glück

PicNick
20.05.2011, 08:55
Ich meine, am schnellsten kommts du weiter, wenn du die .Def vom lehrer datei für C umbaust.
zeig doch mal her, mit cut, paste und replace lässt sich eine menge machen.

irgendeiner
21.05.2011, 03:33
hi,
das ist die .def datei vom lehrer für assembler:
http://pastebin.com/fqk2yFEv

danke für eure bemühungen, mir ist klar, dass ich diese umbauen muss, nur wie ich das anstelle, ist mir ein rätsel :-/

irgendeiner
22.05.2011, 19:05
habe das problem gelöst.

habe eine weiter .DEF datei und neue reg51.h und reg535.h gefunden (in einer neueren version von uc51), dort wurden die ports adressiert, wens interessiert:

reg535.h: http://pastebin.com/4FKfW5s6
reg51.h: http://pastebin.com/yejaX0tF
reg535.def: http://pastebin.com/78W8m9hs
reg51.def: http://pastebin.com/mCJxzLf6

was mir hier aufgefallen ist, dass die .def dateien direkt eingebunden wurden, was bei der reg51.h vom ersten post iwie nicht der fall zu sein scheint.

hoffe ich kann anderen damit weiterhelfen.

dankeschön nochmal für eure bemühungen!