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

1 view (last 30 days)
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 Comments
Jonathan Lee
Jonathan Lee on 5 Apr 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...

Sign in to comment.

Answers (0)

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!