这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 【CH582M】CH582M的ADC功能(5)-----采集内部温度数据

共1条 1/1 1 跳转至页

【CH582M】CH582M的ADC功能(5)-----采集内部温度数据

专家
2026-10-17 20:16:44     打赏

在前例采样通道0的处理中,数据偏移比较厉害,本次改用内部温度常感器数据作为采样对象,看看是什么情况。

代码为:

#include "CH58x_common.h"
uint16_t adcBuff[40];
volatile uint8_t adclen;
volatile uint8_t DMA_end = 0;
/*********************************************************************
 * @fn      DebugInit
 *
 * @brief   调试初始化
 *
 * @return  none
 */
void DebugInit(void)
{
    GPIOA_SetBits(GPIO_Pin_9);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
    GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);
    UART1_DefInit();
}

/*********************************************************************
 * @fn      main
 *
 * @brief   主函数
 *
 * @return  none
 */
int main()
{
    uint8_t      i;
    signed short RoughCalib_Value = 0; // ADC粗调偏差值
    SetSysClock(CLK_SOURCE_PLL_60MHz);
    /* 配置串口调试 */
    DebugInit();
    /* 采样内部温度 */
    ADC_InterTSSampInit();
    DelayMs(200); // 等待IO稳定
    while(1) {
        adcBuff[1] = ADC_ExcutSingleConver();;
        PRINT("%d \n", adc_to_temperature_celsius(adcBuff[1]));
        DelayMs(100);
    }
}



输出结果同样用串口绘制曲线的形式:

image.png

温度数据在21~25之间跳跃,感觉偏移范围稍微有点儿大。




关键词: CH582M     ADC    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]