首页 理论教育 ADC固件库函数-STM32嵌入式应用技术

ADC固件库函数-STM32嵌入式应用技术

时间:2023-10-21 理论教育 版权反馈
【摘要】:第三个形参是ADC规则组号顺序,可以填入数字1~16。其形参只有一个,即ADC号,可填入ADC1、ADC2或者ADC3。形参是ADC号,返回值类型为16位无符号数。STM32的ADC功能非常强大,因此使用的函数非常多。其余的库函数,读者可以自行查阅。

ADC固件库函数-STM32嵌入式应用技术

ADC的库函数非常多,使用起来也非常方便。下面简单介绍常用的一些函数。

1.ADC-Init()

ADC_Init()为ADC的初始化函数,与ADC_InitTypeDef结构体配合,用于结构体内设置的初始化。函数的形参有两个:第一个形参是ADC号,代表STM32内置的ADC,比如使用第一个ADC,就填入ADC1;第二个形参是ADC_InitTypeDef初始化结构体指针

2.ADC-CommonInit()

ADC_CommonInit()为通用设置初始化函数,与ADC_CommonInitTypeDef结构体配合,用于结构体内设置的初始化。函数的形参只有一个,是ADC_CommonInitTypeDef结构体指针。

3.ADC-RegularChannelConfig()

ADC_RegularChannelConfig()是ADC规则通道设置函数,有四个形参:第一个形参是ADC号。第二个形参是ADC通道号,比如填入ADC_Channel_0,代表ADC通道0,共18个通道。具体GPIO对应的通道查看表8-2。例程使用PB0作为ADC1的转换,因此形参是ADC_Channel_8。第三个形参是ADC规则组号顺序,可以填入数字1~16。第四个形参是采样时间,可以填入ADC_SampleTime_3Cycles、ADC_SampleTime_15Cycles、ADC_SampleTime_28Cycles、ADC_SampleTime_56Cycles、ADC_SampleTime_84Cycles、ADC_SampleTime_112Cycles、ADC_SampleTime_144Cycles、ADC_SampleTime_480Cycles。这些参数分别代表了几个ADC_CLK周期,最快的采样时间为3个ADC_CLK周期。采样周期越短,ADC转换数据输出周期就越短,数据精度也越低;采样周期越长,ADC转换数据输出周期就越长,但同时数据精度也越高。

4.ADC-InjectedChannelConfig()

ADC_InjectedChannelConfig()是相应的注入通道设置函数,形参与ADC_RegularChannelConfig()基本一样,只是第三个形参的注入组号顺序只能填入数字1~4。

5.ADC-ITConfig()

ADC_ITConfig()用于设置ADC的中断,有三个形参:第一个形参是ADC号。第二个形参是指定中断源。中断源对应的形参有ADC_IT_EOC(代表转换结束中断)、ADC_IT_AWD(模拟看门狗中断)、ADC_IT_JEOC(注入转换结束中断)、ADC_IT_OVR(溢出中断)。第三个形参是ADC中断使能,填入ENABLE或者DISABLE。

6.ADC-Cmd()

ADC_Cmd()是ADC的命令函数,用于ADC的使能,有两个形参:第一个形参是ADC号;第二个形参是使能,填入ENABLE或者DISABLE。

7.ADC-SoftwareStartConv()(www.xing528.com)

ADC_SoftwareStartConv()是规则通道的ADC软件启动函数。其形参只有一个,即ADC号,可填入ADC1、ADC2或者ADC3。

8.ADC-SoftwareStartInjectedConv()

ADC_SoftwareStartInjectedConv()是注入通道的ADC软件启动函数。其形参只有一个,即ADC号,可填入ADC1、ADC2或者ADC3。

9.ADC-GetITStatus()

ADC_GetITStatus()是ADC中断状态获取函数,有两个形参,带一个返回值。第一个形参是ADC号;第二个形参是需查询的中断源,可以是ADC_IT_EOC(代表转换结束中断)、ADC_IT_AWD(模拟看门狗中断)、ADC_IT_JEOC(注入转换结束中断)、ADC_IT_OVR(溢出中断)。函数在执行完毕后返回查询结果,返回值类型为位,返回结果有SET(发生)或者RESET(无发生)。

10.ADC-ClearITPendingBit()

ADC_ClearITPendingBit()是ADC清除中断标志函数,用于清除ADC中断后的中断标志位,有两个形参:第一个形参是ADC号;第二个形参是需查询的中断源,可以是ADC_IT_EOC(代表转换结束中断)、ADC_IT_AWD(模拟看门狗中断)、ADC_IT_JEOC(注入转换结束中断)、ADC_IT_OVR(溢出中断)。

11.ADC-GetConversionValue()

ADC_GetConversionValue()是规则通道ADC的转换值获取函数,功能是从ADC_DR寄存器中获取数据并返回。函数有一个形参,一个返回值。形参是ADC号,返回值类型为16位无符号数。

12.ADC-GetInjectedConversionValue()

ADC_GetInjectedConversionValue()是注入通道、规则通道ADC的转换值获取函数,功能是从注入通道的ADC_JDRx寄存器(与规则通道不同,注入通道有四个独立的转换数据寄存器,x=1,2,3,4,代表4个注入通道数据寄存器)中获取注入通道ADC的转换值并返回。函数有两个形参、一个返回值。第一个形参是ADC号;第二个形参是注入通道号,如ADC_InjectedChannel_1、ADC_InjectedChannel_2、ADC_InjectedChannel_3、ADC_InjectedChannel_4。返回值类型为16位无符号数。

STM32的ADC功能非常强大,因此使用的函数非常多。这里只介绍了常用的库函数。其余的库函数,读者可以自行查阅。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