Page 2 of 2

Re: C

Posted: 19 Jun 2017, 12:19
by Timo
Etwas einfaches habe ich nicht.
Ich habe mal dein Beispiel etwas abgewandelt (ohne Garantie).
Bei jedem Aufruf wird entweder der Zustand von Pin 2.0 ausgelesen und ausgegeben, oder eine Fehlermeldung.

Code: Select all

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h> //fuer die Konstante O_RDWR und open()
#include <unistd.h> //fuer close()
#include <stdint.h> //fuer den Datentypen uint32_t
#include <sys/ioctl.h>
#include <errno.h>

#define ANZAHL 1


int main()
{
	uint32_t daten[ANZAHL];
	const int offset=2;
	int bytesread = 0;
	int device = -1;
	
	device = open( "/dev/piControl0", O_RDWR );
	
	if ( device < 0 )
	{
		fprintf( stderr, "Fehler bei open(): %s", strerror(errno) );
		return -1;
	}
	
	if ( lseek( device, offset, SEEK_SET ) < 0 )
	{
		fprintf( stderr, "Fehler bei lseek(): %s", strerror(errno) );
		return -2;
	}
	
	bytesread = read( device, daten, ANZAHL );
	if ( bytesread < 0 )
	{
		fprintf( stderr, "Fehler bei read(): %s", strerror(errno) );
		return -3;
	}
	
	printf( "%d\n", daten[0] );
	fclose ( device );
}

Re: C

Posted: 19 Jun 2017, 17:33
by volker
Welcher pin 2.0??? was genau hast Du unter PiCtory denn konfiguriert? Oder was gibt piTest -d denn für eine Konfiguration aus? Was erwartest Du am Offset 2 vom PA? Bitte exportiere mal Deine Offstliste aus PiCtory und dan sehen wir genau, was an Offset 2 im PA abgelegt ist...

Re: C

Posted: 28 Jun 2017, 08:41
by Tim
Keiner eine Idee?
Ich hänge an dieser Sache immer noch in der Luft. Ein Skript-Beispiel wäre nicht schlecht.

Re: C

Posted: 28 Jun 2017, 10:22
by volker
Hallo Tim,
ohne Antworten auf die Fragen, die ich Dir gestellt hatte und eine Offsetlistre (Export Offset) können wir Dir nicht weiterhelfen. Die Globals-Liste war wenig hilfreich, weil dort keine Offsteadressen korrekt zu sehen waren. Bitte sende die Offsetliste und beschreibe noch mal was genau Du unter "pin 2.0" überhaupt meinst. Beschreibe Deine Konfiguration, die Du unter PiCtory gemacht hast und dann bekommen wir das sicher zum Laufen. Ich vermute einfach ein "aneinander vorbei reden" und darum musst Du schon mal mehr im Detail beschrieben, was Du da machst und was Du unter den einzelnen Begriffen verstehst.

Re: C

Posted: 28 Jun 2017, 15:56
by Tim
Danke für eure Antworten, ich habe nicht gesehen das es hier eine zweite Seite gab=).
Ich hab auf meiner ersten Seite nur meine Frage gesehen aber keine Antwort.
Ich werde die ideen ersteinmal umsetzen und melde mich wieder=)
Danke für die Hilfe=)