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

2 次查看(过去 30 天)
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 个评论
Jonathan Lee
Jonathan Lee 2013-4-5
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...

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deployment, Integration, and Supported Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by