似乎内部温度采样不太准确,下面是测试的温度和实际代码
测量芯片部分有26.7度,实际输出是-1~2度左右。
UINT8 i; signed short RoughCalib_Value = 0; // ADC粗调偏差值 SetSysClock( CLK_SOURCE_PLL_60MHz ); /* 配置串口调试 */ DebugInit(); PRINT( "Start @ChipID=%02X\n", R8_CHIP_ID ); /* 温度采样并输出, 包含数据校准 */ PRINT( "\n1.Temperature sampling...\n" ); ADC_InterTSSampInit(); RoughCalib_Value = ADC_DataCalib_Rough(); // 用于计算ADC内部偏差,记录到变量 RoughCalib_Value中,注意这个变量需要定义为有符号变量 for( i = 0; i < 20; i++ ) { abcBuff[i] = ADC_ExcutSingleConver() + RoughCalib_Value; // 连续采样20次 } for( i = 0; i < 20; i++ ) { PRINT( "%d \n", ADC_GetCurrentTS(abcBuff[i])); }
热门产品 :
CH339: 7端口多功能USB HUB控制器芯片