Avatar billede jeppejp Nybegynder
14. marts 2004 - 17:19 Der er 8 kommentarer og
1 løsning

Hjælp til RS232 kommunikation med noget elektronik

Jeg har lavet et stykke elektronik der kan kommunikere med RS232, altså seriel porten på en computer...

Jeg skal nu lave et program ( I Turbo C++ 4.5 ) hvor jeg kan sende et tal til mit elektronik, og der efter modtage et tal det så sender tilbage, hvordan gør jeg det ??

Jeg er ret ny inden for C++... :)
Avatar billede bertelbrander Novice
14. marts 2004 - 20:17 #1
Hvis din kompiler har windows kan du bruge CreateFile til at åbne porte, WriteFile til at skrive til porten, ReadFile til at læse og SetCommState og SetCommState til at sætte porten op. Se et eksempel her:

http://home20.inet.tele.dk/midgaard/snip/modem.html

Hvis din kompiler ikke har ovenstående funktioner skal du nok bruge inport og outport direkte, det er muligt at jeg har et eksempel til at ligge.
Avatar billede jeppejp Nybegynder
14. marts 2004 - 20:46 #2
Jeg kan ikke få det eksempel tíl at virke, men jeg har godt nok windows.h
Avatar billede bertelbrander Novice
14. marts 2004 - 20:54 #3
Kan du ikke kompilere det eller virker det ikke?

Hvis du ikke kan kompilere, så fortæl hvilke fejl du får.
Hvis det ikke virker, så fortæl hvordan du tester.
Avatar billede jeppejp Nybegynder
15. marts 2004 - 21:40 #4
Jeg får noget der ligner:

Compiling NONAME00.CPP:
Error NONAME00.CPP 6: Undefined symbol 'COMMTIMEOUTS' in function SetTimeOut(unsigned int,int)
Error NONAME00.CPP 6: Statement missing ; in function SetTimeOut(unsigned int,int)
Error NONAME00.CPP 7: Call to undefined function 'GetCommTimeouts' in function SetTimeOut(unsigned int,int)
Error NONAME00.CPP 7: Undefined symbol 'commtimeouts' in function SetTimeOut(unsigned int,int)
Error NONAME00.CPP 11: Call to undefined function 'SetCommTimeouts' in function SetTimeOut(unsigned int,int)
Warning NONAME00.CPP 12: Parameter 'sec' is never used in function SetTimeOut(unsigned int,int)
Error NONAME00.CPP 17: Call to undefined function 'WriteFile' in function Tx(unsigned int,const char *)
Error NONAME00.CPP 17: Call to undefined function 'strlen' in function Tx(unsigned int,const char *)
Error NONAME00.CPP 26: Call to undefined function 'ReadFile' in function Rx(unsigned int)
Warning NONAME00.CPP 29: Conversion may lose significant digits in function Rx(unsigned int)
Warning NONAME00.CPP 30: Conversion may lose significant digits in function Rx(unsigned int)
Error NONAME00.CPP 36: Call to undefined function 'CreateFile' in function main()
Error NONAME00.CPP 36: Undefined symbol 'GENERIC_READ' in function main()
Error NONAME00.CPP 36: Undefined symbol 'GENERIC_WRITE' in function main()
Error NONAME00.CPP 36: Undefined symbol 'OPEN_EXISTING' in function main()
Error NONAME00.CPP 41: 'fRtsControl' is not a member of 'tagDCB' in function main()
Error NONAME00.CPP 41: Undefined symbol 'RTS_CONTROL_HANDSHAKE' in function main()
Error NONAME00.CPP 43: Cannot convert 'unsigned int' to 'const tagDCB *' in function main()
Error NONAME00.CPP 43: Type mismatch in parameter 1 in call to 'pascal SetCommState(const tagDCB *)' in function main()
Error NONAME00.CPP 43: Extra parameter in call to pascal SetCommState(const tagDCB *) in function main()
Error NONAME00.CPP 51: Call to undefined function 'CloseHandle' in function main()
Avatar billede bertelbrander Novice
15. marts 2004 - 22:34 #5
Jeg tror at din kompiler er for gammel.

Skal det være med Turbo C++ 4.5 eller kan du bruge en nyere kompiler, f.ex. Borland's gratis kommandolinie kompiler der kan downloades her:

http://www.borland.com/products/downloads/download_cbuilder.html
Avatar billede jeppejp Nybegynder
16. marts 2004 - 17:43 #6
Hehe det virker sq bare... :)

Tak du... :)
Avatar billede jeppejp Nybegynder
16. marts 2004 - 17:44 #7
Post lige et svar... så får du the points... :)
Avatar billede bertelbrander Novice
16. marts 2004 - 20:23 #8
Jeg forsøger at undgå point.
Avatar billede jeppejp Nybegynder
16. marts 2004 - 22:12 #9
Så kan jeg vel ikke gøre andet end at sige tak...
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