Добрый день!
есть строка: "3150.7825"
нужно выделить из нее 31, 50 и 7825
есть структура:
Код
typedef __packed struct {
uint8_t lat_gr;
uint8_t lat_min;
uint16_t lat_secs;
} GPS_info_t;
как правильно записать строку форматов?
Пока вот с таким вариантом (там пробел вместо точки, если точка - в hard fault сразу)
Код
sscanf(token_buf, "%02c%02c %hd", &GPS_temp_data.lat_gr, &GPS_temp_data.lat_min, &GPS_temp_data.lat_secs);
считывается просто код символа, т.е.
lat_gr = '3'
lat_min = '5'
lat_secs = '0'
при таком - вываливаемся в hard fault
Код
sscanf(token_buf, "%02d%02d %hd", &GPS_temp_data.lat_gr, &GPS_temp_data.lat_min, &GPS_temp_data.lat_secs);
сканить в int переменные, а потом переприсваивать... некошерно...