Thread View: amiga.prog
3 messages
3 total messages
Started by Udo Blatzheim
Mon, 20 Jul 1992 21:18
Help: Amiga C Timer-Device
Author: Udo Blatzheim
Date: Mon, 20 Jul 1992 21:18
Date: Mon, 20 Jul 1992 21:18
47 lines
1858 bytes
1858 bytes
Hallo Ihr Spezialisten,
mein Problem: ich möchte das ein C-prog. fuer einen bestimmten
Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
zu belasten. Da steht nun in diesem dicken Buch "Amiga intern" auf
Seite 618 ein Beispiel fuer das Timer-Device. Aber das Ding
funktioniert nicht. Weiss jemand warum?
Im voraus herzlichen Dank fuer Eure Hilfe
ciao,
Udo
Ps. SAS/C Version 5.10a, AmigaDOS 2.0
Amiga500 3MB, 20MB, 50MB
#include <exec/execbase.h>
#include <string.h>
#include <devices/timer.h>
#define TIME_LEN (ULONG) (sizeof (struct timerequest))
extern struct ExecBase *SysBase;
int Error;
struct timerequest *TimeRequest=0L;
void WaitTime();
main()
{
WaitTime(TimeRequest,20L,0L);
}
void WaitTime(TimeRequest, Secs, Micro)
struct timerequest *TimeRequest;
ULONG Secs, Micro;
{
Error = OpenDevice("timer.device", (ULONG) UNIT_VBLANK,
&TimeRequest, 0L, TIME_LEN);
if(Error!=0) printf("\nOpenDevice() - Error\n");
TimeRequest->tr_time.tv_secs=Secs; Hier steigt er aus !!!???
TimeRequest->tr_time.tv_micro=Micro;
DoIO(TimeRequest, (UWORD)TR_ADDREQUEST);
CloseDevice(TimeRequest);
}
--
Udo Blatzheim, Europe - Germany - 7035 Waldenbuch, Auf dem Graben 9
home + voice only ..7157/8726 udo@ubla.novalis.public.sub.org
Re: Help: Amiga C Timer-Device
Author: J. Wiedmann
Date: Wed, 22 Jul 1992 10:17
Date: Wed, 22 Jul 1992 10:17
43 lines
2011 bytes
2011 bytes
In <udo.08s1@ubla.novalis.public.sub.org> udo@ubla.novalis.public.sub.org (Udo Blatzheim) writes: >mein Problem: ich moechte das ein C-prog. fuer einen bestimmten >Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU >zu belasten. <Einiges geloescht> >struct timerequest *TimeRequest=0L; > TimeRequest->tr_time.tv_secs=Secs; Hier steigt er aus !!!??? Hallo, Udo, ganz einfacher Fehler (mir und allen anderen schon zig-mal passiert): Du darfst den Zeiger TimeRequest nicht verwenden ohne ihn zu initialisieren. Das Beste ist, mit CreateExtIO() Speicher zu reservieren. (Noch besser: Vorher mit CreatePort() auch tatsaechlich einen MessagePort erzeugen.) Falls Du uebrigens laengere Zeit (will sagen: Einige fuenfzigstel-Sekunden) warten willst, dann kannst Du das viel einfacher mit derAmigaDOS-Funktion Delay() tun. Viel Glueck Jochen -- ------------------------------------------------------------------------------ Jochen Wiedmann E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de Wolkensteinstr. 14 7403 Ammerbuch-Poltringen Bitte haben Sie Verstaendnis, falls Sie an einem Tag mehrere Briefe von mir bekommen. Tel. 07073/4291 Ein Aussortieren von Hand waere weit teurer als die zusaetzlichen InterNet-Gebuehren. -- ------------------------------------------------------------------------------ Jochen Wiedmann E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de
Re: Help: Amiga C Timer-Device
Author: Christian Riede
Date: Thu, 23 Jul 1992 17:34
Date: Thu, 23 Jul 1992 17:34
14 lines
1066 bytes
1066 bytes
In article <udo.08s1@ubla.novalis.public.sub.org>, Udo Blatzheim writes:
> mein Problem: ich möchte das ein C-prog. fuer einen bestimmten
> Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
> zu belasten.
Dumme Frage am Rande: Warum nicht mit Delay() aus der DOS-Library?
Gruss, Christian
--
Christian Riede, Lange Strasse 88, D-W7500 Karlsruhe 51, Germany
Tel. (+49) 721 {886091 | 608-4487 | 608-2749} | iso-8859-1:
EMail: chr@senga.ka.sub.org, riede@ira.uka.de | äöüß==aeoeuess
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads