这个不知道你的串口发送有没有问题,但是你的程序肯定有问题。
1、程序本身是分行的,每行必须是以回车为结束。
2、一行中可以包括多个以分号隔开的指令,但是每行最后一个指令后面不能有分号
3、每行的长度有限,对于2143来说,每行最多80个字符(包含最后的回车)
4、标号必须在行首。
您的程序只写了一行,单就这一点到无所谓,反正也不长。但是最后还有分号,中间还有标号(#LOOP1),这样就有问题了。
另外,在格式上修改正确之后,程序的控制流程还有点问题。
ST指令之后,就要执行PRX=2。建议在ST后面插入AM。ST是停止命令,是让电机开始减速停止,而减速停止本身是一个过程,是需要一定时间的。在这个过程没有结束前,PRX=2指令会出错。而程序中从ST到PRX=2中间只有一个标号,执行起来基本没有延时,除非X轴原本就不是在运动中,否则应该会出错。