TODOPIC
FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: Sispic en 05 de Agosto de 2003, 15:03:00
-
Existen algunos compiladores pascal , pero este creo que puede ser interesante , no lo he probado mucho pero creo que su autor esta haciendo un buen trabajo .
http://www.pas2pic.tk/
Por cierto no se si utilizan el pascal , como por ejemplo el delphi .
No dire que sea mejor ni peor que bisual basic , pero se hacen unos exe,s very ok.
.
Lo digo por si mereceria la pena iniciar un sub foro como el de visual basic .
Enfin Nomenrollo +
saludos .
-
Hola Sispic, acepto tu propuesta, si hay mas interesados en este lenguaje, no tengo problemas en crear un nuevo subforo....
espero noticias de mas usuarios ok?
Norberto
-
Buenas no se si han hecho un nuevo subforo pero yo me he iniciado en el mundo de delphi y quise manejar el puerto paralelo asi que para el que quiera aqui va un programita para comunicarse con dicho puerto y que anda en todos los sistemas incluido winxp.
Lo primer buscar en internet la libreria inpout32.dll (ojo esta libreria debe ocupar 32.768 bytes para que funcione bien en todos los sistemas ya que hay una libreria inpout32.dll que ocupa menos y no la he podido hacer andar en winxp y win2000)
lo siguiente es: o copiar la libreria a la carpeta del sistema c:windowssystem32 o en su defecto dejarla dentro de la capeta donde se encuentra el programa, creo que hay otra manera que es compilando la libreria dentro de nuestro ejecutable pero personalmete no la he probado.
aqui les pongo un programa que en el formulario hay dos botones y con uno de ellos ponemos el byte de datos (D0 a D7) en alto (si pusieramos leds conectados a resistencias a dichos pines se prenderian) y con el otro boton a esos pines los ponemos en bajo (se apagarian los 8 leds) hay tambien un label que muestra la lectura de el byte de status.
Aqui va el codigo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function inportb(EndPorta: Integer): BYTE stdcall; external "inpout32.DLL" name "Inp32";
procedure outportb(EndPorta: Integer; Valor:BYTE); stdcall; external "inpout32.DLL" name "Out32";
procedure TForm1.Button1Click(Sender: TObject);
begin
outportb($378,255); //pone el byte del puerto paralelo D0...D7 en alto (5 volts)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
outportb($378,0); //pone el byte del puerto paralelo D0...D7 en bajo (0 volts)
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
Label1.Caption := IntToStr( inportb($379) ); //lee el byte de STATUS
end;
end.
Hace poco me encontre con una pagina en la que un programa en delphi se comunica con un pic 18F4550 a travez del puerto USB para manejar un motor paso a paso con el codigo fuente en delphi, para el que le interese se encuntra en esta direccion:
http://www.sixca.com
Bueno espero que les sea util.
-
Muy utiles los ejemplos andesgui

-
Gracias Sispic.
Por cierto felicitaciones por ese software programador llamado winpic800 tan hermoso util que has hecho, veo que lo programaste en delphi 3.
llego a mis manos un JDM programmer y con el icprog no podia grabar el 18f2550 pero con el winpic salio andando de maravilla.
Lastima que no he podido hacer andar el gtp_usb_lite.
En cualquier momento pongo un ejemplo de como prender los leds conectados al puerto paralelo y que sigan la secuencia parecida al auto fantastico (knight rider)
y si puedo, manejo de un motor paso a paso.
que les sea leve!
-
Holas:
A mi me enseñaron Pascal hace mucho tiempo...
, y si mal no recuerdo es muy parecido a Borland C (Bueno o algo almenos), las instrucciones no cambian mucho, tambien se utiliza el punto y coma al final de una istruccion y ya no las llaves sino Begin y end el Uses para las librerias y algunas otras sentencias... no creo haberme olvidado mucho... 
For i:=1 to i<= 20 do
begin
-
-
-
end
repeat
i:=i+1;
-
-
-
until i=20;
Creo que era algo asi... espero...
Tengo que revisar mis apuntes....
Por lo de la libreria inpout32.dll yo la tengo y funciona muy bien menos en los SSOO basados en NT... luego me consegui un ocx... no recuero el nombre del archivo y con ese funciona en cualquier SSOO... adicionalmente e probado la libreria IO.dll y esta tambien funciona para todos los SSOO pero todo esto lo he hecho en VB tambien he hecho pruebas enm C++ pero solo en 98 y ME en los otros no va....
-
Te repito LordLafebre:
la libreria inpout32.dll debe ocupar 32.768 bytes para que funcione bien en todos los sistemas.
Si no la consigues y la quieres te la mando para que la pruebes.
A mi me andubo en winxp, win2000 y win2003 server
-
Hola:
Bueno me interesa esa libreria, me la puedes enviar a g_lafebre@yahoo.com...
Gracias...