完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试获取 STM32L0 的内部温度。
我已经编写了脚本的主要部分,但不幸的是读取值为 0。 有没有人可以看看我的剧本,如果你看到了什么,请告诉我? &sharpdefine TEMP130_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007E)) &sharpdefine TEMP30_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007A)) &sharpdefine VDD_CALIB ((uint16_t) (300)) &sharpdefine VDD_APPLI ((uint16_t) (330)) int32_t 计算温度(uint32_t 测量值) { int32_t 温度; 温度 = ((measure * VDD_APPLI / VDD_CALIB) - (int32_t)*TEMP30_CAL_ADDR ); 温度 = 温度 *(int32_t)(130-30); 温度 = 温度 /(int32_t)(*TEMP130_CAL_ADDR -*TEMP30_CAL_ADDR); 温度=温度+30; 返回(温度); } 无效配置温度(无效){ //ADC就绪 ADC1->ISR |= ADC_ISR_ADRDY; //时钟的激活 RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; //连续模式 ADC1->CFGR1 |= ADC_CFGR1_CONT; //通道温度传感器 ADC1->CHSELR |= ADC_CHANNEL_TEMPSENSOR; //选择采样时间 ADC1->SMPR |= ADC_SMPR_SMP_1; //打开温度传感器 ADC->CCR |= ADC_CCR_TSEN; 等待(1); //开始转换 ADC1->CR |= ADC_CR_ADSTART; 等待(1); pcMain.printf('%Measure %inr', measure); pcMain.printf('%温度值为%inr',ComputeTemperature(measure)); } int 主要(无效) { 配置温度(); } |
|
相关推荐
1个回答
|
|
几周前我刚刚遇到使用 STM32FL052 的情况。您需要在 CFGR3 中启用内部温度传感器。这些是来自我的代码的 HAL 调用:
// 我们需要调用它们来启用 VREFINT 和 TempSensor 读数 HAL_ADCEx_EnableVREFINT(); HAL_ADCEx_EnableVREFINTTempSensor();这是 HAL 代码中的特定寄存器位设置: /* 通过设置 CFGR3 寄存器中的 ENBUF_SENSOR_ADC 位为 ADC 启用缓冲区 */ SET_BIT(SYSCFG->CFGR3, SYSCFG_CFGR3_ENBUF_SENSOR_ADC);参考手册还指出,您需要将 ADC 采样时间设置得非常长才能读取内部 2x 传感器。这是我的代码: hadc.Init.SamplingTime = ADC_SAMPLETIME_239CYCLES_5; // S.Krattiger - 必须保持在 239.5 (33.5uS) 才能准确读取温度和参考电压 要读取内部温度,在 HAL 代码中定义了一个 MACRO,这是我在 (C) 中返回一个 int 值的实现。因为我读取了多个 ADC,所以我的结果是 DMA 并显示在下面的“adcResult[2]”中。而且这一切都基于准确的参考电压,因此您也需要阅读它。 GlobalStats.CurrentTemp = __LL_ADC_CALC_TEMPERATURE(GlobalStats.ReferenceVoltage, adcResult[2], LL_ADC_RESOLUTION_12B)); |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2623 浏览 1 评论
3206 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1779 浏览 1 评论
3605 浏览 6 评论
5985 浏览 21 评论
938浏览 4评论
1313浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
581浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1301浏览 3评论
1356浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:36 , Processed in 1.174031 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号