Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Paralelni port i LED diode

[es] :: C/C++ programiranje :: Paralelni port i LED diode

[ Pregleda: 7744 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu



Profil

icon Paralelni port i LED diode23.08.2004. u 22:13 - pre 239 meseci
Da li neko može da mi kaže gde grešim… Pokušavam da pokrenem paralelni port. Ubo sam četiri led diode između D0 i D1, D2 i D3, D4 i D5 i između D6 i D7, a program je sledeći:

Code:

#include <stdio.h>
#include <unistd.h>
#include <asm/io.h>

#define BASEPORT 0x3bc /* lp0 */

int main()
{
    /* Otvaram port */
    if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}

    /* Šaljem na prvi bajt pota, redom od 0 - 256 */
    int i;
    for(i=0; i < 256; i++) {
        outb(i, BASEPORT);

        /* pauza */
        usleep(500000);
    }

    /* Zatvaram port */
    if (ioperm(BASEPORT, 3, 0)) {perror("ioperm"); exit(1);}

    exit(0);
}


E sad, diode bi trebale da se upale kada im se na jednu nožicu dovede 1, a na drugu 0, znači da bi dioda ubodena u D0 i D1 trebala da zasvetli kada pošaljem ili 1 ili 2, itd. (zbog polarizacije), ali ne događa se apsolutno ništa?!

[Ovu poruku je menjao Alef dana 24.08.2004. u 19:12 GMT]
 
Odgovor na temu

stalker
Branko Kokanovic
Beograd

Član broj: 11897
Poruke: 606
*.etf.bg.ac.yu



+2 Profil

icon Re: Paralelni port i LED diode23.08.2004. u 23:29 - pre 239 meseci
Koji OS?

Zar nije paralelni 0x378 ili 0x37a, ne secam se napamet?

Kako to bodes diode (ne znam sta ti je to d0,d1...), jesi li proverio da li sve katode idu do mase?
 
Odgovor na temu

blaza
n/a

Član broj: 961
Poruke: 743
*.vdial.verat.net



+3 Profil

icon Re: Paralelni port i LED diode24.08.2004. u 04:29 - pre 239 meseci
"LPT1 is normally assigned base address 378h, while LPT2 is assigned 278h".

Da bi LE dioda svetlila, mora se pravilno polarisati. Anoda mora biti na pozitivnijem potencijalu od katode. Struju kroz LE diodu je potrebno ograniciti na naki nacin. Sami drajveri izlaznih linija porta ogranicavaju struju na obicno 12mA? (sink/ source). Kada su LE diode inverzno polarisane ponasaju se kao slabe zener diode sa zenerovim naponom 3-5V, pa u odredjenim slucajevima inverznog polarisanja moze doci do ostecenja istih.
O_o
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu



Profil

icon Re: Paralelni port i LED diode24.08.2004. u 08:13 - pre 239 meseci
Aj, iz početka:
1) OS je Linux (naravno )
2) U HOWTO-u piše da je lp0 na 0x3bc, a meni je paralelni na lp0, bar koliko sam ja uspeo da provalim.
3) D0-D7 su izlazni pinovi paralelnog porta.
4) Pa jednostavno sam gurnuo LED u rupice paralelnog porta .
5) Ne znam zašto bi bilo bitno da katoda bude na masi, dovoljno je da pin u koji je ubodena anoda bude setovan, a pin u koji je ubodena anoda resetovan. Razlika potencijala između ta dva pina je onda 5V, što je dovoljno da dioda zasvetli. Ali probao sam i da ubodem katodu u masu, a anodu u neki od izlaznih pinova i opet se ništa ne događa?!
6) Proverio sam diode, rade…
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu



Profil

icon Re: Paralelni port i LED diode24.08.2004. u 08:33 - pre 239 meseci
Ipak je bio 378h . Hvala vam.
 
Odgovor na temu

stalker
Branko Kokanovic
Beograd

Član broj: 11897
Poruke: 606
*.etf.bg.ac.yu



+2 Profil

icon Re: Paralelni port i LED diode24.08.2004. u 11:38 - pre 239 meseci
Paralelni port rulz:)
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu



Profil

icon Re: Paralelni port i LED diode24.08.2004. u 18:04 - pre 239 meseci
E sad problem nastaje kada hoću da pokrenem ovaj program kao obican korisnik, a ne kao root. Prijavljuje mi:
Code:

ioperm: Operation not permitted

