外部模块静态库¶
接口文件说明¶
重要
这里只说明需要实现的接口和接口的要求,至于实现的方法取决于具体平台,接口的参数这里 也不讲,可以看接口文件的函数说明。在这里可以查看ET12已经完成的移植接口来理解下面 的内容。
telemetry_driver.c¶
该文件的作用是
- 初始化接收端口
- 把外部模块回传的数据接收回来并放入FIFO缓存区
- 把数据通过串行口发送到外部模块
telemetryPortInit¶
外部模块所有的回传数据都是遵循串行口通信协议,所以这里可以把接收顿口设置为uart
接收回传数据¶
接收到的回传数据通过函数 telemetryFifo.push 放入FIFO缓存区。ET12使用uart 中断来接收回传数据,并且一次接口一个byte,然后在中断通过 telemetryFifo.push 把外部模块回传的数据接收回来并放入FIFO缓存区
sportSendBuffer¶
当前外部模块只支持TBS的CRSF协议和多协议高频头(MulProtocol),当发射机选择 C时候CRFS时,需要通过串行口把数据发送给外部模块。ET12使用UART+DMA的方式把 数据发送到外部模块
mulprotocol_driver.c¶
这个文件命名为extern_module_driver.c更合适,因为前期外部模块只支持多协议 高频头因此为mulprotocol_drier.c,这个文件的作用是
- 初始化发送端口
- 把数据发送到外部模块
extmoduleStop¶
停止发射数据到外部模块。
extmoduleSerialStart¶
初始化外部模块的发射端口,当发射机选择外部模块为多协议高频头时,需要通过串行口把 数据发送给外部模块。ET12利用定时器比较输出+DMA+中断的方式把数据传输给外部模块。