📄 引擎点火控制器角度侦测程序.c
字号:
Uint temp_cvt(Uint adc_v)
{
Uchar cnt_offset;
Uint offset;
Uchar degree_cnt;
Uchar cnt1;
Uint BT_table[15] = {
3795, /* 0 deg C */
3729, /* 5 deg C */
3654, /* 10 deg C */
3567, /* 15 deg C */
3470, /* 20 deg C */
3362, /* 25 deg C */
3242, /* 30 deg C */
3114, /* 35 deg C */
2977, /* 40 deg C */
2832, /* 45 deg C */
2682, /* 50 deg C */
2528, /* 55 deg C */
2372, /* 60 deg C */
2213, /* 65 deg C */
2063 } ; /* 70 deg C */
cnt1 = 0;
while (( cnt1 <= 14) && (BT_table[cnt1] >= adc_v)) cnt1 ++;
if (cnt1 == 0)
return 0;
else if (cnt1 == 15)
return 70;
else
{
cnt1--;
cnt_offset = (unsigned char)(((BT_table[cnt1] - BT_table[cnt1+1])*2)/50);
if (cnt_offset & 0x01)
{
cnt_offset >>= 1;
cnt_offset++;
}
else
cnt_offset >>= 1;
degree_cnt = 0;
offset = BT_table[cnt1] - (unsigned int)cnt_offset;
while ( offset >= adc_v)
{
offset -= (unsigned int)cnt_offset;
degree_cnt += 1;
}
return ( cnt1*50 + degree_cnt);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -