Habe folgendes Problem:
Mein System hat 16 digtiale IO's (GPIO). Diese sind entweder abzufragen oder zu setzen, indem man eine bestimmte Adresse ausliest/beschreibt. Als Beispiel wurde einfacherweise ein kurzes C-Programm beigelegt:
Code: Alles auswählen
#include <stdio.h>
#include <sys/io.h>
#define outportb(a,b) outb(b,a)
#define inportb(a) inb(a)
void main(void)
{
iopl(3);
/* set GPIO port0[7-0] as input mode */
outportb(0x98, 0x00);
/* read data from GPIO port0 */
inportb(0x78);
/* set GPIO port1[7-0] as output mode */
outportb(0x99, 0xff);
/* write data to GPIO port1 */
outportb(0x79, 0x55);
}
Wie kann ich das nun mit Lazarus (unter Linux) realisieren? Habe da absolut keinen Anhaltspunkt, wie ich direkt auf den Speicher zugreifen kann. Hat hier unter Umständen jemand eine Idee dazu?
Danke und erstmal einen schönen Samstag!