Software > Coding

Testcode Port

(1/1)

tuxie:
Hallo,

leider stecke ich nicht so tief im C Coden drin, bräuchte aber ein Stück Codeschnipsel umgesetzt so das es unter TOS ausführbar ist. Gibt es jemand der das für mich machen könnte ?


// Define I/O Port Address for HC
#define HcDataPort 0x290
#define HcCmdPort 0x292

zu


// Define I/O Port Address for HC
#define HcDataPort 0xFEFF0000
#define HcCmdPort 0xFEFF0040

Abändern

Im Anhang die PDF Datei ab Seite 27 ist der Code Block

mfro:
eigentlich brauchst Du nur das da zusätzlich (oben nach den includes einfügen):


--- Code: ---#define HcDataPort  0xfeff0000
#define HcCmdPort   0xfeff0040

static short swpw(short w)
{
    return (w << 8) | (w >> 8);
}

static void outport(unsigned long port, short value)
{
    * (volatile short *) port = swpw(value);
}

static short inport(unsigned long port)
{
    return swpw(* (volatile short *) port);
}

--- Ende Code ---

inport() und outport() rufen jeweils noch swpw() um von little endian auf big endian (bzw. umgekehrt) zu wandeln. Die includes für dos.h und conio.h nimmst Du raus (die werden nicht gebraucht). Auf dem ST wird das ganze Geraffel wahrscheinlich im Supervisor-Mode laufen müssen, das mußt Du noch irgendwo einbauen.

Dann mit Pure-C (oder gcc mit -mshort) übersetzen und es müsste funktionieren.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln