求助一下各位大佬
arduino吧
全部回复
仅看楼主
level 4
断渊残红
楼主
使用arduino控制步进电机,每次使用serial.print进行串口通信,步进电机就会根据通讯的频率出现相应的卡顿。查了下gpt,说是serial是一种阻塞操作,让我用altsoftserial非阻塞通讯方式,我用了下还是不行。想问一下各位大佬们有没有什么好的解决方法
2023年12月05日 15点12分
1
level 12
啧嘖擇-
你串口波特率是9600,大概104us才能打印一个bit,还打印一堆字节,步进电机隔312.5us执行一次,肯定会卡。
建议先把波特率提高高到115200,这样86us一字节,再实现loop里每运行一次只打印一个字节,具体思路如下
整个全局char数组用来存字符串,用sprintf将要打印的保存到这个char数组里,然后在loop里遍历打印每一字节,打印玩再重新生成字符串,清空计数再重新打印。
2023年12月05日 16点12分
2
断渊残红
谢谢大佬,我去试一下
2023年12月07日 13点12分
level 7
高达你妹合金
其实没必要写这么复杂,控制步进的运行可以用tone()函数来发送固定频率的脉冲。
2023年12月06日 04点12分
3
断渊残红
好的,谢谢大佬
2023年12月07日 13点12分
1