首页 头条 > > 内容页

天天滚动:分享一套通信协议的应用编程原理

2023-06-19 14:26:28 面包芯语

1、发送和接收说明

该流程图是结合我上一篇文章提供的源代码例程画出来,包含的只是主要内容,更多细节没有在流程图中呈现。

提示:我提供例程是针对初学者提供比较单一发送和接收例程(MDK-ARM和EWARM包含各自的发送和接收工程)。


(相关资料图)

而实际项目可能会:

发送和接收在一个工程

包含操作系统

发送、接收数据FIFO(队列)处理

所以,在实际项目中,请按需修改我提供的源码。

这一章节讲述发送和接收主要用到的函数接口,请参考我提供的源代码例程理解。

上面是我提供例程的代码,主要讲4个接口。

(1)MAVLink_SendTest

这个接口是根据自己情况进行封装函数,用于应用程序调用,这里不多说。

(2)mavlink_msg_sys_info_pack

这个函数接口主要目的:将变量信息(SysID、CompID、SysState、BatVol)打包,最终得到MAVLink_Msg这个消息包。

(3)mavlink_msg_to_send_buffer

将上一步得到的MAVLink_Msg转换成我们要发送的数据BUF缓存。

(4)MAV_USART_SendNByte

这个函数接口也是我自己根据硬件(UART)封装的,如果你是其它硬件通信,只需要封装一个类似的接口(参数具有BUF、LEN)即可。

发送数据的流程:从应用代码 -> 底层硬件(发送出去)。

如果要深入了解,可以先熟悉软件流程,再结合源代码工程,同时参看接口函数具体实现,相信你很快就明白了。

2、接收主要函数接口

上一篇: 微动态丨美国一船只撞上码头,致5人受伤! 下一篇: 最后一页
x
头条