參考了CH573F官方的ADC示例:
??/*?單通道采樣:選擇adc通道0做采樣,對(duì)應(yīng)?PA4引腳,?帶數(shù)據(jù)校準(zhǔn)功能?*/ ??PRINT(?"\n2.Single?channel?sampling...\n"?); ??GPIOA_ModeCfg(?GPIO_Pin_4,?GPIO_ModeIN_Floating?); ??ADC_ExtSingleChSampInit(?SampleFreq_3_2,?ADC_PGA_0?); ??GPIOA_ModeCfg(?GPIO_Pin_5,?GPIO_ModeIN_Floating?); ??RoughCalib_Value?=?ADC_DataCalib_Rough();?//?用于計(jì)算ADC內(nèi)部偏差,記錄到全局變量?RoughCalib_Value中 ??PRINT(?"RoughCalib_Value?=%d?\n",?RoughCalib_Value?); ??ADC_ChannelCfg(?0?); ??for(?i?=?0;?i?<?20;?i++?) ??{ ????abcBuff[i]?=?ADC_ExcutSingleConver()?+?RoughCalib_Value;??????//?連續(xù)采樣20次 ??} ??for(?i?=?0;?i?<?20;?i++?) ??{ ????PRINT(?"%d?\n",?abcBuff[i]?);?//?注意:由于ADC內(nèi)部偏差的存在,當(dāng)采樣電壓在所選增益范圍極限附近的時(shí)候,可能會(huì)出現(xiàn)數(shù)據(jù)溢出的現(xiàn)象 ??}
主要有兩個(gè)疑問(wèn):
?既然是單通道采樣, 為何需要這行代碼:? GPIOA_ModeCfg( GPIO_Pin_5, GPIO_ModeIN_Floating );
如何根據(jù) abcBuff[i] 的值換算出實(shí)際電壓呢?
熱門(mén)產(chǎn)品 :
CH339: 7端口多功能USB HUB控制器芯片