TODOPIC
Microcontroladores PIC => RTOS => Mensaje iniciado por: pajaro en 02 de Agosto de 2012, 15:49:35
-
Hola
despues de leer el hilo :
http://www.todopic.com.ar/foros/index.php?topic=15876.20
y probar algunas cosas, Formulo una pregunta:
es posible generar PWM por software mediante el uso de RTOS de ccs.
¿Como deberia de emfocar la cosa?
cxontrolar servos y hacer otras cosas mas..
se que el perido se repite cada 20ms,
tambine se cuanto tiempo tiene que estar en alto,
y despues de ese tiempo se pasa a estado abajo.:
esto seria:
le pongo en alto las salida, lo mado a dormir de 120us a 700us
entreganndo en ese tiempo el cpu para que hag otra cosa.
Tras currido ese tiempo vuelvo a la tarea y pongo en bajo ese led.
y eso se repite cada 20 ms.
Estoy en ello,... pero no tengo mucho exito..
-
Me parece que es complicarse, lo más sencillo sería usar un tick por medio de una interrupción de un timer. Vas hacer lo mismo y más eficiente que con un rtos donde no puedes controlar los tiempos de forma precisa.
Saludos!
-
Hola suky
- dejas caer entre lineas que el timer es mas preciso que rtos,
con el timer como controlas que cada 20 ms se sincronizan 4 servos y al mismo tiempo
atiendas a la interupcion del i2c y alguna otra cosa que pudiera venir.
Si rtos es como multitarea y timer es precision... dilema.. :?
timer o RTos?
Se admiten propuestas ..
Un Saludo
-
- dejas caer entre lineas que el timer es mas preciso que rtos,
:shock: Sin dudas!!!
Para leer:
http://www.todopic.com.ar/foros/index.php?topic=20918.0
http://picmania.garcia-cuervo.net/picc_servos_x_8.php
-
Hola Suky
ante un evente de interrupciones y prioridades
imagina que se esta ejecuntando dentro de la interupcion del i2c y llega al tiempo de los 20ms
para mandar sincronismo de los vervo, dejaria colgada la recepcion de datos del i2c.
u otro caso esta sincronizando los servos y se produce int del i2c que pasaria dejaria
colgado a los servos para asistir al i2c.
como adminsitras esos tiempo con los timer, eso es una locula no..
o eso se pude hacer de alguna forma.
Necesito un alguien que diga ahora tu y haz esto y ahora espera y ahora tu continuas..
que opinas de eso..no estoy loco... aun..
Un Saludo.
-
Le das prioridad al timer... O sea, si utilizas un PIC18 el de alta prioridad que sea el del timer. Si deja colgado I2C no afecta, mientras sea corto, porque el hardware se encarga de enviar o recibir el dato.
Tampoco es que si quieres manejar varios servos vas hacer un proyecto con múltiples fuentes de interrupciones más alguna lógica de control :undecided: