Forum » Programiranje » Serial port COM 1 ?
Serial port COM 1 ?
mujagic ::
Zanima me če je možno dostopati direktno do UART registrov na PC tako kot pri mikrokontrolerjih npr. LPC2138 oz. šARM.
primer kode:
#define RBR (*(volatile unsigned long*)0x3f8)
...
int znak;
int main()
{...
znak=RBR; // branje registra
BRB |=0x00030003; // primer postavljanja bitov
}
ali bi zgornji ukazi operirali z registri.
Rad bi naredil preprost program (v c++) ki bere iz COM1 porta in potem prejeti znak pošlje nespremenjen nazaj. ali lahko v win XP dostopaš direktno do naprav.
lp
primer kode:
#define RBR (*(volatile unsigned long*)0x3f8)
...
int znak;
int main()
{...
znak=RBR; // branje registra
BRB |=0x00030003; // primer postavljanja bitov
}
ali bi zgornji ukazi operirali z registri.
Rad bi naredil preprost program (v c++) ki bere iz COM1 porta in potem prejeti znak pošlje nespremenjen nazaj. ali lahko v win XP dostopaš direktno do naprav.
lp
netanyahu ::
ali lahko v win XP dostopaš direktno do naprav.
Ne. Za dostop do serijskega porta (in drugih naprav) moraš uporabiti Windows API funkcije. Krajši opis najdeš v članku Windows Serial Port Programming (PDF), daljši pa v Microsoftovem Serial Communication in Win32. Iz prve roke vem, da opisana zadeva deluje, saj sem jo uporabil že v več programih.
mujagic ::
hvala si bom prebral, pa še nekaj ali se da dobiti kakšen DOS ki bi ga lahko zagnal na začetku ko prižgem računalnik, da bi imel možnost izbire med DOS oz. WIN XP. če bi zaganl dos namesto windowsov bi potem lahko direktno dostopal do naprav.
lp
lp
netanyahu ::
Taki zadevi se reče zagonski nalagalnik (boot loader). Najbolj popularen je verjetno odprtokoden GNU GRUB, ki se pogosto uporablja v kombinaciji z Linuxom. Za zaganjanje DOS in Windows sistemov je potrebno uporabiti 'chainload' način.
Vendar je kombinacija DOS + Windows problematična iz več razlogov:
1. Oba morata biti nameščena na prvi particiji prvega diska. GRUB ima sicer funkcijo virtual swap, ki navidezno zamenja vrstni red diskov.
2. DOS pri namestitvi brez opozorila formatira cel disk (vsaj če je prazen), tako da je potrebna velika previdnost.
Na tvojem mestu bi za poganjanje starih DOS programov uporabil VMWare Workstation (plačljiv, obstaja freeware server varianta) ali Microsoft Virtual PC (freeware). Oba omogočata priklop navideznega serijskega porta na fizičnega ali pisanje v datoteko.
Vendar je kombinacija DOS + Windows problematična iz več razlogov:
1. Oba morata biti nameščena na prvi particiji prvega diska. GRUB ima sicer funkcijo virtual swap, ki navidezno zamenja vrstni red diskov.
2. DOS pri namestitvi brez opozorila formatira cel disk (vsaj če je prazen), tako da je potrebna velika previdnost.
Na tvojem mestu bi za poganjanje starih DOS programov uporabil VMWare Workstation (plačljiv, obstaja freeware server varianta) ali Microsoft Virtual PC (freeware). Oba omogočata priklop navideznega serijskega porta na fizičnega ali pisanje v datoteko.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Merjenje prenosa na določen IPOddelek: Programska oprema | 1040 (868) | ABX |
» | Shell scriptaOddelek: Programiranje | 1439 (1043) | BigWhale |
» | windows 2000 in clipperOddelek: Operacijski sistemi | 1975 (1799) | primozb2005 |
» | Iz Linuxa v Windows -> MBR (strani: 1 2 )Oddelek: Operacijski sistemi | 4471 (3806) | WarMaker |
» | uninstall LinuxOddelek: Operacijski sistemi | 1026 (950) | Daedalus |