General
Adc_DeInit API 使能Adc_DeInit接口
Adc Development Error Detection 开发者错误检测
Adc Enable Limit Check边界检测
Adc Queue启用队列,如果AdcPriorityImplementation=ADC_PRIORITY_HW_SW执行优先级为硬件则一定要开启队列
Adc_StartStopGroup API使能Adc_StartGroupConversion接口
Adc Notification Capability启用通知机制
Adc Hw Trigger API使能Adc_EnableHardwareTrigger和Adc_DisableHardwareTrigger硬件触发接口
Adc Priority Mechanism选择转换优先级机制。可以选择无优先级/硬件/硬件和软件混合。
Adc_ReadGroup API使能Adc_ReadGroup接口
Adc Result Alignment转换结果对齐方式
Adc_VersionInfo API获取版本信息
ADC Direct DMA Result Buffer Copy直接将转换结果复制到用户指定的缓冲区
Adc Timeout如果ADC硬件超过这个时间未进入空闲状态就报错
Adc Channel Value Signed转换结果数值是有符号是无符号
Adc Group First Channel Fixed可以配置ADC通道组的第一个通道
Adc Max Channel Resolution所有通道最大精度
Adc Set Mode API使能Adc_SetModeApi接口
Adc Dual Clock Mode增加双时钟模式服务
Adc Channel Indexes Symbolic Names通道另外起名字为:通道组名称_通道名称,可以通过这个新名字来访问到通道
Adc Bypass Consistency Loop提高性能的时候勾选,要确保硬件没到达正确状态之前不进行操作。
Adc Enable/Disable Channels API 使能Adc_EnableChannel和Adc_DisableChannel接口
Adc Get Injected Conversions Status API使能Adc_GetInjectedConversionStatus接口
Adc Disable Production Error Reporting关闭诊断错误报告给DEM模块
Adc Enable Threshold Configuration使能Adc_ConfigureThreshold接口
Adc Enable data Cache在DMA模式下使用的cache映射到ADC结果缓冲区
Adc Enable Safety feature使能安全功能,在转换结果之前,对ADC通道数据寄存器的Valid和OVERWRITE位进行验证
AdcConfigSet
Adc Max Queue Depth当硬件单元busy的时候,等待转换的数据队列最大深度
AdcHwUnit每行是一个硬件单元
General
Adc Source Clock时钟源,在MCU模块配置,这里只能查看
Adc Hardware Unit硬件单元,也就是硬件设备,每个芯片自己有规定的硬件设备
Adc Clock Prescaler Value分频值
Adc Power Down Delay从复位到转换开始之间的延迟
ADC Mux Delay外部信号和采样开始之间的延迟
Adc Transfer Type传输方式是中断还是DMA。Hw触发器转换总是使用中断进行传输。如果一个SW触发的组具有不连续的通道或不同的通道类型(内部-测试-外部),那么该组也将使用中断进行传输。
AdcChannal
Adc Channel ID自己设置的序号,每个硬件单元里面从0开始
Adc Physical HW Channel物理硬件通道,它有自己对应的引脚,可以在芯片手册查到
Adc Test to Internal HW Channel Shorting内部测试物理硬件通道,一般选择个NO_EXT_TEST_CH_MAPPING就行
Adc Channel Limit Check通道限制检查
Adc Channel Resolution通道精度
Adc Channel Enable Precharging增加预充阶段。操作顺序为:预充->采样->转换
Adc Channel CTR0-3 Selection选择转换时序寄存器,以选择不同的预充和采样相位持续时间
Adc Channel Reference Selection选择通道转换的参考电压
AdcGroup
General
Adc Group Access Mode通道组访问转换结果模式,流模式或者单次模式
(单次模式下buffer模式只能选择线性,Streaming Number Samples只能设置为1)
流模式下buffer模式可以选择线性或者回环。
Adc Group Conversion Mode通道组转换模式,连续模式或单次模式
Adc Group Conversion Type通道组转换类型,常规还是注入
Adc Group Id自己编写的序号,在每个硬件单元里面从0开始
Adc Group Priority通道组优先级
Adc Group Trigger Source通道组触发源,软件还是硬件,如果是硬件,就要在AdcHwTrig里面填写硬件触发源。
Adc Group Notification通道组通知函数,转换完成之后进行回调NULL_PTR就是不回调
Adc Group Streaming Buffer Mode当通道组访问转换结果为流模式时,buffer模式为线性还是回环。线性模式buffer存满后,停止转换。回环模式存满后从头开始覆盖。
Adc Group Streaming Number Samples当通道组访问转换结果为流模式时,通道要采样的数量
Adc Group Enable/Disable channels使能接口Adc_DisableChannel和Adc_EnableChannel
Adc Group Without Interrupts禁用中断,在没有软件干预的情况下进行转换,可以通过调用Adc_ReadGroup()来读取转换结果。否则,结果缓冲区不再用于读取结果,需要直接从硬件寄存器读取
Adc Group Precharging Duration for CTR0预充阶段时间寄存器,公式为Tprechg = PRECHG * 1 / ADC时钟
AdcGroupConversionConfiguration里面调整预充和采样时间参数,转换分辨率只要跟ADC通道组里面的通道统一起来就行。
AdcGroupDefinition
从硬件单元里面选择一部分通道组成通道组
AdcHwTrig
选择硬件触发源
接口
Adc_DeInit逆初始化
Adc_DisableGroupNotification失能ADC通道组通知机制
Adc_EnableGroupNotification使能ADC通道组通知机制
Adc_DisableHardwareTrigger失能ADC通道组的硬件触发器
Adc_EnableHardwareTrigger使能ADC通道组的硬件触发器
Adc_GetGroupStatus返回请求的ADC通道组的转换状态
Adc_GetStreamLastPointer返回ADC通道组存储在结果缓冲区中每个通道的有效样本数,入参PtrToSamplePtr是用来获取缓冲区的指针的,有了指针和有效样本数,就可以访问所有有效的ADC通道组转换结果。
Adc_GetVersionInfo获取版本信息
Adc_Init初始化的时候需要调用
Adc_ReadGroup读取ADC通道组里面所有通道的最后一次完成的转换结果。这个接口会重置采样个数,如果在中断回调函数里面调用这个函数,转换完成后中断回调读取ADC组结果,然后程序判断到采样个数没有满,重新采样,就会导致转换一直停不下来。软件通过这个接口读取
硬件可以直接读取寄存器
REG_READ32(ADC_ICDRX_REG(ADC硬件设备基地址, 通道寄存器偏移))
Adc_SetupResultBuffer初始化ADC通道组结果缓冲区指针,需要你先开辟一个缓存空间,把这个数组的指针给到接口里面,以后这个ADC通道组的转换结果就会放到这个缓存空间里面。这个接口需要在组转换开始之前调用。通道组缓存空间 = sizeof(uint16)* 采样通道数 * 采样次数
Adc_StartGroupConversion开始ADC通道组转换
Adc_StopGroupConversion暂停ADC通道组转换
Adc_EndGroupConversion终止ADC通道组转换
Adc_EndNormalConv终止ADC单元里面的常规通道的转换。在Adc_EndGroupConversion里面进行调用,当一个常规通道转换结束时,调用转换结束ISR,这个函数负责驱动程序和模块状态转换。
Adc_EndSwInjectedConv终止该ADC单元里面的注入通道的转换,在Adc_EndGroupConversion里面进行调用
Adc_EndWDGInterrupt终止ADC硬件看门狗中断,清除中断,如果有回调函数就调用。(这是个啥)
Adc_HandleLastIteration在Adc_EndNormalConv里面调用,当访问模式设置为流模式和线性缓冲模式的时候,转换将被软件隐式停止,这个函数处理最后一轮迭代
Adc_WDGThresholdHandlerADC单元的看门狗中断处理(这是个啥)
Adc_DisableChannel失能ADC通道组里面的通道
Adc_EnableChannel使能ADC通道组里面的通道
Adc_GetInjectedConversionStatus获取ADC单元里面的注入式通道转换状态
Adc_SetClockMode设置时钟模式