Čak i kada mu dodam sticky uid (chmod u+s program). Znam da postoji neka varijanta sa open, pa write i read, i onda dodam dozvolu korišćenja na /dev/štagod, ali nekako mi ne uspeva … U stvari, ja u /dev/ ni nemam lp0, lp1 ili bilo šta slično…

Neki predlog?
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu.



Profil

icon Re: Paralelni port i LED diode10.10.2004. u 00:20 - pre 237 meseci
Pojavio se još jedan problem. Hteo sam da ukombinujem ovaj program sa jednim c++
programom, ali mi prijavljuje:

Code:

port.cc:102: `ioperm' undeclared (first use this function)
port.cc:102: (Each undeclared identifier is reported only once for each function it appears in.)
port.cc: In function `int main()':
port.cc:138: `usleep' undeclared (first use this function)


O čemu se radi?
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu.



Profil

icon Re: Paralelni port i LED diode10.10.2004. u 12:45 - pre 237 meseci
Rešio sam problem tako što sam zamenio:

Code:
    #include <asm/io.h>


sa

Code:
    #include <sys/io.h>


?!

Ali se novi problem pojavio kada sam pokušao da program portujem na Windows kompajlirajući ga sa MinGW-om (čitav program je prikačen uz poruku). Tamo ne postoji sys/io.h. A prijavljuje mi da _outp nije definisano, kada ga kompajliram sa g++-om. Sa gcc-om sve odradi kako treba…
Prikačeni fajlovi
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: Paralelni port i LED diode16.10.2004. u 12:32 - pre 237 meseci
Viktore, moram da priznam da je ideja bas kul. Ja nisam elektronicar, niti sam imao prilike da isprobam kako sve ovo radi, ali verujem da bi se mogla napraviti neka zanimljiva stvar sa tim kodom (ako radi). :)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.ftn.ns.ac.yu.



Profil

icon Re: Paralelni port i LED diode16.10.2004. u 14:07 - pre 237 meseci
Meka mi je i rekao da bi tebe ovako nešto interesovalo, pa sam mu poslao kod, ali ne znam da li ti je prosledio.

Elem, sredio sam kod i sada radi na Win98, WinME (MinGW), Linux-u (gcc) i možda na FreeBSD-u i WinXP-u (nemam dotična dva, pa nisam ni isprobao), a mogao bih da ga implementiram i za Borland C, Turbo C, DJGPP, i Microsoft Visual C, ali me mrzelo da to radim, jer ih nikada ne koristim. Funkcije su, jelda, identične, samo je implementacija druga.

Napravio sam i jedno glupavo malo FLTK programče koje setuje i resetuje DATA portove koristeći te funkcije.
 
Odgovor na temu

drgncuca

Član broj: 53212
Poruke: 8
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: Paralelni port i LED diode18.02.2006. u 13:36 - pre 221 meseci
Ako si ovo probao da radis pod win XP ili pod win2000 nebih rekao da moze jer moras da radis preko inpout32.dll.Ako radis pod win98 onda jednostavno koristis outport(0x378,podatak); sa inkludom #include <stdio.h>.
Ako nadjes resenje za win XP ili 2000 molim te posalji mi na [email protected]
dr.cuca
 
Odgovor na temu

Confused Confused

Član broj: 91176
Poruke: 3
*.semcomaritime.dk.



Profil

icon Re: Paralelni port i LED diode11.04.2006. u 12:53 - pre 219 meseci
Pozdrav svima!!

malo da opet ozivimo ovu temu...............nadam se da nema ljutnje!!???! pregledao sam skoro sve thread-ove u nadi da cu naci nesto sto mogu iskoristiti ali bez uspjeha!!!

i ja sam poceo da se igram malo sa paralelnim port-om i odmah sam zapao u probleme.......tja nista neradi..

imam jednostavan program koji je nakon svih problema spao na svega 2-3 linije.... ali i dalje neradi


#include <stdio.h>
#include <conio.h>
#include <dos.h>
void main(void)
{
outportb(0x378,0xff);
getche();
}

i ovdje nema nista da se objasnjava cak za C - laika kao sto sam ja!!

tokom kompiliranje dobijem error koji kaze......tja nema puno opcija : "undefined function "outportb""!!???

btw: koristim Borland C++ 5 pod Win98!!!

isti tako outportb (i "_outp" i "outp" i "_outportb" i naravno "outportb" )funkciju mogu da nadjem u DOS header-u ali ih kompiler ne moze vec naci!!!????

PS:
"debug" pod Dos-om sa ovom komandom: -"o 378 ff" aktivira sve port pinove bez problema!!!!??!


Moze li ikako neko objasnjenje na ovo?? Moram priznati da me je sramota ovo postirati ali nemam izbora.... necu nikada ni nauciti!!!

puno pozdrava,
Confused

 
Odgovor na temu

Confused Confused

Član broj: 91176
Poruke: 3
*.semcomaritime.dk.



Profil

icon Re: Paralelni port i LED diode12.04.2006. u 07:40 - pre 219 meseci
zar niko nema ideja u vezi ovoga???
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: Paralelni port i LED diode13.04.2006. u 12:31 - pre 219 meseci
Ti si uvrstio header file u kojem se nalazi deklaracija outportb funkcije, ali nemas njezin kod. Njezin kod se nalazi u nekoj od biblioteka koje dolaze sa Borlandovim C++ 5. Moras tu bibiloteku nac, i ulinkat je zajedno sa svime, u projektu. Ne poznajem BCpp 5-icu, tako da ces morat se sam snac oko toga. Barem sam ti rekao o cemu se radi.

Citat:
Confused:
PS:
"debug" pod Dos-om sa ovom komandom: -"o 378 ff" aktivira sve port pinove bez problema!!!!??!


Sta je tu cudno? Sa Debugom mozes mijenjat datoteke na najnizem nivou, ili baratat s hardverom na najnizem nivou. Ti si tom komandom poslao FF bitove na adresu 378, koja je paralelni port. Debugom mozes i rucno zapisat nesto na disk, disketu, iako to nije preporucljivo, osim ako znas sta radis.

Debug je jako handy tool. Zato sta, recimo tvoj kod nece radit pod winNT, jer svi direktni pozivi prema hardveru se blokiraju, i moraju ic preko hardware abstraction layera. A to nije toliko jednostavno kao ove simple output funkcije. Postoje dodatne biblioteke...ali to je druga prica. Uglavnom, htjedoh rec da debug postoji i u winNT sistemima (NT4, 2000, XP...), a svaki direktan poziv kojeg radis preko debug-a ce se fino "konvertirat" i provuc kroz HAL. Tako da ti bez problema mozes testirat sta koja sekvenca bitova poslana na neku adresu tocno radi, bez da pises relativno zakomplicirani kod koji prolazi kroz HAL. "o 378 ff" radi bez problema i na winNT. Dok outportb(0x378, 0xFF) nema sanse da proradi.

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

Confused Confused

Član broj: 91176
Poruke: 3
*.esnxx5.adsl-dhcp.tele.dk.



Profil

icon Re: Paralelni port i LED diode14.04.2006. u 09:36 - pre 219 meseci
pozdrav Z@re,

djelimicno si u pravo....u svakom slucaju hvala na objasnjenju oko NT problematike....nisam uopste bio upoznat sa tim a namjeravam se igrati sa time!! (ps. probao sam debug-er pod Win NT i neradi :-)) imas li kakav dobar link oko NT systema i paralelnih portova??

get to the case:
Ja sam locirao i pototype funkcije outport-a i samu kodu funkcija ali nista neradi.
Nasao sam kasnije na borland faq-u da ver. 5 C/C++ kompajlera (koji kreira 32-bitni kod) da on uopste nepodrzava outport (i ostale out_ funkcije) iako se nalaze u biblioteci. te funkcije vaze samo na 16-bitnom kompileru (borland C++ ver 3). znaci nema teoretske sanse da ovo radi u svakom slucaju pod BC++ v.5.

Ipak sam uspio da upalim lampice uz pomoc inline assembler (TASM opcode) i sve radi ok. Znaci sami hardwerski interface sam uradio u asm-u a ostatak u C-u otprilike ovako:

main void()
{
// neka C koda .....


_asm {

mov dx,0x378
mov ax, 0xff
out dx,ax
}
sleep(10); // 10 sek. ON


_asm {

mov dx,0x378
mov ax, 0x00
out dx,ax // LED OFF
}
}

dobro jednostavno (On & Off) a i radi fino.... probao sam da to malo automatiziram u samom C-u gdje sam asm kodu uvezao u funkcije i dalje radi fino.
mogu da kontrolisem mali dc motor preko tastova. :-) Znaci moze se ovako iako nije elegantno.

pozdrav,
confused.



 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: Paralelni port i LED diode16.04.2006. u 19:24 - pre 219 meseci
Eto, pomocu tog inline assemblera mozes sam napravit winNT biblioteku i svoju outport funkciju ;)



Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Paralelni port i LED diode

[ Pregleda: 7744 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.