Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Crear un sistema operativo con el PIC 16F877


       



#11  Gracias por entender ahora
rachet

Registrado: 18 Oct 2005
Mensajes: 12
citar
Bueno ahora si puedes ayudarme... me disculpo por todo

#12  
maunix
Colaborador
Registrado: 22 Oct 2005
Mensajes: 649
Ubicación: Cordoba, Argentina
citar
rachet escribió:
Bueno me disculpo si piensa que estoy promiando no lo estoy soy Ingeniero de sistema lo que estamos tratando de hacer en nuestro proyecto es el diesño de un sisstema operativo para el pic 16f877, tenemos la mayoria de las funciones, pero hay que tranformar las funciones en subrutina para que estas sean llamadas por una funcion principal el problema que se tiene es cada ves que se llame una funcion siempre se tiene que tener un Registro adiccional, el poco conocimiento de manejo de lenguajes de Pic es los que me tiene barado solo estoy pidiendo ayuda para poder armar mi proyecto si se los explico con un programa en un lenguaje no entenderia bueno es lo siguiente

funcion principal
{
intruccion para llamar al registro adicional y las otras funciones
}

funciones convertidas en subrutina
subrutina de leer en memoria eepron
{
}
subrutina de escribir en memoria eepron
{
}
etc
la unica que nos falta y creo que para mi conceto es la de funcion de red que solo abarca la capa 2 del modelo OSI osea la de enlace.

Gracias Por su atencion y Me di9sculpo


No estuve visitando el foro eso es todo.

De todas formas... sigo sin entender!!!


por ejemplo: ¿se llame una funcion siempre se tiene que tener un Registro adiccional ?

Te refieres a llamar a funciones con parámetros???? o a subrutinas con parámetros? Este es tu punto?

#13  
rachet

Registrado: 18 Oct 2005
Mensajes: 12
citar
Para llamar a una funcion dentro de otra siempre debes tener un registro auxiliar para que no se pierdan los datos y estas funciones se traforman en subfunciones llamadas subrutinas

#14  
maunix
Colaborador
Registrado: 22 Oct 2005
Mensajes: 649
Ubicación: Cordoba, Argentina
citar
rachet escribió:
Para llamar a una funcion dentro de otra siempre debes tener un registro auxiliar para que no se pierdan los datos y estas funciones se traforman en subfunciones llamadas subrutinas


Pues claro. Esto no es física de cohetes, es programación básica.

El punto es que recien ahora despues de unos 5 posts de cada uno, he entendido que desean hacer.

Y lo que necesitan hacer es una pila por software. En la pila se mandan los datos antes de entrar a la subrutina "PUSH" (parámetros) y en la subrutina hacen la extracción de los datos "POP".

Eso es simplemente lo que necesitan, una pila por software.

Una función es también una subrutina así que no hay tal diferencia. De hecho ambas son llamadas con parámetros y tiene códigos de retorno.
El agregado de una función simplemente tiene la finalidad de devolver un valor.

Para la pila deberán reservar una buena sección de memoria destinada solo a ella, y que tenga espacio suficiente como para almacenar todas las llamadas recursivas que hagan a subrutinas. De este modo se garantiza que no se sobreescriba la memoria que pertenezca a otros datos.

#15  jejeje
zoniko

Registrado: 15 Nov 2005
Mensajes: 6
citar
Lo unico que tienes que hacer es declarar tu subrutinas para eso lo unico que tienes que hacer es:


main
call fulanito
goto main

fulanito
molw 0x00
movwf var
return

END

Las subrutinas o funciones tienen que ser declaradas dentro del programa principal o son llamadas solamente por la instruccion call, es importante que en cada funcion al finalizar dicha funcion pongas return.

#16  Re: jejeje
maunix
Colaborador
Registrado: 22 Oct 2005
Mensajes: 649
Ubicación: Cordoba, Argentina
citar
zoniko escribió:
Lo unico que tienes que hacer es declarar tu subrutinas para eso lo unico que tienes que hacer es:


main
call fulanito
goto main

fulanito
molw 0x00
movwf var
return

END

Las subrutinas o funciones tienen que ser declaradas dentro del programa principal o son llamadas solamente por la instruccion call, es importante que en cada funcion al finalizar dicha funcion pongas return.


