我正在尝试使用S函数(C语言)在Simulink中创建一个闪烁过程,我需要发送一些帧,并且两个连续帧之间的时间应该比较200毫秒。我该如何实现这个等待时间?是否有可能实施它?
答案 0 :(得分:0)
如果要每200ms更新一次,请将S-Function放入每200秒触发一次的子系统中。
答案 1 :(得分:0)
您可以在下面找到我在该功能中执行的步骤:
1.create first frame
2.send first frame
3.save the time when I send first frame
4.if(current_time - time_send_FF == x ms)
5. calculate nr of consecutive frame
6. for each consecutive frame
7. create consecutive frame
8. send consecutive frame
9. save the time when I send consecutive frame
10. if(current_time - time_send_CF == x ms)
11. jump to step 6
else
12. check again if(current_time - time_send_CF == x ms)
else
13.check again if(current_time - time_send_FF == x ms)
问题是我无法存储发送第一个/连续帧的时间,因为即使我使用全局DWOrk / RWork数组,它也在不断递增,当我尝试在current_time和time_send_FF之间进行区分时,结果总是0。 我可以使用时钟块作为输入来访问系统时间。我应该尝试什么其他方法...... 谢谢!