🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6053

Re: kleine vertaling qbasic => C++

#6053
From: Luc Kumps
Date: Mon, 13 Jan 2003 11:21
49 lines
2723 bytes
"Harvie" <harvie@freegates.be.nospam> wrote in message
news:3E21B655.2060908@freegates.be.nospam...
> Hi iedereen. Ik heb een vertaal vraag. Wie kan er de volgende QBasic
> code vertalen naar C++ ??
>
>          open "com1:2400,N,8,2,CS10000,DS" as #1
>          print #1,chr$(26)+chr$(23);
>          close #1
>
> Ik ben namelijk begonnen met een programma te schrijven dat zal draaien
> onder linux, voor de besturing van een marklin digitaal baan. Onder
> linux bestaat er blijkbaar zeer weinig software voor dit doel.

Als je nog nooit asynchrone I/O soft geschreven hebt op Unix, dan zal dit je
een beetje tijd vergen. Je moet de "termio" man pages maar eens lezen.

Ik heb geen tijd om een volledig programma te maken, ik kan je wel zeggen
welke calls je moet gebruiken om het bovenstaande te doen:

1. Openen poort
int fd;
fd = open("/dev/xxx", O_RDWR);

De xxx komt overeen met de naam van de asynchrone poort op je systeem

2. Configureren poort
struct termio arg;
ioctl(fd, TCGETA, &arg);

Hiermee haal je de huidige settings (baud rate, parity, ...) op.
Dan wijzig je enkele zaken, bv:
arg.c_cflag = B2400 | CS8 | CREAD;

3. Schrijf gegevens met "write":

unsigned char buf[] = {0x26,0x23};
write(fd,buf,sizeof(buf));


Ik hoop dat je er hiermee uitraakt. Als je wat googlet op
"termio,ioctl,TCGETA,TCSETA" zal je wel wat voorbeelden vinden...

Misschien kun je het ook zonder code te schrijven, door:
1. Met "stty" de poort goed te configureren
2. Met "cat" een bestand, met daarin de twee te sturen bytes, naar de poort
te sturen


Luc K
Technical Details
Message-ID: <1jxU9.9337$ym5.1172@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!newsfeed.gamma.ru!Gamma.RU!newsfeed.icl.net!newsfeed.fjserv.net!news-lond.gip.net!news.gsl.net!gip.net!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <3E21B655.2060908@freegates.be.nospam>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,5b82ada288f80077
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-01-13 03:24:08 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!newsfeed.gamma.ru!Gamma.RU!newsfeed.icl.net!newsfeed.fjserv.net!news-lond.gip.net!news.gsl.net!gip.net!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "Luc Kumps" <NOkumpsSPAM@pandora.be>
Newsgroups: be.comp.programming
References: <3E21B655.2060908@freegates.be.nospam>
Subject: Re: kleine vertaling qbasic => C++
Lines: 51
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Message-ID: <1jxU9.9337$ym5.1172@afrodite.telenet-ops.be>
Date: Mon, 13 Jan 2003 11:21:33 GMT
NNTP-Posting-Host: 213.119.33.126
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1042456893 213.119.33.126 (Mon, 13 Jan 2003 12:21:33 MET)
NNTP-Posting-Date: Mon, 13 Jan 2003 12:21:33 MET
Organization: Telenet Internet