Amigo creo que no estas reflejando lo que quiere hacer rachet.

De la forma que tu expones no pasas ningun parámetro.

Para un SO que requiera llamar a subrutinas desde otra subrutina en forma genérica la mejor forma es la pila.

#17  
rachet

Registrado: 18 Oct 2005
Mensajes: 12
citar
Bueno me disculpo si estaba un poco molesto lo que pasa es que no habia mucho tiempo para entregar si quiera algo lo que hicimos fue transformar las funciones en subrutinas quiere decir que al final de cada funcion las retornamos a la funcion pri¡ncipal donde esta se llamaba, agradesco mucho por la ayuda y los beneficios prestados por ustedes y esta pagina, claro ahora vamos a tratar de aprender un poco mas de los circuitos y celulares y la programciones de pines para cosas que dejen utilidad a nuestra vida no dinero sino como un poco de tiempo y sin mucho esfuerzohacer las cosas mas faciles.

Gracias

#18  
maunix
Colaborador
Registrado: 22 Oct 2005
Mensajes: 649
Ubicación: Cordoba, Argentina
citar
rachet escribió:
Bueno me disculpo si estaba un poco molesto lo que pasa es que no habia mucho tiempo para entregar si quiera algo lo que hicimos fue transformar las funciones en subrutinas quiere decir que al final de cada funcion las retornamos a la funcion pri¡ncipal donde esta se llamaba, agradesco mucho por la ayuda y los beneficios prestados por ustedes y esta pagina, claro ahora vamos a tratar de aprender un poco mas de los circuitos y celulares y la programciones de pines para cosas que dejen utilidad a nuestra vida no dinero sino como un poco de tiempo y sin mucho esfuerzohacer las cosas mas faciles.

Gracias


Bueno, que bueno que hayas podido conseguir solucionar tu problema.

De todas formas, tampoco te entendí esta frase jajajaja.

Realmente el castellano puede parecer simple para los hispano hablantes pero considero que hay grandes diferencias de país a país. Tal vez para tu país tu oración es un mensaje claro, para mi son unn monton de palabras confusas. Traté de hacer un esfuerzo pero realmente me cuesta entender, supongo también algo de culpa hay de mi parte :D 8)

#19  
sterling ader. de jesus

Registrado: 06 Dic 2005
Mensajes: 1
citar
hola que tal
creo que lo que intentas decir es :
como hacer llamar la sub_rutinas una vez que las creas ?
si es esta la pregunta ,

1ro) crea tu programa principal y agrega las sub_rutinas al mismo.

recuerda que para ejecutar las sub_rutinas solo tienes que hacer uso de las intrucciones?



call n(para llamar la subrutina , donde x es el nombre de la sub_rutina que deseas llamar)

return(para retornar al cuerpo del programa una vez se halla concluido la sub_rutina)

goto (es una llamada incondicionar )........


-*-----------------------------------------


me gustaria saber el tipo de programador que estas implementando para programar
el pic 16f877.... circuito electronico .. por favor...

bay........suerte

#20  
maunix
Colaborador
Registrado: 22 Oct 2005
Mensajes: 649
Ubicación: Cordoba, Argentina
citar
Jesus creo que has caido medio offtopic. Este hilo se terminó hace rato y la verdad nunca supieron ser claros en lo que necesitaban.

Eso que tu planteas es simplemente una llamada a subrutina

Con respecto al programador de pic, hay muchos, yo personalmente uso el picstartplus de microchip , pero hay varios otros que funcionan bien. El más economico y que funciona + o - bien para proyectos amateur es el JDM programmer, hay muchos similares y 'copiados' que hacen exactamente lo mismo.

Para programar usas el software ICPROG o WINPIC800

Tambien hay varios hilso aqui que trata del tema. te invito a que hagas una busqueda

Saludos

 Responder





 Temas de interés 
El tema está cerrado y no puedes editar mensajes o responder Anuncio: Como solicitar ayuda en proyectos de electrónica
No hay mensajes nuevos Revista de Informatica, Electrónica y Cultura general
No hay mensajes nuevos Soldadora de arco electrónica
No hay mensajes nuevos Puesta a tierra placa electrónica (PCB) en aparato portatil.
No hay mensajes nuevos Valvula electrónica de vacío

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||