恭喜,你发布的帖子
发布于 2020-01-16 20:11:59
4楼
第一部分,plc分别向驱动器发送初始化命令,驱动器收到,并返回了数据,正确!第二部分,plc将pc的命令解析后分别将速度命令发送给驱动器,第一驱动器收到命分,plc将pc的命令解析后分别将速度命令发送给驱动器,第一驱动器收到命令,电机也转动了,驱动也返回数据了(通过串口助手检测到的),但是接收缓存区里没有数据。
1、P0、P1通讯口是使用不同的SMB,绑定不同的中断,你有正确配置了么,会不会P0、P1的SMB搞乱了?中断绑定搞乱了?
2、一般的RS485通讯协议吧,先完成当前的任务后才能进入新的任务,如果你在P0的中断函数里面不判断P1的任务状态直接切换P1的收发使能,P1通讯就不满足协议逻辑咯。
3、一般通讯任务都是放到主程序里面处理的,保证不同的通信口通讯不会影响到另外一个通信口正在进行的任务。
请填写推广理由:
分享
只看
楼主