amobbs.com 阿莫电子技术论坛

标题: 用stc15w和旧光驱移植arduino写字机GRBL之十:串口数据接收解析 [打印本页]

作者: XTXB    时间: 2019-7-21 17:42
标题: 用stc15w和旧光驱移植arduino写字机GRBL之十:串口数据接收解析
本帖最后由 XTXB 于 2019-7-21 20:25 编辑

用stc15w4k32s4和旧光驱移植arduino写字机GRBL连载:
用stc15w4k32s4和旧光驱移植arduino写字机GRBL之一:机架搭建
https://www.amobbs.com/thread-5701202-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之二:PCB制作
https://www.amobbs.com/thread-5701573-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之三:Bresenham算法
https://www.amobbs.com/thread-5701994-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之四:FIFO算法
https://www.amobbs.com/thread-5702730-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之五:G_Code
https://www.amobbs.com/thread-5702784-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之六:运动控制motion_control
https://www.amobbs.com/thread-5703165-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之七:前瞻算法1
https://www.amobbs.com/thread-5703989-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之八:前瞻算法2
https://www.amobbs.com/thread-5705269-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之九:产生步进脉冲 Stepper
用stc15w和旧光驱移植arduino写字机GRBL之九:步进脉冲Stepper
https://www.amobbs.com/thread-5707262-1-1.html

用stc15w和旧光驱移植arduino写字机GRBL之十:串口数据接收解析:

1 上位机发出的指令(字符串)通过串口接收中断,存储于循环队列rx_buffer[]中,函数protocol_process()将队列中的数据以\r\n为分割,
   存于line[]中,line中的数据去掉空格和注释,全为大写。每接收一行\r\n数据,GBRL通过串口返回字符OK
2 函数uint8_t protocol_execute_line(char *line) 解析line[]中数据。
   如果是$开头,作为命令处理。
   如果是其他,交由函数uint8_t gc_execute_line(char *line) 作为Gcode处理。
3 line[]中的数据全部都是字符串格式(G01X10Y10),在gcode.cpp
   函数static int next_statement(char *letter, float *float_ptr, char *line, uint8_t *char_counter)
   将字符串分解为字符串letter,如G X Y Z,和数值value,02 12.35
   将G后面的数值作为命令,将XYZ后面的数值作为当前点的坐标target[]
4 有了当前点的坐标target[],接下来就进入之前探讨过的运动算法motion_control,前瞻算法planner,插补算法Bresenham了。

为了调试及验证,现学现用,做了个小程序发送命令和G代码:
[attach]471272[/attach]
先跑起来看看(在头条有录像),没有加减速,加了二进制时钟(DS3231),蓝牙串口:
[attach]471273[/attach]
想尝鲜把玩了一下stc8,主控改为STC8A8K64S4A12,8KRAM用了2k不到,实时二进制时钟无压力,舵机用高级PWM,不用定时器占中断。
[attach]471304[/attach]

作者: foxpro2005    时间: 2019-7-21 21:58
哈哈,厉害! 我之前也用STC8A8K64S4A12的8路PWM功能 驱动8路舵机,挺爽的。
作者: PCBBOY1991    时间: 2019-10-5 10:19
请教下楼主,是不是移植到C8051上也是同样的道理啊?
作者: XTXB    时间: 2019-10-5 11:22
PCBBOY1991 发表于 2019-10-5 10:19
请教下楼主,是不是移植到C8051上也是同样的道理啊?

都是51内核,估计差别很小
作者: PCBBOY1991    时间: 2019-10-5 12:14
XTXB 发表于 2019-10-5 11:22
都是51内核,估计差别很小

好的,谢谢!有空研究下,顺便玩一下C8051。
作者: thorn    时间: 2019-10-5 12:17
好玩,看来需要去库房翻几个光驱了
作者: GZLJZ    时间: 2019-10-5 13:40
不错,谢谢分享!
作者: 1785345205    时间: 2019-10-5 23:42
发送命令和G代码小程序这个好
作者: FESENS    时间: 2019-10-14 20:50
这个资料很不错,先收藏了
作者: liang_work    时间: 2019-12-23 21:50

不错,顶起,谢谢分享!
作者: markdif    时间: 2019-12-24 17:01
V5,涨见识了。。
作者: ronic    时间: 2019-12-26 08:16
顶起,好玩
作者: gaolf_2012    时间: 2019-12-26 12:31
有趣啊,老师罚写xx遍再也不是问题了
作者: kinsno    时间: 2019-12-26 21:58
XTXB 发表于 2019-10-5 11:22
都是51内核,估计差别很小

我来给贴子添把火。。。


作者: lintel    时间: 2019-12-26 22:58
顶顶顶,顶起来。。。
作者: feibagezib    时间: 2019-12-28 17:50
这个资料很不错,收藏..
作者: youlongam    时间: 2019-12-28 19:33
楼主,手机的上位机怎么开发的啊
作者: jssd    时间: 2019-12-29 09:54
youlongam 发表于 2019-12-28 19:33
楼主,手机的上位机怎么开发的啊

android studio
作者: XTXB    时间: 2019-12-29 11:26
youlongam 发表于 2019-12-28 19:33
楼主,手机的上位机怎么开发的啊

微信小程序
https://developers.weixin.qq.com ... tart/getstart.html#你的第一个小程序
作者: sf49ers    时间: 2019-12-29 15:50
赞,很不错。
另外请问,系统VCC是5V经过4007,这是基于什么考虑

作者: XTXB    时间: 2019-12-31 08:02
ISP下载时直接串口线供电,不用接7.4v。
作者: XTXB    时间: 2019-12-31 08:02
sf49ers 发表于 2019-12-29 15:50
赞,很不错。
另外请问,系统VCC是5V经过4007,这是基于什么考虑


ISP下载时直接串口线供电,不用接7.4v。
作者: zhw950    时间: 2020-1-27 10:24
感谢楼主分享,有空弄一个玩。
作者: javabean    时间: 2020-2-24 13:30
厉害了,买个光驱试试
作者: 智慧星    时间: 2020-3-9 22:00
谢谢分享,正在学习中。有没有电脑端的上位机没?

作者: meirenai    时间: 2020-12-3 03:44
大佬用的是哪个版本的grbl移植的?
作者: armok.    时间: 2023-10-25 17:14
帖子移动通知:
原分论坛:8051/STC32【已下线】
目标分论坛:51单片机
移动时间:0小时之后




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4