[$is_event_jimu] 2 [$group_e] 元件事件库.NTC热敏电阻模块 [$group] 元件库-传感器.$pname$ [$last_ver_update_time] 2021-04-03 [$min_need_ver] 1.23 [$p_list] [$short_show_UIname] [$code_area_type] codes,exe_per_1ms,init_code [$blocks_type] line [$name] NTC [$引脚占用列表,用于提示冲突] [$寄存器占用列表,用于提示冲突,但=>后的值没变则不提示冲突] [($_xgm$dev_no),type=num]|NTC热敏电阻AD转换器已占用 [$中断函数号占用列表,用于提示冲突] [$interrupt_1] [$thread_do] [$cs] [$cs_sim] API_funcs_for_sim.alert_to_js_tishi_cannot_sim_this_ele(p_item1_ref , "NTC电阻积木"); [$function_ref_define_in_headfile] @@file=NTC.h void temp_trans_$rnd_varname_pre$(); extern float tempV_trans_$rnd_varname_pre$; extern u8 arr_tempV_length_$rnd_varname_pre$; [$init_code_for_define_area_once] @@file=NTC.c #include "Lib_base.h" //考虑PROCESS2_WAIT_UNTIL宏 #include "protothread.h" #include "app_process.h" #include "sys/timer.h" #include "ADC_Lib.h" [$init_code_for_define_area] @@file=NTC.c #define lvbolen_$rnd_varname_pre$ [($_xgm$lvbo_count),type=num] float tempV_trans_$rnd_varname_pre$; float arr_tempV_trans_$rnd_varname_pre$[lvbolen_$rnd_varname_pre$]; u8 arr_tempV_length_$rnd_varname_pre$; //温度转换 //参数:ADC转换值 void temp_trans_$rnd_varname_pre$() { float temp; float ADC_value=(float)TT_AD_GetValue2([($_xgm$dev_no),type=num],6); //数据进入前,可先做滤波处理 float Rt=0; //NTC电阻 float R=1*[($_xgm$Rval),type=num]; //10K固定阻值电阻 float R25=1*[($_xgm$R25val),type=num]; float T0=273.15+25;//转换为开尔文温度 float B=[($_xgm$Bval),type=num]; //B值 float Ka=273.15; //K值 float VR=0;//电压值 VR=(float) (ADC_value/4096.00*[($_xgm$Vcc),type=num]); //转换成电压值 if([($_xgm$mode_pull),type=num]==0){ Rt=([($_xgm$Vcc),type=num]-VR)*R/VR;//计算Rt,下拉时 }else{ Rt=VR*R/([($_xgm$Vcc),type=num]-VR) ;//计算Rt,上拉时 } temp=1/(1/T0+log(Rt/R25)/B)-Ka+0.5; //计算温度 if(arr_tempV_length_$rnd_varname_pre$ 10000 10000 3.3 3950 [$replace_map] $_xgm$Rval = $value$Rval,mytype|num, ptype|TIMES $_xgm$Bval = $value$Bval,mytype|num, ptype|TIMES $_xgm$dev_no = $field$dev_no,mytype|num, ptype|TIMES $_xgm$mode_pull = $field$mode_pull,mytype|num, ptype|TIMES $_xgm$R25val = $value$R25val,mytype|num, ptype|TIMES $_xgm$lvbo_count = $field$lvbo_count,mytype|num, ptype|TIMES $_xgm$Vcc = $value$Vcc,mytype|num, ptype|TIMES