找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2445|回復(fù): 11
收起左側(cè)

請問STM32F031單片機(jī)ADC配置成8位分辨率,讀出的數(shù)據(jù)卻是12位的?

[復(fù)制鏈接]
ID:284571 發(fā)表于 2022-6-30 14:14 | 顯示全部樓層 |閱讀模式
請問STM32F031 ADC配置 成8位分辨率 。讀出的數(shù)據(jù)卻是12位的。
  電壓1V 如果12位  1*4095*/3.3=1240
  電壓1V 如果8位  1*4095*/3.3=77

求指教

  ADC_InitStructure.ADC_Resolution = ADC_Resolution_8b;//  ADC_Resolution_12b;//12位精度
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //規(guī)定模式裝換工作在連續(xù)模式
  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; //不用外不觸發(fā)
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//數(shù)據(jù)對其為右對齊
  ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward; //ADC的掃描方向
  ADC_Init(ADC1, &ADC_InitStructure);

回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-6-30 23:03 | 顯示全部樓層
去看一下這單片機(jī)支不支持單獨(dú)的8位模式
標(biāo)準(zhǔn)庫函數(shù)是為了方便移植,提供了這個功能,但單片機(jī)不一定支持這個功能
如果不支持,你又非得要8位模式,就只能位移或者其它方法來實(shí)現(xiàn)了
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-6-30 23:42 | 顯示全部樓層
去st官網(wǎng)下載RM0091 rev.10這個文檔,在13.4.2節(jié)里面寫的非常清楚:

The result of the conversion is always 12 bits wide and any unused LSB bits are read as zeros.
回復(fù)

使用道具 舉報

ID:284571 發(fā)表于 2022-7-1 08:07 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-6-30 23:03
去看一下這單片機(jī)支不支持單獨(dú)的8位模式
標(biāo)準(zhǔn)庫函數(shù)是為了方便移植,提供了這個功能,但單片機(jī)不一定支持這 ...

是有的。6,8,10,12位模式選擇

回復(fù)

使用道具 舉報

ID:284571 發(fā)表于 2022-7-1 08:19 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-6-30 23:42
去st官網(wǎng)下載RM0091 rev.10這個文檔,在13.4.2節(jié)里面寫的非常清楚:

The result of the conversion is a ...

你的意思不管設(shè)置多少位讀出的數(shù)據(jù)都是12的?但這個是可以讀6,8,10,12數(shù)據(jù)的,

捕獲.JPG
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-7-1 09:21 | 顯示全部樓層
WCM1998 發(fā)表于 2022-7-1 08:19
你的意思不管設(shè)置多少位讀出的數(shù)據(jù)都是12的?但這個是可以讀6,8,10,12數(shù)據(jù)的,

你找個英文勉強(qiáng)過得去的人給你翻譯下板凳這句話。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-7-1 10:11 | 顯示全部樓層
WCM1998 發(fā)表于 2022-7-1 08:07
是有的。6,8,10,12位模式選擇

如果有,那就看你代碼的問題了
轉(zhuǎn)換出來的數(shù)據(jù)長度是保持為12位,沒有用到的其它位用0補(bǔ)齊
因?yàn)槟阋呀?jīng)設(shè)定為右對齊,那么,轉(zhuǎn)換出來的就是實(shí)際的數(shù)字量了
就是和你說結(jié)果是一樣:
電壓1V 如果12位  1*4095*/3.3=1240
電壓1V 如果8位  1*255*/3.3=77
回復(fù)

使用道具 舉報

ID:891041 發(fā)表于 2022-7-1 10:53 | 顯示全部樓層
配置成8位。 只是低4位ADC不轉(zhuǎn)換了, 都默認(rèn)為0。 只有12位中的高8位有數(shù)據(jù)。 如果你想換成純8位格式, 自己讀出來右移4位就行了。  
回復(fù)

使用道具 舉報

ID:284571 發(fā)表于 2022-7-1 14:02 | 顯示全部樓層
abob 發(fā)表于 2022-7-1 10:53
配置成8位。 只是低4位ADC不轉(zhuǎn)換了, 都默認(rèn)為0。 只有12位中的高8位有數(shù)據(jù)。 如果你想換成純8位格式, 自 ...

懂了 ,不管你設(shè)置8.10.12位 最終出來的數(shù)據(jù)都是12位。只是低中位沒轉(zhuǎn)換.
我實(shí)驗(yàn)出來也是這樣。。只是轉(zhuǎn)換時快了點(diǎn)。
一開始是我理解錯了。。以為8位轉(zhuǎn)換出來就是255.

謝謝!
回復(fù)

使用道具 舉報

ID:284571 發(fā)表于 2022-7-1 14:03 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-7-1 10:11
如果有,那就看你代碼的問題了
轉(zhuǎn)換出來的數(shù)據(jù)長度是保持為12位,沒有用到的其它位用0補(bǔ)齊
因?yàn)槟阋呀?jīng)設(shè) ...

謝謝。理解了。。
回復(fù)

使用道具 舉報

ID:284571 發(fā)表于 2022-7-1 14:04 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-7-1 09:21
你找個英文勉強(qiáng)過得去的人給你翻譯下板凳這句話。

謝謝,理解了
回復(fù)

使用道具 舉報

ID:329625 發(fā)表于 2022-7-1 19:34 | 顯示全部樓層
一般度10位,后2位不讀
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表