• Как узнать текущее время и дату?

    В <ctime> есть функция time(), возвращающая текущее время в формате time_t — количество секунд, прошедших с 00:00 1 января 1970. Функция localtime() позволяет перевести time_t в структуру tm, которая состоит из полей, представляющих отдельно часы, минуты, месяц, год и т. д.
    #include <stdio.h>
    #include <ctime>
    using namespace std;
    int main()
    {
        time_t t1 = time(NULL);
        tm t = *localtime(&t1);
        
        // Вывод текущего времени в формате 06:59:08
        printf("%.2d:%.2d:%.2d\n", t.tm_hour, t.tm_min, t.tm_sec);
        return 0;
    }

    Список полей структуры tm и пояснения к ним есть тут.
    Ответ написан
    Комментировать
  • Как поменять SDA и SCL местами?

    Ocelot
    @Ocelot
    Ответ в первом приближении: нет, нельзя. Все стандартные библиотеки используют аппаратный i2c, он висит на определённых пинах, которые не переназначаются.

    Более глубокий ответ: если очень хочется, то можно. Ищите библиотеку software i2c. Коммуникация будет жрать больше CPU, зато пины сможете назначить любые.
    Ответ написан
    Комментировать