FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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
si alguien me puede ayudar estare muy agradecido . |
#2
|
||||
|
||||
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:
Un saludo |
#3
|
|||
|
|||
Muchas gracias ! y como podria usar un solo pin del 16f84a en mikropascal ?
|
#4
|
||||
|
||||
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:
o se pueden setear bits por separado:
También se pueden setear múltiples bits usando la notación binaria. Ejemplo:
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:
Si el pin está configurado como entrada, puedes leer el valor con TestBit. Ejemplo:
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. |
#5
|
|||
|
|||
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 ?
|
#6
|
||||
|
||||
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. |
#7
|
|||
|
|||
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 ! |
#8
|
||||
|
||||
Se puede cambiar el estado de más de un pin a la vez usando una máscara, cambiando los bits que desees. Por ejemplo:
Otro ejemplo, en este caso expresando el valor en binario:
Esto coloca varios pines en estado alto. Para invertir uno o más pines al mismo tiempo se puede usar XOR en lugar de OR. Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
#9
|
|||
|
|||
Haaaaaaaaaaaaaaaaaaa !!!!! muchas gracias amigo ! esto de intentar ser autodidacta es dificil jajaja por suerte hay gente con ganas de enseñar !
Gracias !!!! |
#10
|
||||
|
||||
Suerte con el aprendizaje y a no desanimarse.
Con respecto al PIC16F84, a esta altura me parece totalmente obsoleto. Si vas a usar un compilador de alto nivel como Mikropascal (que por más optimizado que sea el código generado, nunca se acercará al ensamblador "puro"), te recomiendo usar algo más moderno, como el PIC16F648A, que no es mucho más costoso pero tiene más prestaciones (incluyendo más memoria), lo que lo hace ideal como "entry level". ¿ Programar en ensamblador ? Hoy en día trato de evitarlo en la medida de lo posible, y más teniendo excelentes compiladores como el citado Mikropascal. Aquí está la hoja de datos del PIC16F648A: http://ww1.microchip.com/downloads/e...Doc/40044G.pdf Como se puede apreciar, a pesar de ser un microcontrolador pequeño, tiene prestaciones que están disponibles normalmente en modelos más grandes. Tiene USART, tres temporizadores, PWM, dos comparadores, 16 pines de E/S. Saludos de parte de otro autodidacta !!!
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. Última edición por rretamar fecha: 03-01-2010 a las 17:17:41. |
#11
|
|||
|
|||
Gracias por tomarte el tiempo de editar la respuesta ! , y voy a tomar tus consejos aunque solo soy un jobista jajaja tal vez un dia aga algo interesante porque me apasiona y mas conociendo a delphi !
|
#12
|
|||
|
|||
tengo un problema ahora ! mikropascal me dice 1:1 E-0 Linker error: 13: bad bit number el error se produce si saco
Código:
while true do Begin *** End; Código:
while true do Begin while TestBit(PORTA,3) = 1 Do // pregunto si la pata 2 esta en nivel alto // si lo esta entonces Begin *** End; |
#13
|
||||
|
||||
¿ Podrías postear el código fuente completo ?.
Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
#14
|
|||
|
|||
perdon lo borre pero intento generar de nuevo el error con mikropascal pro 2009 y no lo hace !! voy a volver a instalar mikropascal 8.0.0.1 para ver si de nuevo me genera el error !
era algo asi el codigo Código:
program probar1; { Declarations section } begin SetBit(TRISA, 3); SetBit(TRISA, 2); begin while true do begin while TestBit(PORTB,3) = 1 Do begin PORTA := PORTA Or %00010010; end; end; end; begin while true do begin while TestBit(PORTB,2) = 1 do begin PORTA := PORTA Or %11101101; end; end; end; end. gracias ! Última edición por gaston260 fecha: 06-01-2010 a las 06:40:14. |
#15
|
|||
|
|||
Bue resulta que ni el mikropascal 8.0.0.1 me genera errores ni el pro tampoco !
el codigo es este program probar1; { Declarations section } begin SetBit(TRISA, 3); SetBit(TRISA, 2); {ClearBit(TRISB, 7); ClearBit(TRISB, 8); ClearBit(TRISB, 9); ClearBit(TRISB, 10); ClearBit(TRISB, 11); ClearBit(TRISB, 12); //ClearBit(TRISB, 13); } TRISB := %00001111; begin while true do begin while TestBit(PORTA,3) = 0 Do begin PORTB := PORTB Or %10010010; end; //end; //end; //begin //while true do //begin while TestBit(PORTA,2) = 0 do begin PORTB := PORTB Or %11101101; end; end; end; end. Última edición por gaston260 fecha: 06-01-2010 a las 07:39:39. Razón: porque escrbi mal el codigo |
#16
|
||||
|
||||
Entonces...¿ todo funciona ?
Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
|
|
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 |
|