Измерение наносекунд в Arduino с использованием clock_gettime

0

Я делаю проект локализации Используя Arduino и Xbee Zg, где мне нужно измерить время в nano-втором разрешении im, используя плату arduino с 84 Mhz clock и arduino 1.5.2 IDE

Я пытаюсь использовать функцию clock_gettime я уже включил time.h, но я получаю ту же ошибку компиляции clock_gettime которая не объявлена в этой области

это только часть моего файла Distance_Measurement.c

#include "Distance_Measurement.h"
#include "time.h"
struct timespec start, stop;

bool Start_Time()
{
 if(clock_gettime(CLOCK_REALTIME,&start) == -1)
    return false;
 else 
    return true;
}

bool Stop_Time()
{
  if(clock_gettime(CLOCK_REALTIME,&stop) == -1)
    return false;
  else 
    return true;
}

double Cal_Time_Nano()
{ 
    return (stop_time.tv_nsec - start_time.tv_nsec);
}

пожалуйста помогите

  • 0
    Для справки: 84 МГц = ~ = 11,9 нс / цикл. Вы просто не получите истинное наносекундное разрешение, просто приближение, основанное на 11,9 нс тиках (если даже это).
  • 0
    в долгосрочной перспективе, но с учетом того, что GCC ищет заголовки, запрошенные с помощью #include «file», сначала в каталоге, содержащем текущий файл, затем в каталогах, как указано в параметрах -iquote, затем в тех же местах, где он бы искал заголовок запрашивается с угловыми скобками. Например, если /usr/include/sys/stat.h содержит #include "types.h", GCC ищет types.h сначала в / usr / include / sys, а затем в своем обычном пути поиска. , проверьте параметры -iquote или попробуйте #include <time.h>
Показать ещё 5 комментариев
Теги:
arduino
nanotime

1 ответ

0

Я сначала использовал #include, я получил ту же ошибку, что и я обнаружил, что визуальная студия включила дополнительное время.h не time.h в arduino gcc, поэтому я скопировал последнюю и вложил ее в путь библиотек arduino с помощью моей библиотеки измерения расстояния - PrinceOfEgy

Ещё вопросы

Сообщество Overcoder
Наверх
Меню