Brauch Hilfe zur seriellen Schnitstelle
-
Hallo!
Hab da mal ein kleines Problem! Ich bin Hobbyelektroniker und hab mir ne kleine Schaltung gelötet die ich mit der seriellen Schnittstelle meines Computers steuern möchte. Da ich wärend meines Abi's mal nen Grundkurs in C Programmierung hatte, dachte ich da könnte ich ja mal schnell ein Programm schreiben. Naja ich sitz jetzt schon zwei Tag und komme einfach net weiter.
Hier nun mein Problem:
void main (void)
{
__asm
{
mov al,0x3FC
mov bx,1
out al,bx
}
returm 0;
}Wenn ich das Programm kompiliere bekomme ich die Fehlermeldung:
error C2415: Ungueltiger Operandentyp
d.h. der Befehl out ist falsch. (Frage: brauch ich nen bestimmten Header?)
Hab mir einige Beispiele im Netz angeschaut und werd einfach net schlau. Ich will einfach nur den DTR-Ausgang auf null bzw. auf eins schalten.
Wäre nett wenn mir jemand helfen kann.
(Ich benutze Visual C++ 6.0 Autoren Edition, BS: Win98)
-
die 'out' instruction wird sowieso nicht funzen (nur mit tricks) unter nt,2k,xp-systemen. aber weil du ja win98 o.ä benutzt dann wohl schon. aber nimm besser winapi, da gibbets fertige funtionen für. guckst du: http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/communications_functions.asp
-
Skaos schrieb:
int main() // bitte nicht: void main (void) { __asm { MOV AL, 0x3FC // <-- *) MOV BX, 1 OUT AL, BX } returm 0; }
Hierauf bezieht sich der Fehler
Compiler schrieb:
error C2415: Ungueltiger Operandentyp
0x3FC passt nicht in ein 8 Bit Register!
Greetz, Swordfish
[edit: Code-Tag]