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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.