Facharbeit, Progammieren eines Temperatursensors
-
Servus,
die "LM75-I2C.EXE" wird wohl ein ausführbares Testprogramm für den Microcontroller sein. Aber du kannst dir auch mal genauer die Beschreibung anschauen. Dort findest du auch einen Link zu http://www.national.com/pf/LM/LM75.html . Darin ist alles etwas genauer beschrieben und auch unterhalb ein paar Testtools aufgeführt.
Die Frage ob es "einfach" ist, kann dir wohl keiner so beantworten. Es kommt auf die Erfahrung des jeweiligen an. Ich persönlich würde dir sagen, dass es kein großer Akt ist. Das liegt aber wohl mehr oder weniger daran, dass diese ganzen Geschichten mein "Täglich Brot" sind.
Es ist möglich, die Aufgabenstellung ist lösbar. Es gibt sogar schon zahlreiche Beispiele für die Kommunikation zur parallelen Schnittstellen. Sogar hier im Forum.
mfg
Hellsgore
-
halloa
also ich stecke grade etwas inner klemme, ich hab getrödelt, hatte dann noch nen studio termin mit meiner band in der letzten woche und steh jetzt da und hab nur noch eine woche zeit.
jetzt ists passiert, ein pin meines controllers ist abgebrochen, ich hatte einen auf reserve damit wollte ich heute anfangen aber wieder ist ein pin abgebrochen, ich habe gestern schon zwei neue zur sicherheit bestellt, allerdings sind die wohl erst dienstag da und abgabetermin ist freitag.ich hab auch keine ahnung wie ich jetzt anfangen soll, kann ich schon anfangen zu programmieren? auch ohne einem angeschlossenen gerät?
kann mir vll jemand nen tipp geben, also sozusagen der ersten schritt den ich machen muss?
wäre wirklich nett, und für die die es mir gleich eh sagen werden, ich weiss das ich ein trottel bin und schon viel früher hätte anfangen sollen.ich habe einen programmschinpsel gefunden, der sieht so aus.
#include <conio.h> #include <stdio.h> int main() { unsigned char port1,port2; outp( 0x378, 0x01 ); /* D0 auf High setzen Rest auf Low */ outp( 0x378, 0x02 ); /* D1 auf High setzen Rest auf Low */ outp( 0x378, 0x07 ); /* D0,D1,D2 auf High setzen Rest auf Low */ port1 = inp( 0x379 ); printf("\n Error ist auf %s",(port1&0x08)? "high":"low"); printf("\n Select ist auf %s",(port1&0x10)? "high":"low"); printf("\n Paper out ist auf %s",(port1&0x20)? "high":"low"); printf("\n Acknowlege ist auf %s",(port1&0x40)? "high":"low"); printf("\n Bussy ist auf %s",(port1&0x80)? "low":"high"); port2 = inp( 0x37A ); outp( 0x37A, port2^1 ); /* Strobe invertieren */ for(i=0;i<20;i++) /* D3 im Sekundentakt ein ausschalten */ { outp (0x378,0x08); /* Nur D3 auf 'High' setzen bei LPT1 */ Sleep(500); outp (0x378,0x00); /* Alle Pins auf 'Low' setzen bei LPT1 */ Sleep(500); } return 0; }damit soll man einen paralellen port ansprechen können, aber auch auslesen? und welcher ist der nächste schritt den ich machen muss? ich hab echt keine ahnung und steh jetzt voll auffem schlauch.
einen rechner mit windows 98 hab ich jetzt da.grüße, jens
-
lies dir das hier durch erstmal
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39312.htmlsteht schon einiges in richtung.
-
tut mir leid aber irgendwie versteh ich da nicht viel vom geposteten quelltext.
kann mir vll jemand sagen welches der erste schritt ist den ich machen muss um irgendwas von der schnittstelle zu empfangen?
und hat vll noch jemand eine seite auf lager wo c++ befehle stehen? habe nämlich begriffe wie "bool" "GetCommModemStatus" etc. noch nichts gehöhrt.
lg jens
-
mit 'c++ befehlen' wirst du für dein thema nicht weiterkommen.
kümmer dich um die kommunikation .., die parallele schnittstelle.habt ihr sicher was zu gehabt, wenn es als aufgabe gestellt wurde.
-
http://members.inode.at/anton.zechner/az/Parallel.htm
du wirst einen passenden compiler brauchen. ich rate zu einem alten borlander. oder dem djgpp.
so long
-
ok danke, das höhrt sich so einfach nicht an...
handelt sich um ne facharbeit, ich hab getrödelt, freitag is abgabe, war noch mit meiner band im studio und bla...
dazu haben wir im unterricht auch nichts durchgenommen, hatten nur einfache sachen, if anweisungen, arrays und ja, viel mehr nicht.
grüße
-
ich habe mir djgpp runtergeladen, aber irgendwie komm ich damit nicht klar, ich habe die dateien entpackt habe aber keine ahnung wie ich da jetzt was starten kann.
was ist das überhaupt, ein compiler?
kann ich den "bloodshed dev c++ - compiler" nicht nutzen?
undoutp( 0x378, 0x01 ); /* D0 auf High setzen Rest auf Low */ outp( 0x378, 0x02 ); /* D1 auf High setzen Rest auf Low */ outp( 0x378, 0x07 ); /* D0,D1,D2 auf High setzen Rest auf Low */was sind das hier "0x378, 0x01" genau für adressen?
hat da was mit dem auslesen einselner pins zu tun?
-
steht doch alles in deiner aufgabenbeschreibung?
http://www.franksteinberg.de/progss.htm
hoffe, du findest jemanden aus deinem kurs, der dir hilft.
-
theschaaf schrieb:
Für die Facharbeit zum Abschluss meiner 2 jährigen BFS Technischer Assistent für Informatik....
theschaaf schrieb:
was ist das überhaupt, ein compiler?

