各函数配合,数据总体流向图:
上位机通过通过USB虚拟串口发送ATKP格式数据,缓存到usbDataDelivery队列, usblinkRxTask任务从usbDataDelivery队列获取数据并打包成ATKP包,再将包发送给在usblink.c定义的rxQueue队列(称它usb_rxQueue),usblinkDataProcessTask从usb_rxQueue队列里提取包,分析,再将包发送给在radiolink.c定义的txQueue队列(称它radio_txQueue), radiolinkTask从radio_txQueue提取包发送给四轴,同时又接收四轴返回过来的应答包,将包缓存在radiolink.c定义的rxQueue队列(称它radio_rxQueue), radiolinkDataProcessTask又从radio_rxQueue提取包,分析,再发给在usblink.c定义的txQueue队列(称它usb_txQueue), usblinkTxTask从usb_txQueue提取包,给ATKP格式数据加上帧头和校验放在数组sendBuffer[64]缓存,并发送给上位机。
具体一点的流程图:
版权声明:本文为weixin_45456099原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。