Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: 9 data pinni rinnakkaisportissa?

Sivun loppuun

pielinen [18.02.2007 17:25:11]

#

Onko mahdollista ohjata rinnakkaisportissa 9 1/0 pinniä?
Pitäisi saada 2D CNC jyrsimeen terän nostaja.

nomic [19.02.2007 17:44:09]

#

Mikähän kieli mahtaa olla kyseessä? QB, VB(/.NET)?

pielinen [19.02.2007 18:53:30]

#

vb.net(vb2008)

Quirzo [19.02.2007 19:08:47]

#

En oikein kyseisestä asiasta tiedä, mutta meinaako tämä että se olisi sisääntulo / maajohto tai vastaavaa?
http://www.thescripts.com/forum/thread349952.html

neau33 [19.02.2007 19:39:32]

#

Moikka pielinen!

Ohjelmoitavissa on...

RINNAKKAISPORTTI
Pinnit SPP Signaali ECP Signaali SISÄÄN/ULOS Toiminto
2-9 Data 0-7 Data 0-7 kyllä/kyllä 2-suuntainen dataväylä

Googlesta löytyy mitä vaan, kun käytät vaikkapa hakusanoina:
Parallel port control IO.DLL; Parallel port control WIN95IO.DLL...jne.

Imppaa IO.DLL mutkan kautta täältä

tkarkkainen [19.02.2007 19:48:12]

#

Tarkoitatko, että tarvitset yhdeksän kappaletta I/O-pinnejä, vai onko nyt tarkoitus käpälöidä pinniä numero 9? Pinni 9 näyttäisi olevan data 7, joten liikenne on mahdollista molempiin suuntiin sen kautta.

Jos taas tarvitset 9 kappaletta pinnejä, niin näyttäisi sekin onnistuvan. Nastat D0...D7 (pinnit 2...9) toimivat molempiin suuntiin, ja lopuista osa toimii sitten suuntaan tai toiseen. Noita on selitetty hieman tarkemmin esimerkiksi täällä.

VB.netistä en valitettavasti osaa sanoa mitään.

moptim [19.02.2007 19:51:27]

#

Kristallipallo sanoo, että kyseessä on 9 kappaletta pinnejä.

pielinen [19.02.2007 20:32:38]

#

Pystyn tällä hetkellä ohjata 8 i/0 pinniä, mutta tarvisin yhden pinnin lisää eli tarvisisin yhteensä 9 pinniä.(tämän hetkisen pinnit ovat 2-9)
Ja ohjauksee käytän inpout32.dll laajennusta.

zacura [19.02.2007 21:07:51]

#

http://www.doc.ic.ac.uk/~ih/doc/par/doc/regpins.html tuon mukaan näyttäisi ainakin pinnit 1,14,16,17 olevan myös outputteja, osa tosin invertoituja. Rekisterien selitykset löytyvät tuon linkin takaa.

pielinen [19.02.2007 21:18:07]

#

Just tämmöisiä linkkejä tarvitsin. Mutta vielä on se ongelma millaisella bineäri luvulla noita ohjataan?

zacura [19.02.2007 22:12:40]

#

pielinen kirjoitti:

Just tämmöisiä linkkejä tarvitsin. Mutta vielä on se ongelma millaisella bineäri luvulla noita ohjataan?

Datalinjoijen ohjaus onnistuu suoraan kirjoittamalla rinnakaisportin rekisteriin (esim. portti 0x378) luku väliltä 0-255.
Kontrollilinjojen ohjaus tapahtuu vastaavalla tavalla, mutta tällöin kirjoitetaan esim. porttiin 0x37A (0x378+2) mutta vain alimmat neljä bittiä huomioidaan. Esim C2 linjan ohjaus tapahtuu muuttamalla bittiä 3. Invertoidut linjat toimivat päinvastoin kuin rekisterissä oleva bitti eli jos rekisterissä on 1 ulostulo on looginen 0 ja päinvastoin.

pielinen [20.02.2007 15:42:34]

#

Miten tämä ohjaus käy vb.netissä?
Eli miten ohjaisin noita kontrollinjoja jos ohjaus koodi on datapitelle tämmöinen:

Module InpOut32_Declarations
    Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Short) As Short
    Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Short, ByVal Value As Short)
End Module
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Out(888, 4)
    End Sub
End Class

Ps. en oikeen ymmärtänyt mitä tuolla tarkoitit.

peran [21.02.2007 01:56:49]

#

Avaimet ymmärtämiseen. 888 == 378h, joten jotta pääsisit muuttamaan error ja muita bittejä pitäisi käyttää porttia 37Ah. Desimaaleina kyseinen siis on 890.

Tosin en nyt tähän hätään muista kummatko bitit ovat nuo alimmat, mutta bittejä voi siis muutella jotenkin seuraavasti.

Out(890, X)

X:n paikalle siis jonkun pinnin arvo. Zaguran esittämä bitti 2 on käsittääkseni 4 l. muuttamalla X:n 4 ja 0 väliä, vaihtuu pinni 16:n arvo 5 v:n ja 0 V:n välillä.

Wikipedia auttaneen ?
http://en.wikipedia.org/wiki/Parallel_port­#Port_addresses

neau33 [21.02.2007 05:42:29]

#

Mokka taas pielinen!

Out(890,2) 'C1 eli pinni 14 bitti ylös (invertoitu)

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta