找回密码
 注册
关于网站域名变更的通知
查看: 239|回复: 2
打印 上一主题 下一主题

请教大家个问题CAN总线问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-25 16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
    我现在使用1个主机给2个从机发送数据,数据是电机的转动圈数,每个从机都控制一个直流电机,从机的电机执行完转动圈数后给主机一个信号,表示从机执行完这组数据了,主机接受到这个信号后再给从机发送下一组数据让两个电机同时运动,2个电机的圈数是一 一对应的。要求是必须每个电机都执行完上一组的数据后,主机才能 同时 给2个从机发送下一组数据,现在的问题是 每个电机的转动圈数是不同的也就是说 每个从机给主机的这个 执行完 信号并不是同时到达主机的,怎么才能让主机给2个从机同时发送信号呢?( R$ ]3 {* J' _- V  |$ Q7 W- x0 D
    我自己写了个程序但是没有实现我想要的功能
' {( s) K0 v* x, L0 w       i f ( 从机1执行完信号 && 从机2执行完信号 )
/ t1 z# @$ ?& F5 `- A+ e: {         {
/ V1 t1 @  Z4 O7 {             给从机1发送数据;6 p) l0 x: E4 C+ U$ F* z% V! t
             给从机2发送数据;6 ?( a7 e1 g+ Q8 B1 L/ I
         }
/ u/ \5 p' ~6 p1 W1 {+ T7 g4 b! f  p$ }" X+ A
+ |( U& ~9 E/ g& T2 O: _
" x) ?% L6 L" ^/ F/ [) h
我的其他想法是能不能使用 while()进行等待,不知道行不行  q4 E1 ^+ g+ K$ w) Y+ G  W8 p

" V6 ~: W' V$ I3 e想请各位大佬来指点指点,感激不尽!* O! S3 {8 R* F" x% \# Q* J

该用户从未签到

推荐
发表于 2020-3-25 19:06 | 只看该作者
CAN 总线是广播的,给主机给两个从机发送完指定圈数之后,再发送一个触发信号(或者叫启动信号),只要发一个信号,两个从机收到启动信号后,同时转动,可以达到同步的效果。
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-3-25 16:53 | 只看该作者
    & t) J! y6 w. O
    你这个if应该可以的,在发送完数据后应该复位执行完毕的标志。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-23 23:43 , Processed in 0.078125 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表