Autor Tema: multitarea en PBP??  (Leído 5159 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
multitarea en PBP??
« en: 24 de Noviembre de 2005, 18:26:00 »
es posible hacer multitarea en PbPro??

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: multitarea en PBP??
« Respuesta #1 en: 24 de Noviembre de 2005, 23:20:00 »
A que te refieres con multitarea??? Lo que si puedes hacer es estar usando un PWM, una comunicacion serial, un LCD y un ADC "en paralelo" (no tanto asi pero a veces exagero) la cuestion es que para usar el PWM, el ADC y en Serial lo puedo hacer usando el hardware del PIC, mientras por software estoy mostrando en un LCD.

Si quieres usar solo software va a ser muy dificil ahcer cosas en paralelo, la unica forma es que uses el Hardware del PIC configurando sus respectivos registros.

No se si a eso te refieres a "Multitarea", pero es lo que mas me parece se le aproxima...

Un abrazo... Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: multitarea en PBP??
« Respuesta #2 en: 26 de Noviembre de 2005, 11:06:00 »
Yo tengo una controladora que permite lanzar hasta 10 procesos en paralelo si no recuerdo mal, pero de esto se encarga el sistema operativo que corre de fondo, que es el gestiona estos procesos mas los tipicos de lectura de puertos digitales y analogicos, la gestion del display y algun proceso mas como el puerto I/O para datos…. Por lo que el programa que realizo en “C” que daria incrustado en el sistema operativo como un proceso mas que accede a las variables o posiciones de memoria ya predefinidas por el sistemaop…. en basic como no tenemos este sistema operativo o programa que corre de fondo yo lo simulo colocando en las interrupciones los programitas que quiero que trabajen “paralelos (es un decir)” al programa principal…. Mas unas bases de tiempos que utilizo, para que hagan que ciertas rutinas del codigo principal se ejecuten solamente cada x tiempo, son rutinas que con que se ejecuten unas pocas veces por segundo es suficiente…en fin hay que ingeniarselas como se puede…
Saludos desde Granada, España.

Desconectado Y@el

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 415
RE: multitarea en PBP??
« Respuesta #3 en: 27 de Noviembre de 2005, 12:33:00 »
Escrito originalmente por dogflu66
Yo tengo una controladora que permite lanzar hasta 10 procesos en paralelo si no recuerdo mal, pero de esto se encarga el sistema operativo que corre de fondo, que es el gestiona estos procesos mas los tipicos de lectura de puertos digitales y analogicos, la gestion del display y algun proceso mas como el puerto I/O para datos…. Por lo que el programa que realizo en “C” que daria incrustado en el sistema operativo como un proceso mas que accede a las variables o posiciones de memoria ya predefinidas por el sistemaop…. en basic como no tenemos este sistema operativo o programa que corre de fondo yo lo simulo colocando en las interrupciones los programitas que quiero que trabajen “paralelos (es un decir)” al programa principal…. Mas unas bases de tiempos que utilizo, para que hagan que ciertas rutinas del codigo principal se ejecuten solamente cada x tiempo, son rutinas que con que se ejecuten unas pocas veces por segundo es suficiente…en fin hay que ingeniarselas como se puede…


Esta es la manera de hacer programación paralela, pero en el PIC, lastimosamente no poseemos una grandiosa pila, y es mas no poseemos instrucciones para poder disponer de ella. En conclusion creo q por eso en un PIC,por lo menos Gama media, no se puede hacer multitarea. Claro q eso a mi humilde forma de pensar que puede no ser correcta.

Atentamente

Yoel Ocmin

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
RE: multitarea en PBP??
« Respuesta #4 en: 27 de Noviembre de 2005, 19:49:00 »
dogflu66 puedes colocar parte de tu codigo que tienes en pbp para tener una idea de como llegar a ejecutar varios procesos en "paralelo"???. Alguien sabe de alguna pagina donde pueda conseguir informacion??

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: multitarea en PBP??
« Respuesta #5 en: 28 de Noviembre de 2005, 17:22:00 »
No trabajo sobre pbp mi basic es total mente contrario a la filosofía del pbp, pero la información que estoy recogiendo sobre el pbp indica que también se podrían activar las interrupciones para ejecutar determinadas rutinas x veces por segundo, claro a costa de robar este tiempo al programa principal… aquí tienes una valiosa información facilitada por los panas del foro…

http://miarroba.com/foros/ver.php?foroid=8826&temaid=4297187
Saludos desde Granada, España.

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: multitarea en PBP??
« Respuesta #6 en: 28 de Noviembre de 2005, 21:44:00 »
Hola compadres...

No se si estoy entendiendo mal o que, pero si creo que entiendo de lo que estan hablando pues creo que un ejemplo del amigo vszener en CCS puede darles una idea...

En este ejemplo se maneja un LCD y un teclado 3x4 con el mismo puerto es decir el B... por lo que tengo entendido lo que el PIC hace es una seleccion dinámica aunqnue no entiendo muy bien de que se trata, pero cuando pulso una tecla esta se muestra en el LCD por lo que supongo que el PIC esta trabajando en paralelo... osea haciendo una tarea doble...

Pues bueno espero no equivocarme y pues y hable tonteras perdonen que recien empiezo en este mundo de PICs Sonrisa Gigante


Bueno un abrazo desde EcuadorRebotadoRebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: multitarea en PBP??
« Respuesta #7 en: 28 de Noviembre de 2005, 21:51:00 »
Hola:

Pues me parece que se refiere a hacer paralelamente algunas tareas... como por ejemplo mientras se enciende y se apaga un led tambien comandar un motor... esto sin dejar de hacer ni la una ni la otra cosa.... Esta como para pensarlo, no? RollEyes

Desconectado pikman

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 682
RE: multitarea en PBP??
« Respuesta #8 en: 06 de Diciembre de 2005, 19:27:00 »
Bueno, no uso PBP, pero se pueden usar interrupciones como desde cualquier otro lenguanje, entonces podemos implementar utilizando estas algo parecido a lo que hace un RTOS,  por ejemplo utilizando un 16F628 a 4 mhz, tenemos un ciclo de instruccion de 1 microsegundo.

Entonces preescalamos el timer cero en 256, por lo que se desbordara cada 65,536 milisengundos, entonces activando la interrupcion del timer cero, puedo cololcar en el vector de interrupcion una rutina que lea el portb por ejemplo, entonces esta se ejecutara cada 65,536 milisegundos automaticamente, leyendo el portb y cargando este valor en una variable x.

El el loop principal puedo ocuparme por ejemplo de encender y apagar un led y que el retardo sea la variable que leo en el portb, no se si entiende la idea, de esta manera por ejemplo pueden leer los botones de encendido y apagado sin tener que depender del main loop.

Como siempre digo no soy el mas indicado para explicar, pero espero que sirva para aclarar el asunto, en el foro de C hay un debate de RTOS que deja mas que calro como se puede simular una ejecucion paralela, y como funcionan.

bueno espero como dicen, no haber liado mas el asunto.

saludos

ARIEL






saludos
PikMan

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: multitarea en PBP??
« Respuesta #9 en: 08 de Diciembre de 2005, 16:26:00 »
Hola:

Para aclarar un poco mas el concepto de Ariel:

Un procesamiento paralelo no significa que el micro ejecute por si solo 2 tareas al mismo tiempo. Recuerden una cosa :todavia la programacion sigue siendo lineal ,una tarea después de otra. Lo que si hacen los micros es funcionar muy rápido ,lo que nos permite dedicar un instante muy pequeño de tiempo a gran cantidad de código, que muchas veces en relación a los procesos que se manejan con el exterior ,no se notan los saltos entre las distintas tareas.-

Si queremos agilizar mas los tiempos podemos utilizar interrupciones,ejemplo tipico el popular windows: el micro de nuestra PC está manejando un monton de tareas llamadas a través de interrupciones :teclado,mouse ,video,etc.-

Pero para aliviar el trabajo del micro,existen los componentes externos al corazón del mismo.Ejemplo la generación de pwm a través de un módulo,la uart de comunicaciones ,o mas complejo utilizar un micro para otras tareas. volviendo a la pc: el video es controlado actualmente por un micro independiente, el mouse tiene su propio micro ,igualmente el teclado.-

Cuando la complicamos más y necesitamos tiempos muy rápidos es cuando aparecen los RTOS que son porciones de código muy optimizadas (por especialistas) para administrar eficientemente los procesos.-

Espero haber contribuido para aclarar algo .-
Saludos

Jorge

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
RE: multitarea en PBP??
« Respuesta #10 en: 09 de Diciembre de 2005, 20:28:00 »
alguien tiene alguna aplicación que haga uso de multitarea???

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: multitarea en PBP??
« Respuesta #11 en: 10 de Diciembre de 2005, 07:51:00 »
Aquí tienes algo de información. Hay seis partes del proyecto, este es el enlace de la parte primera. Es un RTOS en Basic bajo Protón. Es interesante la idea aunque no he estudiado a fondo el tema ni he probado.

http://users.picbasic.org//projects/BRTOS/BRTOS_PART1.htm

Saludos,
Ricky

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
RE: multitarea en PBP??
« Respuesta #12 en: 15 de Diciembre de 2005, 19:04:00 »
muy interesante! voy a estudiarlo, gracias!!

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
RE: multitarea en PBP??
« Respuesta #13 en: 31 de Diciembre de 2005, 16:17:00 »
LA VERDAD COMPARE LO QUE TU NECESITAS NO ES UN PIC SINO UN FPGA QUE SON LOS QUE EJECUTAN ESAS COSAS EN PARALELO O LO QUE QUIERAS PUES TRABAJAN CON LISTAS SENCIBLES EN CAMBIO LOS MICROCONTROLADORES O MICRO...CUALQUIERCOSA EN BASE A UNA RUTINA DE PROGRAMACION SECUENCIAL SI QUIERES EN VERDAD LO PARALELO UN FPGA Y ASUNTO ARREGLADO DONDE OBTERNER INFORMACION EN EL SUBFORO DE VHDLAvergonzado

Desconectado Nichita

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 86
RE: multitarea en PBP??
« Respuesta #14 en: 31 de Diciembre de 2005, 18:03:00 »
no, con el PIC es posible hacerlo, pero lo que quiero es conseguir más información sobre ello ya que las notas de aplicación de Microchip, pues como que no las he entendido muy bien, un saludo y feliz año a todosSonrisa Gigante