canfestival中 通信问题 和 多个驱动器控制问题
通常情况下,用canfestival控制一个驱动器是没有问题的.
但是如果用canfestival去控制多个驱动器,可能会有卡壳的现象.

可能出现的现象是死机,单片机不会发送数据,驱动器也没有数据的返回.
还有可能是sdo配置pdo总是失败.
解决方法:

如果sdo指令总是失败,可能是因为有其他的东西干扰.
比如,sync. 因为要发送sdo,就要进入到初始化模式.

初始化模式下,sync也会有发送,所以,需要关闭sync(canfestival库函数有提供).
配置完成后,再进行sync打开.
sdo的发送也要注意配置参数的位数.有时候位数不对也会导致出问题.
sdo发送的时候,最好加一些延迟,否则可能会有发送不出去的时候.
要把sdo的超时时间调大一些.
sdo发送如果有一条有问题,那么程序就会卡死.
即使重新调用,也并不会发送.
重新调用sdo,并不会发送.原因有检测是否发送完成(这个必须要加的,
否则会导致一些sdo发送不出去).

2.多个驱动器的问题.
驱动器向外发送tpdo,要错时打开,不能同时让驱动器进入到star状态.
同时进入,就会导致驱动器同时向外发送数据.这样可能会给总线造成很大的压力.
导致通信出现问题.(需要结合自己使用的驱动器和自己搭建的环境)

3.单片机发送多个pdo,控制多个驱动器
如果要控制多个驱动器,就需要发送多个控制指令.
在canfestival程序中,最好用sync模式发送pdo,
这样多个pdo都是按照sync的时序走的,会更加紧凑和节省时间.