Skocz do zawartości

[C] STM32 - Problem z SysTick


kling

Pomocna odpowiedź

Witam,

zdecydowałem się rozpocząć zabawę z ARM'ami i stosować je w swoich konstrukcjach. Jednak już na samym początku nauki natknąłem się na problemy. Mianowicie chciałbym korzystać z przerwań od SysTick'a. Jednak za nic kompilator nie chce przepuścić jego konfiguracji.

/* AHB clock selected as SysTick clock source */
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
//* Set SysTick reload value to 0xFFFF */
SysTick_SetReload(0xFFFF);
SysTick_CounterCmd(SysTick_Counter_Enable);
/* Enable SysTick interrupt */
SysTick_ITConfig(ENABLE);

Błędy:

..\src\main.c: In function 'main':
..\src\main.c:36:2: warning: implicit declaration of function 'SysTick_SetReload'
..\src\main.c:37:2: warning: implicit declaration of function 'SysTick_CounterCmd'
..\src\main.c:37:21: error: 'SysTick_Counter_Enable' undeclared (first use in this function)
..\src\main.c:37:21: note: each undeclared identifier is reported only once for each function it appears in
..\src\main.c:39:2: warning: implicit declaration of function 'SysTick_ITConfig'
..\src\main.c:44:3: warning: implicit declaration of function 'SysTick_GetCounter'

Chciałbym zauważyć, że są to komendy żywcem skopiowane z dokumentacji.

Środowisko w ktorym się bawię, to Atollic TrueStudio.

Jeżeli ktoś byłby w stanie wytłumaczyć mi gdzie robię błąd byłbym wdzięczny

Link do komentarza
Share on other sites

A dołączyłeś odpowiednie biblioteki i pliki nagłówkowe?

Nie bawiłem się tym kompilatorem, ale w błędach mówi o tym, że nie znajduje odpowiednich funkcji i zmiennych...

Link do komentarza
Share on other sites

Nie mam pojęcia jakie jeszcze pliki mogę dodać. Są dodane biblioteki przez kompilator, i inne fukcje, np RCC czy GPIO działają, i nie ma żadnych problemów.

A z jakiego kompilatora Ty korzystałeś? bo szczerze mówiąc nie związałem się zbytnio z TS:)

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Czytałem o tym, ale wydawało mi się zbyt skomplikowane jak na sam początek;) ale widzę, że te gotowe toolchainy się nie sprawdzają... Chyba będę musiał tak zrobić i zobaczyć czy to pomoze...

//EDIT

Niestety muszę zostać przy TrueStudio, bo OpenOCD nie współpracuje z ST-Link.

Więc w takim razie problem nadal aktualny;)

Link do komentarza
Share on other sites

A ja jak zawsze polecam IAR zarówno do STM32 jak i do msp430

Uzasadnisz swoją wypowiedź? bo ja dopiero zaczynam z tym przygodę, bawiłem się trzema(jeszcze uVision) i najbardziej do gustu przypadło mi właśnie TS. Ale podejrzewam, że jest to spowodowane najprostszą konfiguracją. Ale jeżeli przekonasz mnie, że IAR jest lepsze, chętnie sie bliżej z nim zapoznam:)

Link do komentarza
Share on other sites

Proste bawiłem się eclipsem i wywalało mi błędy związane z bibliotekami, gdzy przerzuciłem ten sam program do IAR problem znikł 😃

Generalnie IAR nie nalezy do łatwych w obsłudze ale napewno idzie się połapać po 10 min zabawy co do ważniejszych f-cji 😉

Życzę powodzenia

P.S. Sam bawie się teraz STM32 Discovery 😉

Link do komentarza
Share on other sites

30 dni, a później 32KB kodu... albo spooooory wydatek.

Jak chodzi o TS to całkiem dobre środowisko, a nie bardzo rozumiem problem z SysTick.

Wystarczy użyć SysTick_Config(), działa bez problemu.

Link do komentarza
Share on other sites

Eee, 20-30dni? Chyba, ze mógłbyś przybliżyć ten "Kickstart edition", bo nie bardzo rozumiem.

ED. Elvis mnie uprzedził - hmm, 32kb kodu nie wygląda źle, warto się zainteresować rzeczywiście (gorzej, kiedy te 32kb przestanie wystarczać).

Link do komentarza
Share on other sites

Przez 30 dni można używać "evaluation edition" - czyli pełna funkcjonalność.

Po tym czasie zostaje tylko "Kickstart edition", z ograniczeniem do 32KB kodu.

Poza tym jest jeszcze problem ew. "komercyjnego" wykorzystywania kompilatora. TS można pisać programy komercyjne, pod IAR najpierw musimy kupić licencję.

Swoją drogą - ktoś wie ile taka licencja kosztuje? 🙂

Link do komentarza
Share on other sites

No właśnie... Dlatego myślę, że warto poświęcić trochę czasu na poznanie TS - podobnie jak LPCExpresso bazuje na eclipse + gcc. Oczywiście komercyjne środowiska mają swoje zalety, ale cena jest nieco zaporowa...

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.