打印
[开发板]

【CW32L031CxTx StartKit评估板测评】+片内温度检测

[复制链接]
626|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2023-10-26 22:42 编辑

CW32L031开发板内置了多个ADC模数转换通道,且内置了温度传感器,利用它与LCD5110显示屏相配合可完成片内温度的检测与显示功能,其效果如下图所示。

片内温度检测与显示


在ADC参考电压为1.5V时,其读取片内温度传感器的函数为:
void ADC_GetTsVref1V5(float *fAdcTsDegree)
{
    uint16_t u16AdcResult;
    uint8_t temp1;
    uint16_t temp2;
    temp1 = *((uint8_t*) (ADDR_T0));
    temp2 = *((uint16_t*) (ADDR_TRIM_1P5));
    u16AdcResult = ADC_GetConversionValue();
    *fAdcTsDegree = temp1 * 0.5f + COEFF_TS * 1.5f * (u16AdcResult - temp2);
}
在单次转换模式下,其采样与显示主程序为:
int main(void)
{
    ADC_InitTypeDef ADC_InitStructure = {0};
    ADC_WdtTypeDef ADC_WdtStructure = {0};
    ADC_SingleChTypeDef ADC_SingleChStructure = {0};
    RCC_HSI_Enable(RCC_HSIOSC_DIV6);
    ADC_PortInit();
    GTIM_Init();
    ADC_StructInit(&ADC_InitStructure);
    ADC_InitStructure.ADC_VrefSel = ADC_Vref_BGR1p5;
    ADC_WdtInit(&ADC_WdtStructure);
    ADC_SingleChStructure.ADC_DiscardEn = ADC_DiscardNull;
    ADC_SingleChStructure.ADC_Chmux = ADC_TsInput;
    ADC_SingleChStructure.ADC_InitStruct = ADC_InitStructure;
    ADC_SingleChStructure.ADC_WdtStruct = ADC_WdtStructure;
    ADC_SingleChOneModeCfg(&ADC_SingleChStructure);
    ADC_ITConfig(ADC_IT_EOC, ENABLE);
    ADC_EnableIrq(ADC_INT_PRIORITY);
    ADC_ClearITPendingAll();
    ADC_Enable();
    ADC_ExtTrigCfg(ADC_TRIG_GTIM1, ENABLE);
    GTIM_Cmd(CW_GTIM1, ENABLE);
    LCD5510_CONFIG();
    LED_SetHigh();
    CS_SetLow();
    LCD5510_Init();
    LCD_prints(0,0,"CW32L031");
    LCD_printc(0,1,'T');
    LCD_printc(1,1,'=');
    LCD_printc(8,1,'C');
    while (1)
    {
        while (!(gFlagIrq & ADC_ISR_EOC_Msk));
        gFlagIrq = 0u;
        valueAdc = ADC_GetConversionValue();
        LCD_printc(2,1,valueAdc/1000+'0');
        LCD_printc(3,1,valueAdc%1000/100+'0');
        LCD_printc(4,1,'.');
        LCD_printc(5,1,valueAdc%100/10+'0');
        LCD_printc(6,1,valueAdc%10+'0');
        ADC_GetTsVref1V5(&fTsDegree);
    }
}
经程序的编译与下载,则可得到上图所示的检测效果。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

464

主题

2780

帖子

38

粉丝