-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!newsreader4.netcolog
ne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.
ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.p
l!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl
.POSTED!not-for-mail
Date: Sun, 13 Nov 2022 10:10:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.3.0
Newsgroups: pl.misc.elektronika
Content-Language: en-US, pl
From: Atlantis <m...@w...pl>
Subject: time.h na STM32 i strefy czasowe
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 37
Message-ID: <6370b48d$0$461$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.27.23.113
X-Trace: 1668330637 unt-rea-a-02.news.neostrada.pl 461 83.27.23.113:45504
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2681
Xref: news-archive.icm.edu.pl pl.misc.elektronika:775311
[ ukryj nagłówki ]Kontynuuję przenoszenie na FreeRTOS projektu mojego radia internetowego
na STM32F107. Na chwilę obecną urządzenie zaczęło działać jak powinno, a
co najważniejsze - działa stabilnie. Przy okazji uruchomiłem jeszcze
klienta SNTP do synchronizacji RTC wbudowanego w mikrokontroler.
Generalnie jeśli któryś z moich projektów posiada połączenie z siecią
(albo inną formę łączności ze światem zewnętrznym) staram się, żeby
pobierał z niej aktualny czas, a w przypadku posiadania wyświetlacza
posiadał także funkcję zegara.
Tutaj zawsze pojawia się kwestia obsługi stref czasowych i czasu
letniego/zimowego. Pamiętam, że w czasach AVR-ów musiałem to wszystko
robić ręcznie. Odpowiednia funkcja sprawdzała czy w danym momencie
powinienem dodać godzinę czy dwie, a potem odpowiednią wartość w
sekundach dodawałem do timestampu (time_t) aby finalnie przekonwertować
do struct tm i wyświetlić.
Trochę lepiej było to zaimplementowane w PIC32 - tam miałem zmienne
globalne, w których mogłem ustawić różnicę w stosunku do UTC oraz chyba
włączać automatyczne ustawianie czasu zimowego. Dzięki temu mogłem
korzystać z funkcji localtime() z time.h.
Jeszcze lepiej było to zrobione w RTOS SDK z ESP8266/ESP32, gdzie po
prostu wystarczyło ustawić odpowiednią zmienną środowiskową i to
własciwie załatwiało sprawę - biblioteka time.h stawała się świadoma
strefy czasowej:
setenv("TZ", "GMT-1GMT-2,M3.5.0/2,M10.5.0/3", 1);
tzset();
Jak to się robi w STM32, korzystając z GCC i STM32CubeIDE? Muszę wrócić
do rozwiązania z AVR-ów, czy istnieje jakieś bardziej eleganckie
rozwiązanie?
Kolejna sprawa: komuś udało się uruchomić serwer HTTP dołączony do lwIP,
korzystając z FreeRTOS?
Następne wpisy z tego wątku
- 15.11.22 20:31 Grzegorz Niemirowski
- 15.11.22 21:56 Atlantis
- 16.11.22 00:52 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=