Onko mahdollista ohjata rinnakkaisportissa 9 1/0 pinniä?
Pitäisi saada 2D CNC jyrsimeen terän nostaja.
Mikähän kieli mahtaa olla kyseessä? QB, VB(/.NET)?
vb.net(vb2008)
En oikein kyseisestä asiasta tiedä, mutta meinaako tämä että se olisi sisääntulo / maajohto tai vastaavaa?
http://www.thescripts.com/forum/thread349952.
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.
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.
Kristallipallo sanoo, että kyseessä on 9 kappaletta pinnejä.
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.
http://www.doc.ic.ac.uk/~ih/doc/par/doc/regpins.
Just tämmöisiä linkkejä tarvitsin. Mutta vielä on se ongelma millaisella bineäri luvulla noita ohjataan?
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.
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.
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
Mokka taas pielinen!
Out(890,2) 'C1 eli pinni 14 bitti ylös (invertoitu)
Aihe on jo aika vanha, joten et voi enää vastata siihen.