查看: 2855|回复: 5

FM33L0x芯片温度传感器

[复制链接]

1

主题

3

帖子

712

积分

专家

Rank: 5Rank: 5

积分
712
发表于 2020-9-29 17:55:06 | 显示全部楼层 |阅读模式
本帖最后由 8951 于 2020-9-30 13:27 编辑

自己写了一个FM33L0x读取芯片自带温度传感器的程序,但是数值和实际值相差很大返回值大概1300,各位,帮下忙,谢谢
问题已经解决(下载.11例程即可),谢谢楼下(回复限制了)
.11例程:http://www.fmdevelopers.com.cn/f ... 65&fromuid=3188

// 温度传感器
uint32_t GetTemperatureSample(void)
{
                uint32 ADCRdresult;
                RCC_OPC_CR2_ADCPRSC_Set(RCC_OPC_CR2_ADCPRSC_DIV16); // ADC时钟32分频
                RCC_OPC_CR2_ADCCKE_Setable(ENABLE);         // ADC时钟使能
                PMU_BUF_CR_VREFPTAT_EN_Setable(ENABLE);     // 温度通道使能
                PMU_BUF_CR_VPTATBUFFER_EN_Setable(ENABLE);
                ADC_CHER_TSCH_Setable(ENABLE);              // 温度传感器测量通道

                ADC_ISR_EOC_Clr();
    ADC_CR_ADEN_Setable(ENABLE);   // 启动ADC
    TicksDelayUs(20);                          // 软件延时至少5个ADC工作时钟       
                ADC_CR_START_Setable(ENABLE);  // 开始转换

    // 等待转换完成

                while (ADC_ISR_EOC_Chk() == RESET);
                ADC_ISR_EOC_Clr();
                ADCRdresult=ADC_DR_Read();

    ADC_CR_ADEN_Setable(DISABLE);   // 关闭ADC
    while(ADC_ISR_BUSY_Chk());
                RCC_OPC_CR2_ADCCKE_Setable(DISABLE);        // ADC时钟关闭  
    PMU_BUF_CR_VREFPTAT_EN_Setable(DISABLE);     // 温度通道关闭
                PMU_BUF_CR_VPTATBUFFER_EN_Setable(DISABLE);

                ADC_CHER_TSCH_Setable(DISABLE);              // 温度传感器关闭       

    // 转换结果
    return ADCRdresult;
}



回复

使用道具 举报

0

主题

2

帖子

18

积分

初级工程师

Rank: 1

积分
18
发表于 2020-9-30 10:07:39 | 显示全部楼层
本帖最后由 wangyihao 于 2020-9-30 10:11 编辑

.11版本有温度采集例程
回复

使用道具 举报

151

主题

844

帖子

4391

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4391
发表于 2020-9-30 08:20:36 | 显示全部楼层
请直接用我们例程中的adc测温例程
回复

使用道具 举报

1

主题

3

帖子

712

积分

专家

Rank: 5Rank: 5

积分
712
 楼主| 发表于 2020-9-30 09:48:01 | 显示全部楼层
顾博文 发表于 2020-9-30 08:20
请直接用我们例程中的adc测温例程

你好,三个ADC例程中没有发现温度函数,最新的.10版本也没发现,能详细告知具体例程吗
回复

使用道具 举报

0

主题

2

帖子

18

积分

初级工程师

Rank: 1

积分
18
发表于 2020-9-30 10:07:58 | 显示全部楼层
本帖最后由 wangyihao 于 2020-9-30 10:10 编辑

另外他们的手册上写的温度参考值存储地址是1ffffc90,实际上是1ffffc92
回复

使用道具 举报

151

主题

844

帖子

4391

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4391
发表于 2020-9-30 16:04:05 | 显示全部楼层
8951 发表于 2020-9-30 09:48
你好,三个ADC例程中没有发现温度函数,最新的.10版本也没发现,能详细告知具体例程吗 ...

这个试试

ADC_测试温度例程.rar

313.86 KB, 下载次数: 187

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表