FAQ | Points | Add... | Recent posts | Search | Register | Log in


c++ ( c plus plus ) lpt pod dos


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> c++ ( c plus plus ) lpt pod dos
Author
Message
vuker
Poziom 14
Poziom 14


Joined: 20 Feb 2003
Posts: 194
Location: ? z Wroclawia !

Post#1 Post from the author of the topic 20 Nov 2009 23:04   

c++ ( c plus plus ) lpt pod dos


Witajcie

Na początku proszę o konkretne info a nie komentarze jakim to jestem debilem...

Od dwóch dni staram się wysłać na port LPT i nie potrafię.
Pisze pod dev , potrzebuje by napisany program sterował lpt, wysyłał dane z pod konsoli a ściśle mówiac z pod dosa.

Znalazłem wstawkę asm
Code:

void zapisz(BYTE dana){
asm{
mov dx,0378h
mov al,dana
out dx,al
}
//ewentualne opuznienie
}

BYTE odczytaj(){
BYTE tmp;
asm{
mov dx,0378h
in al,dx
mov tmp,al
}
return tmp;
//jakis delay stc
}


Przy probie kompilacji zgłasza :


Kompilator: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Wykonywanie make clean
rm -f main.o Projekt1.exe

g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"

main.cpp:7: error: variable or field `zapisz' declared void
main.cpp:7: error: `BYTE' was not declared in this scope
main.cpp:7: error: expected `,' or `;' before '{' token

main.cpp:9:8: invalid digit "8" in octal constant
main.cpp:16: error: `BYTE' does not name a type[/code]
Back to top
   
Dżyszla
Poziom 24
Poziom 24


Joined: 15 May 2005
Posts: 4526
Location: Żory (kiedyś Opole)

Post#2 20 Nov 2009 23:14   

Re: c++ ( c plus plus ) lpt pod dos


1. Pisz kod w znacznikach [ code ]
2. Pisz poprawnie (słownik ort.!)
3. Nie ma zmiennej BYTE w gcc - jest co najwyżej unsinged char
4. jak co zrobić ze wstawką?
5. To spod konsoli (jakiego systemu?) czy spod DOSa?
Back to top
   
Google

Google Adsense


Post# 20 Nov 2009 23:14   





Back to top
   
wrych
Poziom 16
Poziom 16


Joined: 23 Jan 2008
Posts: 290
Location: Lesko

Post#3 20 Nov 2009 23:45helpful post - solution   

Re: c++ ( c plus plus ) lpt pod dos


Podam Ci przykład, jaki u mnie działa:
Code:
#include <iostream>
using namespace std;

int port=0x378;
int dane=0x01;
void outport(int port,int dane);

int main()
{

      outport(port,dane);
      cout <<"D0 ustawione na 1";
      getchar();
      return 0;
};

void outport(int port,int dane)
{
      asm(".intel_syntax noprefix");   //asembler - INTEL
      asm("mov dx, _port");           //do rej DX podajemy adres portu
      asm("mov al, _dane");           // do rejAL podajemy bajt danych
      asm("out dx, al");            // wysylanie
      asm(".att_syntax prefix");   //żeby nie było błędu kompilacji.
};

Skompilowane w DEV-C++, system Windows XP, porty odblokowane za pomocą "User Port". Przykład ten kiedyś znalazłem w sieci...

Dodano po 2 [minuty]:

Zauważ, że wstawki asemblerowe w DEV_C++ robi się nieco inaczej.
Back to top
   
vuker
Poziom 14
Poziom 14


Joined: 20 Feb 2003
Posts: 194
Location: ? z Wroclawia !

Post#4 Post from the author of the topic 21 Nov 2009 00:12   

Re: c++ ( c plus plus ) lpt pod dos


Wrych wielkie dzieki !

Tego oczekiwalem. Konkretnie i w 100% na temat.
Jutro podepne miernik i "pobawie" sie kodem.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 21 Nov 2009 00:12   





Back to top
   
wrych
Poziom 16
Poziom 16


Joined: 23 Jan 2008
Posts: 290
Location: Lesko

Post#5 21 Nov 2009 00:28   

Re: c++ ( c plus plus ) lpt pod dos


To było na elektrodzie: Link. Zobacz ten link.

Dodano po 5 [minuty]:

A kodem możesz pobawić się bez miernika. Wystarczy Ci "Parallel Port Monitor"
Link. Powodzenia...
Back to top
   
vuker
Poziom 14
Poziom 14


Joined: 20 Feb 2003
Posts: 194
Location: ? z Wroclawia !

Post#6 Post from the author of the topic 21 Nov 2009 09:03   

Re: c++ ( c plus plus ) lpt pod dos


Po skompilowaniu program "lpt"wiesza sie (oczywiscie pod konsola z pod xp'ka). Pod czystm dosem jest ok (freedos).
Back to top
   
ekomont
Poziom 13
Poziom 13


Joined: 14 Dec 2008
Posts: 124
Location: Katowice

Post#7 21 Nov 2009 12:01   

Re: c++ ( c plus plus ) lpt pod dos


Witam. XP nie ma dosa...to jest emulacja i w tym przypadku można zrobić to albo poprzez bibliotekę inpout32.dll, albo tak jak jest, z tą równicą, że instaluje się GIVEIO.sys...to pozwala na bezpośredni dostęp do portu...

Istnieje jeszcze 3 sposób...napisać program w borland C 2.0 lub 3.0 lub podobnym dosowym kompilatorem i kompilować jako dos-exe...wówczas działa pod xp
Back to top
   
vuker
Poziom 14
Poziom 14


Joined: 20 Feb 2003
Posts: 194
Location: ? z Wroclawia !

Post#8 Post from the author of the topic 21 Nov 2009 14:36   

Re: c++ ( c plus plus ) lpt pod dos


Jest kolejny problem- niestety tak skompilowany program nie uruchamia sie pod "czystym" dosem. Dos podaje komunikat ze program jest aplikacja nie dosowa ( wiadomo o co chodzi).


Wiec to co napisaem wyżej jest błedne.
Pod konsolą w xp,ku wiesza sie a pod dosem nie uruchamia sie.

Co dalej ?

Program ma dzialac pod dosem (freedos), do dyspozycji mam Dev-C++ (XP) , czy jest mozliwe napisanie takiej aplikacji przy takich warunkach?
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 21 Nov 2009 14:36   





Back to top
   
wrych
Poziom 16
Poziom 16


Joined: 23 Jan 2008
Posts: 290
Location: Lesko

Post#9 22 Nov 2009 09:06   

Re: c++ ( c plus plus ) lpt pod dos


Jeśli zdecydujesz się napisać to w Turbo Pascalu mogę nieco pomóc.
1) Ściągnij darmowy kompilator Turbo Pascala wersja 5.5
2) Odblokuj porty w XP za pomocą UserPort (znajdziesz w sieci wraz z opisem)
3) Napisz program i przetestuj go usiebie pod Windowsem (na początek zapoznaj się z tym Link)
4) Plik wykonywalny *.exe powinien bez problemu działać pod Dosem (w razie komplikacji możesz go skompilować pod Dosem - wystarczą trzy pliki tpc.exe, turbo.tpl i zrodło.pas oraz dyskietka na której je przeniesiesz)
Back to top
   
vuker
Poziom 14
Poziom 14


Joined: 20 Feb 2003
Posts: 194
Location: ? z Wroclawia !

Post#10 Post from the author of the topic 22 Nov 2009 12:07   

Re: c++ ( c plus plus ) lpt pod dos


Heh to zabawne bo wlasnie w nocy zabraem sie za pascala (freepascal).
Zabieram sie za sciaganie TP5.5.
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> c++ ( c plus plus ) lpt pod dos
Page 1 of 1
Similar topics
openOCD plus programtor ICDI plus płytka lm3s9b90 (13)
Willem plus adapter plus at89s8252 (1)
MS-DOS 7.10 FAT32 i LNF czyli obsługa długich nazw pod DOS (4)
C++ pod DOS i outportb() (2)
PCAD pod DOS (5)
kopilato c51 pod MS DOS (3)
Programowanie 89S52 z pod DOS - a? (4)
Borland c++ pod dos poszukiwany (2)
programator PIC- pod Dos-a i Linuxa (3)
Ustwaienie zmiennej środowiskowej w C pod DOS (1)

Page generation time: 0.083 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed