2016-01-20 98 views
0

我想编程一个adc在stm32f4。我想知道这五条指令的作用是什么?了解一些ADC指令

ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; 
    ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; 
    ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; 
    ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; 
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right 
+0

你读过CPU的[参考手册](http://www.st.com/stonline/stappl/resourceSelector/app?page=fullResourceSelector&doctype=reference_manual&SeriesID=1577)? - 独立模式是指转换模式。 - ADC_Prescaler_Div2将ADC的时钟设置为BUS时钟的一半 - ADC_DMAA ...禁用DMA - ADC_TwoSampling ...设置ADC的采样周期持续时间 - 并且ADC_DataAligh设置对齐ADC_DR数据寄存器中的结果数据 – hoo2

+0

下载RM,在外设上读取数据,使用HAL或位打击进行试验,看看它有什么作用。 另请参阅HAL文档和代码库 - 查看正在执行的操作和操作方法。 是的,如果其他人阅读并解释它可能会更容易,但你会永远不会学习。很多前面的阅读... – ChrisR

回答

0

ADC_Mode_Independent的ADC功能独立于其它的。其他模式允许在完全相同的时间被读取的两个ADC(功率测量)或交错(2或3 ADC配合读取相同的渠道更加频繁)

ADC_Prescaler_Div2 - ADC的速度有多快了SAR的算法

ADC_DMAAccessMode_Disabled - DMA提供采取若干读数的能力并将它们自动放入一个表中存储

ADC_TwoSamplingDelay_5Cycles - 有两个寄存器,这一个一个是更迭之间的延迟sive读数,另一个是采样时间,即物理感测引脚电压所需的时间。你必须有一个低阻抗源来使用更短的采样。在手册中解释。一些处理器可以在进入下一个引脚之前多次读取相同的引脚,因此延迟可以读取ADC准确度应用。

ADC_DataAlign_Right