Avatar billede evj Nybegynder
06. april 2007 - 11:37 Der er 8 kommentarer

Serial kommunikation..

Så er påsken kommet over os og jeg har endeligt tid til at lege med noget privat programmering.. og rigtig kommer i gang med C#

Jeg har et gammelt dos program som jeg gerne ville havde om skrevet til .net
programmet skriver med nogle eksterne IO på noget hardware som jeg lavede for nogle år tilbage.
Til min stor dumhed kom jeg vil at lave en fejl på kortet da jeg fandt ud af jeg kunne koble flere kort sammen..(”den nemme løsning”) ved at lave en fream error blev alle kort deselectet og efter følgende sendte man det kort nummer man gerne ville snakke med på kablet

fream error blev lavet ved at sende ni 0 efter hinanden det vil sige ved at manipuler det data som den serielle port sendte ud.. men i .net er der lagt så meget sikker hed på at kommunikation skal være rigtig.

så jeg vil gerne hvis der er nogle der kan give mig nogle hints eller beder endnu noget code hvordan jeg manipuler stopbittet inden data bliver send på porten så jeg laver en fream error
Avatar billede capn Nybegynder
06. april 2007 - 11:55 #1
Det bliver nok ikke vildt let. Jeg ville lave en .dll fil i C som kan kommunikere serielt og som har en funktion til at lave de 9 0'er. Så kan du bruge .dll'en og funktionerne fra c#. Jeg tror ikke at .net frameworket kan sende sådan en ulovlig byte.
Avatar billede evj Nybegynder
06. april 2007 - 12:09 #2
hmm lydt som noget lidt hardcore.. der skal laves i .NEt er der nogle har inde som med betaling (Cool Cash) vil kunne skrive DLL for mig?? som virker
Avatar billede driis Nybegynder
06. april 2007 - 15:52 #3
Win32 API serial kommunikation er også en abstraktion over de egentlige bits der sendes på linien - idet man bruger CreateFile, WriteFile og venner til at skrive data til et handle, der repræsenterer COM porten.

Mig bekendt er du ude i at skulle skrive en ny driver til seriel kommunikation, hvis du vil have fuld kontrol over de bits der sendes på linien - og så vidt jeg kan se, er det netop det, du efterspørger.
Avatar billede driis Nybegynder
06. april 2007 - 15:52 #4
I øvrigt, her er et overview over Win32 API seriel funktionalitet:

http://msdn2.microsoft.com/en-us/library/ms810467.aspx
Avatar billede evj Nybegynder
06. april 2007 - 16:46 #5
allerede her er jeg jo langt over mit nivo.. så hvis der er nogle der har lyst til at skrive sådan en protokold eller kan sætte mit i forbindelse med et firma der kan skrive det for mig vil jeg være meget glad..
Avatar billede driis Nybegynder
06. april 2007 - 17:33 #6
Jeg ville egentlig gerne se på det - men jeg har af gode grunde ikke det samme hardware som dig, så det ville være umuligt for mig at teste.
Avatar billede evj Nybegynder
06. april 2007 - 17:43 #7
hvis det er noget du menre er jeg her jeg et demo set som jeg sider og leger med du kan lege med.. men send mig lige en mail på evj@veedfald.com så kan vi tage den der fra..
Avatar billede capn Nybegynder
09. april 2007 - 08:28 #8
En anden tilgang til problemet er at lave lave det på en PFGA. Det ville være super let. Du køber bare et simpelt PFGA board med to serielle porte. En til dit hardware og en til pc'en. Så programmerer du boardet i VHDL så det oversætter fra en lovlig protokol som du definerer til din 'ulovlige' protokol.

Det undrer mig faktisk at du overhovedet kunne sende en ulovlig checksum fra DOS, for så vidt jeg ved er serielkontrolleren indbygget i chipsettet på bundkortet og den tager sig af at generere checkbits.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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