Toon posts:

[MS C++ 7.0] seriele communicatie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een project is het noodzakelijk om een MSDOS PC via de seriele poort data te laten verzenden en versturen. Als ik op internet zoek naar oplossingen voor dit probleem zie ik constant 2 type oplossingen.

1. Dmv. de standaard functie fclose(), fopen(), fread() etc... de com poort benaderen.
2. Bedrijven die vol enthousiasme hun commercielen oplossing aanbieden (comdrv, etc...)

Mijn vraag is wat de standaard functies niet bieden waardoor de bedrijven dit aanbieden. Het enige wat ik verwacht is een non-blocking manier om van de com poort te kunnen lezen en schrijven. Ik ga er van uit dat dit gewoon kan met de eerste oplossing of zie ik iets over het hoofd?

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 11:27
Je zou eens op deze site kunnen kijken:
http://www.codeproject.com/system/serial.asp

Is de tweede hit als ik op "c++ serial" zoekt. In het stukje code daar hebben ze overigens wel een blocking manier staan, maar je zou deze zelf doormiddel van threading of polling non-blocking kunnen maken.

Verder bieden de "commerciele" componentjes wat meer mogelijkheden dan het standaard component zoals handshaking en virtual commports (staat ook wel op die site).

Verwijderd

Topicstarter
De methode die hier genoemd wordt is op basis van de windows api. Mijn platform zal waarschijnlijk msdos 6.22 zijn

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 11:27
Mijn fout 8)7. Deze site geeft iig antwoord op vraag 2.

Verwijderd

Je zal sowieso eerst een 16-bit compiler moeten gebruiken. De laatse MSVC die DOS executables kon creeren was VC4 geloof ik, maar je kan ook de oude Borland compilers gebruiken die gratis te downloaden zijn. Het voordeel is dan dat seriele communicatie een stuk makkelijker is en zelfs rechtsreeks via de hardware te doen is. Google wat for 'DOS serial communication' en je bent er zo.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:36

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op donderdag 15 juni 2006 @ 16:01:
Je zal sowieso eerst een 16-bit compiler moeten gebruiken.
Dat hoeft niet per se, 32 bit werkt prima onder DOS. Je zult alleen wel een compiler moeten gebruiken die dat platform target, maar dat doet ie ook. Microsoft C++ != Microsoft Visual C++ :)

[ Voor 24% gewijzigd door .oisyn op 15-06-2006 16:42 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

.oisyn schreef op donderdag 15 juni 2006 @ 16:41:
[...]

Dat hoeft niet per se, 32 bit werkt prima onder DOS. Je zult alleen wel een compiler moeten gebruiken die dat platform target, maar dat doet ie ook. Microsoft C++ != Microsoft Visual C++ :)
Hm ok :) Maar je bent het vast met me eens dat je voor een simpel I/O progseltje geen DOS extender nodig hebt.

(Pff ik ben wazig, hij gebruikt het al, never mind :))

[ Voor 7% gewijzigd door Verwijderd op 15-06-2006 17:08 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:36

.oisyn

Moderator Devschuur®

Demotivational Speaker

Nodig niet nee, maar als je favo compiler toevallig 32 bit code produceert, waarom niet? :). Maar MC++ is wel 16 bit als ik me niet vergis, dus het is sowieso al geen issue.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Ja ik zat te slapen. Die 7.0 had genoeg indicatie moeten zijn natuurlijk.
Naja, on-topic, sorry voor de verwarring.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 11:54
Ah die goede oude DOS tijd. Non blocking serial communicatie in DOS is gaaf ( en vrij simpel ) . Je mag lekker direct in de 8250 prikken met outport/outp en vrienden. :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
zijn de fread functies in deze toepassing blocking of non-blocking?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:36

.oisyn

Moderator Devschuur®

Demotivational Speaker

blocking natuurlijk, na een fread verwacht je namelijk dat de data in je buffer staat.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1