Brak time.h w AVR GCC?

Tu możesz pisać o swoich problemach z pisaniem programów w języku C dla AVR.
Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Brak time.h w AVR GCC?

Postautor: Antystatyczny » niedziela 08 lis 2015, 14:09

Witam, poprawiam dzisiaj swoje libsy do różnych rtc i przy okazji chciałbym wprowadzić jakiś standard. Do tego celu chciałem użyć time.h, ale stwierdziłem jego brak. Na dobrą sprawę można taki moduł samemu napisać, ale może jest jakaś inna nowsza opcja? Time.h niby ma być częścią standardu, a tu klops...

Co o tym sądzicie? Tworzyc własny time.h czy nie bawić się w to i jedynie zdefiniować typedef time_t?
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: Brak time.h w AVR GCC?

Postautor: SuperGość » niedziela 08 lis 2015, 14:38

moze tu jakis trop złapiesz? http://www.nongnu.org/avr-libc/user-man ... _time.html ale pewnie juz to znasz

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Brak time.h w AVR GCC?

Postautor: Antystatyczny » niedziela 08 lis 2015, 14:39

Wiesz co... przejrzałem avr libc.pdf w folderze toolchaina avr i tego nie było... A w linku już cokolwiek widze na ten temat. Dzięki, już to studiuję
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Brak time.h w AVR GCC?

Postautor: Antystatyczny » niedziela 08 lis 2015, 14:57

W wersji 3.5.0.1662 nie ma time.h przejrzałem i porównałem obie dokumentacje i niestety ta zainstalowana automatycznie wraz z toolchainem i AS7.0 nie zawiera tego modułu. Spróbowałem rownież zainkludować time.h, ale kompilator natychmiast wywalił błąd:
Error time.h: No such file or directory test_C C:\Users\Anty\Documents\Atmel Studio\7.0\test_C\test_C\main.c 11
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
mokrowski
User
User
Posty: 190
Rejestracja: czwartek 08 paź 2015, 20:50
Lokalizacja: Tam gdzie Centymetro

Re: Brak time.h w AVR GCC?

Postautor: mokrowski » niedziela 08 lis 2015, 15:00

Przeglądam właśnie toolchain Atmel'a i time.h rzeczywiście tam nie ma. Co ciekawe w pakietach GNU/Linux oraz OS X jest pełna biblioteka wraz z time.h oraz innymi właściwościami kompilatora. Spekuluję że Atmel miał problem z budowaniem pod Win i pewnie z tego powodu pominął (w Win jest trochę zamieszania z czasem... ).
,,Myślenie nie jest łatwe, ale można się do niego przyzwyczaić" - Alan Alexander Milne: Kubuś Puchatek

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Brak time.h w AVR GCC?

Postautor: Antystatyczny » niedziela 08 lis 2015, 15:04

Hmm...zatem co byś zaproponował zamiast standardowego time.h? Mam napisane 3 moduły do róznych układów rtc i chciałbym je jakoś ustandaryzować, czyli trzymać dane o czasie i dacie w jednym zgodnym typie, używać ujednolicoego nazewnictwa funkcji itd...
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
mokrowski
User
User
Posty: 190
Rejestracja: czwartek 08 paź 2015, 20:50
Lokalizacja: Tam gdzie Centymetro

Re: Brak time.h w AVR GCC?

Postautor: mokrowski » niedziela 08 lis 2015, 15:16

Szeroko traktując temat:
1. Zapoznaj się ze standardem języka C np. C11 masz tu: http://www.open-std.org/JTC1/SC22/WG14/ ... /n1570.pdf
2. Przeczytaj co oznacza "hosted" oraz "freestanding". W standardzie wyżej to 4.6 i 5.4.2.1
3. Tam się zorientujesz że time.h, nie jest wymagany dla freestanding.

Rada...
Albo sam skompiluj toolchain albo skorzystaj z dostępnego w pakietach w GNU/Linux :-)
,,Myślenie nie jest łatwe, ale można się do niego przyzwyczaić" - Alan Alexander Milne: Kubuś Puchatek


Wróć do „Programowanie AVR w C”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości