Skocz do zawartości

[C] STM32 - Problem z SysTick


Pomocna odpowiedź

Więc tak, problem z SysTickiem rozwiązany. Mój problem polegał na tym, że miałem nieaktualnego helpa, a najnowsze biblioteki. Sporo się zmieniło w jego obsłudze, ale już częściowo to opanowałem. Mam jeszcze pewien problem, ale na razie spróbuje go rozwiązać samodzielnie;)

Po drugie cieszę się, że na forum jest kilka osób które bawią się ARM'ami. Mam nadzieje, że jeżeli Władza nie będzie miała nic przeciwko temu(niezgodność z tematyka...) to możemy trochę o tym podyskutować🙂 być może ktoś jeszcze sie do nich przekona;)

Zaczynając, nurtuje mnie jeszcze jedna kwestia. Mianowicie przeglądając internet natknąłem się na wiele złych opinii o tych bibliotekach od ST. Zwłaszcza o tym, że są nieoptymalne. Ile w tym prawdy? I czy naprawdę warto zaniechać ich nauki i męczyć z tymi 32-bitowymi rejestrami? Jeszcze ludzie wspominali o 'bit-bandingu' ale nie znalazłem zbyt wielu informacji o tym...

P.S. W takim razie chyba zostane przy TS. 🙂

Są mało optymalne. Tylko jakie ma znaczenie czy inicjalizacja ADC zajmuje 5 czy 50 cykli zegara, skoro robisz to raz?

Pomijając jakieś przypadki wymagające wyjątkowych optymalizacji można te biblioteki używać. Ja je w dużej części wykorzystuje. Są trochę specyficzne, ale jak się do nich przyzwyczaić to wiele rzeczy prosto się obsługuje. Mogę polecić.

Jak chodzi o bibliotekę ST to ja za nią nie przepadam. Jest nieoptymalna, ale to jak każda biblioteka, nie można narzekać.

Moim zdaniem jest brzydka - wypełnianie niekończących się struktur jest paskudne, ale to rzecz gustu.

Natomiast tym co mnie do biblioteki zniechęciło to jej zmiany. Sam już to zobaczyłeś - masz przykład, a nie działa bo nowa wersja bibliteki... Ja interesowałem się STM32 już jakiś czas temu. Byłem niesamowicie zaskoczony, jak po może roku przerwy stare programy nie chciały się skompilować... ST przygotowało nową bibliotekę i musiałem się wszystkiego uczyć od nowa... Teraz mam uraz.

Osobiście bardziej odrzuca mnie zabawa z rejestrami niż niekończące się struktury... Ale ciężko jest znaleźć fajne przykłady czy też materiały do nauki przy braku wstecznej komatybilności... i po raz kolejny stoję przed ważnym wyborem i jestem w kropce;d

//EDIT

Chyba przekonałem się do rejestrów:) wcale nie jest tak źle, jakby to wyglądało;)

Tylko nie rozumiem jednej rzeczy. Chodzi o odczyt stanu wejścia. Mam przycisk podpięty do PA0.

Konfoiguracja:

GPIOA->CRL = 0x4;
GPIOA -> CRH = 0x00;

Odczyt:

uint32_t stan = GPIOA->IDR;

I ku mojemu zdziwieniu otrzymuje stan=0xa001 !?!

Według dokumentacji, powinienem otrzymać 0x1. Skąd tam się wzięły te jedynki?! Czyżby aż tak duży wpływ zakłóceń?!

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...