lernt man da so wenig, oder hast du nur geschwänzt?
-
danke für die hilfreiche antwort, wir benutzen nur den bloodsheed dev c++ compiler, wir wirklich sehr wenig in c++ gemacht, das schwierigste was wir hatten waren pointer.
geschwänzt habe ich nie, ist es nun mit meinem compiler möglich?@ elise.
ich bin der einzigste aus meiner klasse der dieses thema bearbeit, und die aufgabenbeschreibung ist nicht für mich. meine lautet einfach nur:"baue nach dem plan die schaltung zusammen und programmiere ein programm mit c++ das die temperatur ausließt.
.
-
auf deiner vorgegebenen projektseite findest du fertige programme, in c# (vielleicht zu verwirrend)
hier ein link als überblick (linux!)
http://voxel.at/prj/i2c/LM-Artikel/
versuch, dich in diese einzulesen und als grundlage zu verwenden.darüber hinaus stehen auf der projektseite auch hinweise, welchen compiler du verwenden sollst.
so long
-
Dieser Thread wurde von Moderator/in Korbinian aus dem Forum Projekte in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
theschaaf schrieb:
if anweisungen, arrays und ja, viel mehr nicht.
grüße
nach 2 jahren?
-
also so langsam läufts einiegermaßen, ich habe die dokumentation des hardwareteils fertig.
jetzt möchte ich mit diesem programm weiterarbeitehttp://www.goblack.de/desy/digitalt/l_modelle/tempsens75/programm1.html
allerdings tauchen beim kompilieren in der headerdatei immer 3 fehler auf, und zwar:
asm{ mov AH, 80h <--- [c++warning]restarting compile using assembly
int 0AAh }
}----------------------------------------------------------
char i2c_receive (char slave, char far* c, char lastchar) <--- [c++error] expected
----------------------------------------------------------
asm{ mov AH, 83h
mov AL, slave
and AL, 0FEh <--- [++error] incorrect number format
mov CX, length
les BX, buffer
int 0AAh----------------------------------------------------------
oder ist dieses programm gar nich für meine schaltung geeignet? aber es müsste doch eigentlich das richtige sein oda?!
grüße, jens
-
Deine Fehlerbeschreibungen sind zwar ziemlich dürftig, besonders die zweite ...
theschaaf schrieb:
asm{ mov AH, 80h <--- [c++warning]restarting compile using assembly
int 0AAh }
}Ist nur eine Warnung. Kein Problem hier.
----------------------------------------------------------
char i2c_receive (char slave, char far* c, char lastchar) <--- [c++error] expected
Expected *was*? Sieht aber so aus als würde er das far-Schlüsselwort nicht kennen. Was ist das denn für ein Compiler?
asm{ mov AH, 83h
mov AL, slave
and AL, 0FEh <--- [++error] incorrect number format
mov CX, length
les BX, buffer
int 0AAhDa muss ich passen, das sieht eigentlich gut aus.
-
theschaaf schrieb:
restarting compile using assembly
Bei Borland gibt es da den Schalter -B, um den Assembler sofort zu starten.
-
ja, den borlander nutze ich jetzt auch
beim zweiten fehler steht ausser "expected" nichts
and AL, 0FEh <--- [++error] incorrect number formathier meinte mein lehrer ich sollte mal die adressen überprüfen? deshalb habe ich auch gefragt ob sich das programm vll auf eine andere schaltung bezieht?
kann ich aber auch nich sagen da mein lehrer sich das wohl nur ne sekunde angeschaut hat."Bei Borland gibt es da den Schalter -B, um den Assembler sofort zu starten."
d.h. jetzt genau?