
Embedded matlab function for trigger generation
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to write an Embedded Matlab function with 2 inputs and 1 output.
Input1: an integer Input2: a trigger Output1: a triggered rectangular impulse, the number of its waveforms is determined by input1.
I need this to generate some trigger signals with a determined number.
For example, if input1 = 10 then the output shall generate 10 triggers. These 10 triggers will be used to trigger the Queue block so that I can control how many elements can be accepted by the Queue block.
The code is following:
function y = fcn(u1, u2)
y = 0;
if u2 == 1
for i = 1:u1
if y == 0
y = 1;
else
y = 0;
end;
end;
end;
But it outputs only 0. Must I insert some delays?
Thanks Senmeis
0 个评论
采纳的回答
Azzi Abdelmalek
2012-10-10
编辑:Azzi Abdelmalek
2012-10-10
the loop in your matlab function will only generate the last value of y.
try this

with matlab function
function [y,compt] = fcn(yp,u1,u2,comptp)
%#codegen
compt=(comptp+1)*u2
if yp==0 & compt<=u1
y=1
else
y=0
end
0 个评论
更多回答(1 个)
Owen
2012-10-11
1 个评论
Azzi Abdelmalek
2012-10-11
I suggest that you accept the answer if it answers your first question, then repost another question
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!