manejo de tareas síncronas y asíncronas en AVR (Avrstudio V6)

0

Construyo un inversor trifásico ac / ac con atmega128 e IR2130 y la simulación está en Proteus y avrstudio V6, el problema es cuando ejecuto el comando de parada o cualquier comando (cambio de dirección o ...) paro sinusoidal para algunos Ciclos y después de eso continúan los trazados.

puede ver la salida de proteus aquí y el código fuente aquí: enlace

Supongoquelasoluciónestáenunproblemadetareassíncronas,loquesignificaquecuandollamoalasinterrupciones(presioneelbotónsuperior),elprogramaprincipaldejadetrazarlaformadeondasinusoidalyvaainterrumpirlossubprogramasparaquelasalidasecongeledurante40msyluegovuelvaafuncionar.

Entonces,¿cómopuedoejecutarvariastareasdeformasincrónicaparaatmega128oenavrstudioV6?

OpodríasermásfáciltrabajarconesteproblemaenelmicrocontroladorARM(keily...)

SalidasSPWMtrifásicasenOCR1A,OCR1B,OCR1C    Frecuenciaportadora=15.6KHz    Rangodefrecuenciasinusoidal=0.5-100Hzconpasode0.1Hz    ResoluciónPWM=8bits

FrequencyvariesbyappliedvoltagetoADC0(PF0)ADCVref=AVccADCresult<14--->outputoffADCresult:14-1009--->f:0.5Hz-100HzADCresult>1009--->f=100Hz

Actualización:CualquieraquehayatrabajadoconRTOS:

enlace

muchas gracias por su atención.

    
pregunta el-ss

0 respuestas

Lea otras preguntas en las etiquetas