จากโค้ด ในฟังชั่น main ผมคิดว่า น่าจะเป็นเพราะ
printf("T=%3.2f C\r\n",fTemp_true);
printf("H=%3.2f%%\r\n",fRh_true);
printf("Dew Point: %3.6fC \r\n\r\n",fDew_point);
delay_ms(1000);
delay_ms ลองแก้ให้น้อยดู แต่เราจะมองทันหรือป่าว 1000ms กว่าจะวนกลับมาอ่านอีกครั้ง ค่าจริงมันก็คงจะกระโดดไปไกลแล้ว ลองดูนะครับ
เข้าใจผิดซะงั้น ดีนะที่พี่ smitdh มาอธิบายให้
ถ้าอ่านค่าอุณหภูมิได้ก็คิดว่ามันน่าจะไม่เสียหรอก ถ้าจะเสียก็น่าจะมาจากการจ่ายแรงดันเกิน ผมคิดว่านะ