我现在使用CAN总线1个主机给2个从机发送数据,数据是电机的转动圈数,每个从机都控制一个直流电机,从机的电机执行完转动圈数后给主机一个信号,表示从机执行完这组数据了,主机接受到这个信号后再给从机发送下一组数据让两个电机同时运动,2个电机的圈数是一 一对应的。要求是必须每个电机都执行完上一组的数据后,主机才能 同时 给2个从机发送下一组数据,现在的问题是 每个电机的转动圈数是不同的也就是说 每个从机给主机的这个 执行完 信号并不是同时到达主机的,怎么才能让主机给2个从机同时发送信号呢?
我自己写了个程序但是没有实现我想要的功能
i f ( 从机1执行完信号 && 从机2执行完信号 )
{
给从机1发送数据;
给从机2发送数据;
}
我的其他想法是能不能使用 while()进行等待,不知道行不行
想请各位大佬来指点指点小弟,感激不尽! |