你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
Paderboy 发表于 2019-11-14 21:39 Temperature configuration code example /* (1) Select HSI16 by writing 00 in CKMODE (reset value) */ ...
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
test
tiwen
BBBB
aaa
/* (1) Select HSI16 by writing 00 in CKMODE (reset value) */
/* (2) Select continuous mode */
/* (3) Select CHSEL18 for temperature sensor */
/* (4) Select a sampling mode of 111 i.e. 239.5 ADC clk to be greater
than 2.2us */
/* (5) Wake-up the Temperature sensor (only for Temp sensor and
VRefInt) */
//ADC1->CFGR2 &= ~ADC_CFGR2_CKMODE; /* (1) */
ADC1->CFGR1 |=ADC_CFGR1_CONT; /* (2) */
ADC1->CHSELR =ADC_CHSELR_CHSEL18; /* (3) */
ADC1->SMPR |=ADC_SMPR_SMP; /* (4) */
ADC->CCR |=ADC_CCR_TSEN; /* (5) */
读温度时正负号是依据getadcvalue值大于还是小于零决定,关键是值的计算准确
非常感谢!在static void MX_ADC_Init(void)初始化函数最后增加如下两行就可以了:
ADC1->SMPR |=ADC_SMPR_SMP;
ADC->CCR |=ADC_CCR_TSEN;
ADC1->SMPR |=ADC_SMPR_SMP;
ADC->CCR |=ADC_CCR_TSEN;
就可以了,我试了增加第一个ADC1->SMPR |=ADC_SMPR_SMP;其实就可以了。意思是我的温度采样速度太快了吗?