Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2009
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Angry primer proyecto con Mikro pascal no compila

Hola espero que alguien me pueda responder , ayer instale la demo de mikropascal y quice crear un proyecto que prenda unos leds en el puerto A pero no se mucho y recien empiezo a ver algo de este lenguaje y es por eso que escribo ! , mi problema es que saque de algun lado un pdf que tenia como titulo "mi primer proyecto" pero al intentar compilar me decia que DDRA no esta declarada , el codigo que copie del pdf fue

Código Delphi [-]
program 1;

begin

 DDRA := 0xFF;

  while true do
  begin
   PORTA := 0X00;
   Delay_ms(1000);

   PORTA := 0xFF;
   Delay_ms(1000);
  end;
end.

si alguien me puede ayudar estare muy agradecido .
Responder Con Cita
  #2  
Antiguo 30-12-2009
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
No conozco este MicroPascal, pero si te puedo decir que el Pascal estandar es un lenguaje fuertemente tipado, es decir, no puedes usar una variable si antes no has declarado su tipo.

Cita:
Empezado por gaston260 Ver Mensaje
... al intentar compilar me decia que DDRA no esta declarada , el codigo que copie del pdf fue


Código Delphi [-]program 1;

begin

DDRA := 0xFF;

while true do
begin
PORTA := 0X00;
Delay_ms(1000);

PORTA := 0xFF;
Delay_ms(1000);
end;
end.




si alguien me puede ayudar estare muy agradecido .
En Pascal tendrías que poner antes de usarla algo como esto:
Código Delphi [-]
var
  DDRA: Integer;
begin
 DDRA := 0xFF;
...

Un saludo
Responder Con Cita
  #3  
Antiguo 31-12-2009
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Muchas gracias ! y como podria usar un solo pin del 16f84a en mikropascal ?
Responder Con Cita
  #4  
Antiguo 01-01-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Primero tienes que definir si un pin de entrada/salida se usará como entrada o como salida. Esto se hace cambiando los bits del registro TRISx (vale para cualquier tipo de PIC).

Por ejemplo:

Código Delphi [-]
TRISA := $FF; // Definir todos los pines del registro A (RA0 a RA7) como entradas

o se pueden setear bits por separado:

Código Delphi [-]
SetBit(TRISA, 3);  // Colocar el bit 3 en estado alto (entrada). En este caso el pin RA3 se configura como entrada.

ClearBit(TRISB, 5); // Colocar el bit 5 en estado bajo (el pin RB5 se comportará como una salida)

TRISA := $FF; // Colocar todos los bits en uno (todos los pines del registro A como entradas)

También se pueden setear múltiples bits usando la notación binaria. Ejemplo:

Código Delphi [-]
TRISA := %00001111;

En la hoja de datos del PIC que vas a usar podés ver los registros que posee y el número de entradas/salidas disponibles.

Una vez definido un pin como salida, a través de SETBIT o CLEARBIT se puede cambiar el estado de ese pin. Por ejemplo:

Código Delphi [-]
Setbit(PORTA,0); // Colocar el pin RA0 en estado alto
Clearbit(PORTA,5); // Colocar el pin RA5 en estado bajo

Si el pin está configurado como entrada, puedes leer el valor con TestBit. Ejemplo:

Código Delphi [-]
Estado := Testbit(PORTA,3); // Leer el estado del pin RA3

Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 01-01-2010 a las 06:51:24.
Responder Con Cita
  #5  
Antiguo 01-01-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Muchas gracias lo voy a usar y comento mas luego ! , pero desde ya estoy muy agradecido ! , algun tutorial o manual en castellano sobre mikropascal abra ?
Responder Con Cita
  #6  
Antiguo 01-01-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Toda la documentación de Mikropascal está en inglés. No conozco documentación en español.

Hay algunos "puntos oscuros" como ciertos detalles en el manejo de cadenas, el ensamblador en línea (entre otros temas) que no están 100 % documentados. Igual revisando en el foro de Mikroelectronica encontrarás muchos "tips"
de utilidad.

Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 01-01-2010 a las 16:14:08.
Responder Con Cita
  #7  
Antiguo 01-01-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Hola ! tengo otro problema ! como puedo hacer para poner en un nivel logico 1 dos patas simultanes del 16f84a ?

trato de hacerlo pero estoy vastante perdido !

gracias !
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[Z80 Pascal] Proyecto de compilador Ñuño Martínez ASM y Microcontroladores 6 11-05-2010 14:37:47
Mikro Pascal 8051 JoseFco ASM y Microcontroladores 9 19-10-2008 00:43:50
primer programa y primer empleo josi La Taberna 36 17-07-2008 22:30:41
Comparativa entre Free Pascal 2.2.0 y Turbo Pascal 7.0 esocrates Varios 2 14-07-2008 14:56:24
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29


La franja horaria es GMT +2. Ahora son las 00:50:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi