關于CH571F最新EVT里ADC測量溫度的問題

最新的EVT (1.9)里ADC采樣結果轉換為溫度的方法改成了 adc_to_temperature_celsius

使用該方法轉換溫度時, 需要先從MCU內部讀取出4字節(jié)的C25校準值: *((PUINT32)ROM_CFG_TMP_25C)

實際測試時, 發(fā)現(xiàn)有兩種類型的C25校準值, 其中一種轉換出來的溫度值完全不正確:

一種類似于:0x0000050D , 另一種類似于:0xF5F9BDA9

高16位為全0的這種, 轉換出來的溫度值大多在-80度以下, 誤差極大.

請問這是什么問題, 為何C25校準值會有兩種幾乎完全不同的形態(tài)?


之前的芯片是少一組基準值,所以想要測量絕溫度需要自己調節(jié)下,相對溫度是沒問題的,之后批次的都是添加這組基準值,有這方面需求的可以在購買時和銷售講下。


好的, 請問外觀絲印有辦法判斷是哪個批次嗎?


上述ADC基準值最新批次芯片已有,如不是最新的批次,可以手動計算基準值,相對溫度值是準的。芯片的絲印可以貼出來看一下,我們也可幫忙判斷一下。



????//?調試初始化
????GPIOA_SetBits(GPIO_Pin_9);
????GPIOA_ModeCfg(GPIO_Pin_8,?GPIO_ModeIN_PU);
????GPIOA_ModeCfg(GPIO_Pin_9,?GPIO_ModeOut_PP_5mA);
????UART1_DefInit();
????PRINT("Start?@ChipID=%02X\n",?R8_CHIP_ID);
????/*?溫度采樣并輸出?*/
????PRINT("\n1.Temperature?sampling...\n");
????ADC_InterTSSampInit();
????for(i?=?0;?i?<?20;?i++)
????{
????????adcBuff[i]?=?ADC_ExcutSingleConver();?//?連續(xù)采樣20次
????}
????for(i?=?0;?i?<?20;?i++)
????{
????????PRINT("%d?\n",?adc_to_temperature_celsius(adcBuff[i]));
????}

CH582M自帶TS溫感,通過ADC測量的溫度如下,為啥都是整數(shù),不帶小數(shù)?

21?

21?

21?

20?

22?

22?

21?

21?

23?

22?

22?

21?

21?

22?

23?

21?

22?

21?


PRINT("%d \n", adc_to_temperature_celsius(adcBuff[i]));

這個打印出來的溫度值都是整數(shù),不帶小數(shù),為何?

自帶TS溫感精度是多少?


CH582M-R0-1v0

評估板的絲印是這個字樣


CH582 MCU上的絲印用華為手機10倍拍不清,等白天再看看

芯片的絲印看不清,大家是如何拍的?


例程是通過整型運算,沒有浮點運算,如果浮點運算,可以如下配置

image.png

溫度采集誤差

image.png


如上。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频