成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

STM32F407 AD設置為右對齊,結果為左對齊的解決方法

在嵌入式系統(tǒng)中,模擬數(shù)字轉換(ADC)是一個非常重要的功能。在使用STM32F407單片機時,我們需要進行ADC設置,而一些初學者可能會遇到AD設置為右對齊,但結果卻是左對齊的問題。此類問題的原因一般

在嵌入式系統(tǒng)中,模擬數(shù)字轉換(ADC)是一個非常重要的功能。在使用STM32F407單片機時,我們需要進行ADC設置,而一些初學者可能會遇到AD設置為右對齊,但結果卻是左對齊的問題。

此類問題的原因一般都是由于沒有正確配置ADC結構體參數(shù)所致。下面將詳細講解如何正確配置ADC結構體參數(shù)以解決該問題。

ADC結構體參數(shù)配置

在使用STM32F407單片機時,需要先初始化ADC相關參數(shù)。這里以ADC1為例,介紹ADC__DataAlign參數(shù)的設置。

ADC__Resolution ADC_Resolution_12b; //12位模式

ADC__ScanConvMode DISABLE; //非掃描模式

ADC__ContinuousConvMode DISABLE; //關閉連續(xù)轉換

ADC__ExternalTrigConvEdge ADC_ExternalTrigConvEdge_None; //禁止觸發(fā)檢測,使用軟件觸發(fā)

ADC__DataAlign ADC_DataAlign_Right; //右對齊

ADC__NbrOfConversion 1; //1個轉換在規(guī)則序列中也就是只轉換規(guī)則序列1

ADC_Init(ADC1, ADC_InitStructure); //ADC初始化

以上是ADC結構體參數(shù)配置的基本設置步驟。然而,在實際應用中,有些人可能會遇到AD設置為右對齊,但結果卻是左對齊的情況。這是因為上述代碼中少設置了一個成員變量ADC__ExternalTrigConv。

解決方法

經(jīng)過仿真分析,發(fā)現(xiàn)ADC__ExternalTrigConv默認值為0x08002d40,因此調用ADC_Init后,ADC_CR2寄存器的值被改變,不是你設置的值。要解決這個問題,只需要加上以下這句話:

ADC__ExternalTrigConv ADC_ExternalTrigConv_T1_CC1;

這句話可以確保ADC__ExternalTrigConv的值是你想要的,從而解決AD設置為右對齊,但結果卻是左對齊的問題。

結論

在使用STM32F407單片機進行ADC設置時,建議將ADC結構體所有變量都設置好。如果有哪個變量沒有設置,那么初值就不一定是你想要的,最終結果也可能不是你想要的。

標簽: