日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32的同步规则模式使用

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32的同步规则模式使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? 由于要采集電壓、電流以計算功率、阻抗等信息,STM32的同步規則模式很適合于這種情景。使用時有幾點需要注意的:

1、選擇正確的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = 0110,ADC2在雙模式中,這些位為保留位

2、開啟ADC的DMA,在雙ADC模式里,為了在主數據寄存器上讀取從轉換數據,必須使能DMA位,即使不使用DMA傳輸規則通道數據。只有ADC1和ADC3能產生DMA請求。所以只需設置ADC1的DMA:ADC_DMACmd(ADC1, ENABLE);

3、ADC2的轉換數據存在ADC1_DR的高半字;

4、不要在2個ADC上轉換相同的通道((兩個ADC在同一個通道上的采樣時間不能重疊)。

5、ADC2的CR2寄存器的第20位——EXTTRIG:規則通道的外部觸發轉換模式必須開啟(軟件啟動的時候也要),這樣才能利用到ADC1的觸發信號。不然的話,需要手動再軟啟動一次ADC2,例如ADC_SoftwareStartConvCmd(ADC2, ENABLE);

??? 但是,假如你設置了這個位之后,就不需要手動軟啟動ADC2了,所以考慮到同步,這樣比較好:

//都是軟啟動ADC_ExternalTrigConv_None/* Enable ADC2 external trigger conversion */ADC_ExternalTrigConvCmd(ADC2, ENABLE);//同步規則模式,可使用ADC1的觸發信號
?ADC_SoftwareStartConvCmd(ADC1, ENABLE);/* Start ADC2 Software Conversion */ //ADC_SoftwareStartConvCmd(ADC2, ENABLE);//不需要了

ADC_SoftwareStartConvCmd(ADC2, ENABLE);為什么可以,一方面它也設置了EXTTRIG位,另一方面也設置了SWSTART。但我覺得先用ADC_ExternalTrigConvCmd(ADC2, ENABLE);的話,一會只要ADC1一啟動,兩者就同時啟動了,這樣更正確一點。

?

轉載于:https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683540.html

總結

以上是生活随笔為你收集整理的STM32的同步规则模式使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。