simulink embedded function setting

最开始定义变量buf_front

persistent buf_front                
if isempty(buf_front)   
    buf_front=0;
end

后面在引用这个变量的时候

rxt=data_buffer(1+mod(buf_front+[0:255],2*358));

会提示错误,这是由于embedded function中的变量引用规则引起的,buf_front已经被定义为double类型,此时再将它与一个向量相加,自然会引起类型不匹配的错误,改正如下:

buf_front*ones(1,256)+[0:255]

你可能感兴趣的:(function,buffer)