SDK3.6中驱动源码——ADC Buffer

2023-12-15 17:54:04

背景

  • 在dss_main函数中,开始SRR_DSS_mmWaveTask之前有一个初始化的任务SRR_DSS_initTask,包括mailbox初始化,ADCBuf初始化等,今天是首先讨论ADCBuf。
  • ti参考设计(short range radar,简称SSR)基于的SDK版本是3.6,所以接下来会分析一些SDK3.6中的源码,包括驱动(drivers)和Datapath等等。

代码结构分析

ADC Buffer的源码位置位于路径C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\drivers\adcbuf\src下面,分别是ADCBuf.c和adcbuf_mmwave.c文件,两者之间的关系可以理解为ADCBuf.c是对adcbuf_mmwave.c进行了一层封装。

ADCBuf.c文件中的主要内容如下(先以ADCBuf_close举例子)

void ADCBuf_close(ADCBuf_Handle handle) {
    handle->fxnTablePtr->closeFxn(handle);
}

ADCBuf_close函数内部实现实际是调用了其他的函数(这个函数为函数指针变量closeFxn指向的函数)。这里是通过结构体内部內嵌了函数指针来实现分层的。

typedef void (*ADCBuf_CloseFxn)    (ADCBuf_Handle handle);//ADCBuf_CloseFxn的类型是函数指针

typedef struct ADCBuf_FxnTable_t
{
    /*! Function to close the 

文章来源:https://blog.csdn.net/qq_42235129/article/details/135015735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。