[mw_shl_code=c,true]程序没有运行,一开始就进入了 hardfault handler,如果把中间两个sprintf注释掉,只留第一个和第四个sprintf,就不会错,不知道什么原因[/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true]char file_data1[56]={0};
char file_data2[56]={0};
char file_data3[128]={0};
char file_data4[512]={0};
sprintf(file_data1
,"%02d:%02d:%02d"
//时间
,bcd2int(fstime.Hour)
,bcd2int(fstime.Minute)
,bcd2int(fstime.Second)
);
sprintf(file_data2
,"Latitude %02d.%d Longitude %03d.%d "
//纬度
,GPSData_GetLatitude()/1000000
,GPSData_GetLatitude()-(GPSData_GetLatitude()/1000000)*1000000
//经度
,GPSData_GetLongitude()/1000000
,GPSData_GetLongitude()-(GPSData_GetLongitude()/1000000)*1000000
);
// sprintf(file_data3
// ,"speed %03d.%d soot %ld corona %02.02f temperature %03.01f NOx %04.1f O2 %f"
// //时间
//
// //速度
// ,GPSData_GetSpeed()/10
// ,GPSData_GetSpeed()-GPSData_GetSpeed()/10*10
// //CAN设备ID
// //Soot current烟尘电流
// //Corona current
// //内部温度
// ,Get_OBD_soot()
// ,Get_OBD_corona()
// ,Get_OBD_temperature()
// ,Get_NOx()
// ,Get_O2()
// );
sprintf(file_data4
,"MAF %lf ALD %d IAT %d MAP %d RPM %d NowSpd %d ENGLOAD %d WATER_TEMPER %d VOLTAGE %d TotalMileage %lf \r\n"
//OBD数据
//1.OBD进气量值
,Get_OBDCAR_MAF()
//2.绝对负荷值
,Get_OBDCAR_ALD()
//3.OBD进气温度
,Get_OBDCAR_IAT()
//4.进气歧管压
,Get_OBDCAR_MAP()
//5.发动机转速
,Get_OBDCAR_RPM()
//6. 当前车速
,Get_OBDCAR_NowSpd()
//7. 发动机负荷
,Get_OBDCAR_ENGLOAD()
//8. 发动机冷却液温度
,Get_OBDCAR_WATER_TEMPER()
//9.汽车电瓶电压
,Get_OBDCAR_VOLTAGE()
//10.当前行驶里程
,Get_OBDCAR_TotalMileage()
);[/mw_shl_code]
|