Avatar billede djmaster Nybegynder
01. februar 2007 - 15:33 Der er 8 kommentarer og
1 løsning

RS232 interface program vil ikke kompilere

Jeg har problemer med at kompilere programmet der findes på denne side: http://www.beyondlogic.org/serial/serial2.htm

Jeg bruger Microsoft Visual C++ 6.0
Jeg har #include <stdafx.h>

Jeg får problemer 6 problemer med linjen:
void interrupt (*oldport1isr)();
første problem: 'oldport1isr': undeclared identifier

Næste linje har 4 problemer er:
void interrupt PORT1INT()
hvor første problem er: missing ';' before identifier 'PORT1INT'

Inkluderer jeg ikke stdafx før jeg følgende problem på sidste linje (altså en tom linje)
unexpected end og file while looking for precompiled header directive

Nogle ideer? måske til andre programmer der kan det samme eller noget lign.
Avatar billede yates Nybegynder
01. februar 2007 - 16:11 #1
Det der tror jeg ikke du kan komme igennem med.
Prøv noget 32bit noget lissom dette:
http://www.csse.monash.edu.au/hons/projects/2000/Daniel.Tung/software/Nav/COMPORT.H


-har i øvrigt 0 forstand på disse sager, desværre.

Y.
Avatar billede bertelbrander Novice
01. februar 2007 - 19:50 #2
Du får næppe andet end en antik version af Turbo C++ til at oversætte koden:
http://dn.codegear.com/article/21751
Med lidt modificeringer til koden kan du nok få Digital Mars til at oversætte:
http://www.digitalmars.com/
Men det er næppe nogen god ide.

Brug i stedet windows funktioner til formålet, se f.eks:
http://damb.dk/snip/modem.html
Avatar billede djmaster Nybegynder
03. februar 2007 - 16:26 #3
Jeg har set det som bertalbrander henviser til et par andre steder på nettet. Men da jeg ikke lige er en ørn til c++, må i gerne lige forklare koden lidt mere.

Hvordan vil sender jeg f.eks. følgende bitmønster ud af comporten: 00011010 (26-decimal; 1A-hexadecimal)?

Hvordan gemmer jeg f.eks. det som der kommer ind af comporten i et char array?
Avatar billede bertelbrander Novice
03. februar 2007 - 16:50 #4
At skrive 0x1A:

char Data = 0x1A;
WriteFile(Port, &Data, 1, &Dummy, 0);

I koden jeg linker til (fra damb.dk) læser Rx funktionen netop det læste ind i et char array.
Avatar billede djmaster Nybegynder
03. februar 2007 - 16:53 #5
Ok, alletiders

mht. Rx

Kører den standby? altså hvornår læser den ind i et char array, er det hvergang der der kommer nyt data ind?
Avatar billede bertelbrander Novice
03. februar 2007 - 16:57 #6
Rx læser når den bliver kaldt. Den vil så læse det der står i indput bufferen og det der modtages indtil timeout. Du kan sætte timeout med SetTimeOut.
I praksis vil man næsten altid kalde Rx fra en loop.
I avancerede tilfælde bruger man Overlapped strukturen, tag et kik på:
http://msdn2.microsoft.com/en-us/library/aa365747.aspx
Avatar billede djmaster Nybegynder
03. februar 2007 - 17:05 #7
Ok, jeg bliver nok klogere når jeg engang har noget og teste det på.

Smid et svar, eller samler du stadig ikke på point (har læst andre af de tråde du har været med i)
Avatar billede bertelbrander Novice
03. februar 2007 - 17:07 #8
Jeg samler stadig ikke på point.
Avatar billede djmaster Nybegynder
25. februar 2007 - 18:52 #9
luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester