Model Error: "cannot be defined to be a periodic function-call block because it has an asynchronous rate."

1 vue (au cours des 30 derniers jours)
Hello Everyone,
I'm using Embedded Coder for a motor control appliation, and I'm running to this error message:
The triggered subsystem "cannot be defined to be a periodic function-call block because it has an asynchronous rate."
I get this error for the triggered subsystem that I'm using in my model. This subsystem is triggered by a hardware interrupt block that uses the ADCINT interrupt to call the subsystem. The subsystem contains code for read resolver registers, and I want this code to run right when the ADC posts the EOC interrupt, which I assumed is called ADCINT (CPU:1, PIE: 6 for TI's F28335).
Now, I've seen other posts on this topic, and the usual response is 'you didn't set the trigger block's sample time type to be triggered!' Well, I have that selected, and I still get this error, so I'm at a loss for what is wrong here.
Does anyone know how to go about solving this problem?
Thanks!
  2 commentaires
Jonathan Lee
Jonathan Lee le 5 Avr 2013
I think I might have the answer: any blocks inside the triggered subsystem must have inherited sample times. I had an s-fn block with a previous sample time, and this error above was being thrown because of that.
I got this info from the Help file's Embedded Coder section titled: 'Asynchronous Interrupt Processing'
Maybe this info will help someone else out there...
Jorge
Jorge le 1 Mai 2013
Thank you! I had the same issue and this solved it for me.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by