kulawikm Maj 4, 2016 Udostępnij Maj 4, 2016 U mnie to samo z błędem Symbol 'SysTick_IRQn' could not be resolved main.c /01_GPIO/Src line 129 Usunąłem projekt i zrobiłem nowy w kolejności jak w kursie i błąd zniknął. I to samo na 2 kompie - tam też nie miałem błędu. Gdy dodałem nowe LEDy w CubeMX to znowu nie mógł rozpoznać zmiennych LED_Green_GPIO_Port, LED_Green_Pin itd. dopiero po odświeżeniu plików projektu błędy zniknęły. Kolejna rzecz to zadanie domowe: Napisałem sam, później wgrałem plik binarny z kursu i nie przełączało mi diod tak płynnie jak na filmie z kursu. Wydaje mi się, że brakuje filtrowania sygnału z przycisku lub funkcji Debounce. Czy na schemacie płytki (UM1842 na str. 33 - schemat przycisku PA0) przy C36 [NA] nie oznacza not available - czyli nie ma filtrowania sygnału z przycisku i dlatego po naciśnięciu przycisku program przechodzi o kilka kroków na raz (zmienna state). Podzieli się ktoś spostrzeżeniami? Cytuj Link do komentarza Share on other sites More sharing options...
blue_17 Maj 8, 2016 Udostępnij Maj 8, 2016 Witam Bardzo dziękuję za świetny kurs, lekko napisany o bardzo praktycznym przekazie bo chyba oto chodzi 🙂 Osobiście ściągnąłem gotowego eclipsa ze strony projektu więc nie musiałem instalować wtyczek Mam dwie uwagi jak zwykle diabeł tkwi w szczegółach miałem znaczne dwa problemy 1. problem z kompilacją tak jak wcześniej już było napisane z funkcją. /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); rozwiązaniem jest odhaczenie w MXcube w opcjach generowania projektu opcji "Generate Under Root" Chciałbym się dowiedzieć do czego jest ta opcja i co ona powoduje ? 2. Drugą większą bolączka było to że po skompilowaniu nic się nie działo przeciągam binarkę do stm utilyty programuję i nic się nie dzieje. Rozwiązanie było "klasyczne dla Eclipse" przed kompilacją domyślnie projekt nie jest zapisywany aby to zrobić należy wejść w Window --> Preferences, rozwijamy zakładkę General, klikamy na Workspace i zaznaczamy Save automatically before build. Spowoduje to po kliknięciu w młotek zapis wszystkich plików projektu i kompilację. Z niecierpliwością czekam na możliwość wgrywania bezpośrednio z Eclipsa, zapewne wygoogluje to bo jestem niecierpliwy. Co do przycisku to przycisk ma wysoką "gałkę" sprzyja to drganiom, poza tym można dodać opóźnianie, wiem że wykorzystując DMA może to nie najbardziej optymalne rozwiązanie ale powinno być lepiej. Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
Bartek_Kurosz Maj 9, 2016 Udostępnij Maj 9, 2016 Gdy dodałem nowe LEDy w CubeMX to znowu nie mógł rozpoznać zmiennych LED_Green_GPIO_Port, LED_Green_Pin itd. dopiero po odświeżeniu plików projektu błędy zniknęły. Tak, po dodaniu własnych etykiet do Cube, aby wszystko działało trzeba przeprowadzić "procedurę naprawczą", a więc wykonać: Project->Clean Project->C/C++ Index -> Rebuild Project->C/C++ Index -> Freshen All FIles Wydaje mi się, że brakuje filtrowania sygnału z przycisku lub funkcji Debounce.Czy na schemacie płytki (UM1842 na str. 33 - schemat przycisku PA0) przy C36 [NA] nie oznacza not available - czyli nie ma filtrowania sygnału z przycisku i dlatego po naciśnięciu przycisku program przechodzi o kilka kroków na raz (zmienna state). Podzieli się ktoś spostrzeżeniami? Bardzo słuszna uwaga! U mnie jakimś cudem nie było tego problemu i zupełnie nie zwróciłem na to uwagi ale tak, jeśli przyjrzysz się płytce Discovery to faktycznie w miejscu kondensatora C36 (zaraz nad przyciskiem) jest puste miejsce. Problemem z priorytetem przerwań od SysTicka już się zajmuję. Czy ktoś z mających ten problem mógłby mi przesłać swój projekt w wiadomości prywatnej? Witam Bardzo dziękuję za świetny kurs, lekko napisany o bardzo praktycznym przekazie bo chyba oto chodzi 🙂 Cieszę się że komuś służy 🙂 1. problem z kompilacją tak jak wcześniej już było napisane z funkcją. /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); rozwiązaniem jest odhaczenie w MXcube w opcjach generowania projektu opcji "Generate Under Root" Chciałbym się dowiedzieć do czego jest ta opcja i co ona powoduje ? W którym miejscu w Cube znalazłeś opcję "Generate Under Root" ? Nigdy tego nie widziałem i nie mogę się tego doszukać. Pozdrawiam Bartek Cytuj Link do komentarza Share on other sites More sharing options...
beroduar Maj 9, 2016 Udostępnij Maj 9, 2016 Cieszę się że komuś służy Służy i to bardzo ! Nie znalazłem bardziej przystępnego tutoriala HAL/Cube - można więc domniemywać , że obecnie jest to najlepszy kurs na świecie 🙂 Bartku - wspominałeś, że można uruchomić Cube na Linuksie - próbuję uruchomić Cube pod Eclipse z wymuszeniem SWT_GTK3=0..../eclipse i niestety Cube się wysypuje z komunikatem JVM terminated. Exit code=1 /usr/bin/java -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m -jar /home/len/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar -os linux -ws gtk -arch x86_64 -showsplash /home/len/eclipse//plugins/org.eclipse.platform_4.3.2.v20140221-1700/splash.bmp -launcher /home/len/eclipse/eclipse -name Eclipse --launcher.library /home/len/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212/eclipse_1508.so -startup /home/len/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.appendVmargs -exitdata c6001b -product org.eclipse.epp.package.cpp.product -vm /usr/bin/java -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m -jar /home/len/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar ========================================= java version "1.7.0_101" OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.14.04.1) OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode) ========================================= - czy masz jakieś wskazówki? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
kulawikm Maj 10, 2016 Udostępnij Maj 10, 2016 W którym miejscu w Cube znalazłeś opcję "Generate Under Root" ? Nigdy tego nie widziałem i nie mogę się tego doszukać. Pozdrawiam Bartek Cytuj Link do komentarza Share on other sites More sharing options...
beroduar Maj 10, 2016 Udostępnij Maj 10, 2016 ... można uruchomić Cube na Linuksie - próbuję uruchomić Cube pod Eclipse z wymuszeniem SWT_GTK3=0..../eclipse i niestety Cube się wysypuje z komunikatem Update: dla zainteresowanych Linuksem - CubeMX działa stabilnie (przynajmniej na razie) jako 'standalone' i można bezproblemowo zaimportować wygenerowany projekt pod SWSTM32. Z niecierpliwością czekam na dalsze odcinki 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
bremenpl Maj 11, 2016 Udostępnij Maj 11, 2016 Czesc,Przy generowaniu kodu przez cubeMX (osobny program) tworzy on zawsze projekt o nazwie "nazwaprojektu configuration". Mam caly czas problem ze spacja w nazwie projektu i za kazdym razem jak aktualizuje kod przez cuba, to musze ja usuwac dla nazwy pliku wyjsciowego. Zauwazylem ze w waszym tutorialu nie ma tego problemu i macie nazwe projektu " costam_output". Czy moglbym prosic o wytlumaczenie jak ten problem zostal u was pominiety? Cytuj Link do komentarza Share on other sites More sharing options...
blue_17 Maj 11, 2016 Udostępnij Maj 11, 2016 Cześć. Ja również używam jako niezależnego narzędzia Może masz nie najnowszą wersję ja ściągałem ze strony STM Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
Bartek_Kurosz Maj 14, 2016 Udostępnij Maj 14, 2016 Czesc,Przy generowaniu kodu przez cubeMX (osobny program) tworzy on zawsze projekt o nazwie "nazwaprojektu configuration". Mam caly czas problem ze spacja w nazwie projektu i za kazdym razem jak aktualizuje kod przez cuba, to musze ja usuwac dla nazwy pliku wyjsciowego. Zauwazylem ze w waszym tutorialu nie ma tego problemu i macie nazwe projektu " costam_output". Czy moglbym prosic o wytlumaczenie jak ten problem zostal u was pominiety? Mi też często dodaje słowo "configuration" do nazwy projektu, ale nigdy się tym nie przejmowałem. Czy u Ciebie występują z tego powodu jakieś problemy? Cytuj Link do komentarza Share on other sites More sharing options...
Magit Maj 22, 2016 Udostępnij Maj 22, 2016 Panowie mam problemik. Otóż zakupiłem płytke discovery z aliexpress o taką: http://www.aliexpress.com/snapshot/7356232705.html?orderId=73067872524685 Problem tkwi w tym, ze gdy chce wybrać ją do projektu w Cube'ie, to tak na prawdę żadna nie odpowiada jej parametrom :/ Mamy coś takiego : STM32F407ZIT6 microcontroller featuring 2 MB of Flash memory, 256 KB of RAM in an LQFP144 package. Poniżej foto z płytakmi , które pasują do parametrów po przefiltrowaniu. Jak widzicie wszystkie są z innej 'rodziny' niż stm32f407. Co w tym przypadku zrobić? Którą wybrać? Pozdrawiam E: wybrałem jakiś mikro i próbowałem skompilować program postępując według instrukcji. Wyrzuciło mi dwa błędy: Ktoś wie jak się ich pozbyć? Z tego co wyczytałem jakiś problem z toolchainem, ale jak czemu skoro postępowałem wedle instrukcji? E2: pomijając pierwszy problem, ktoś wie o co chodzi z tymi błędami? szukałem w necie i pusto. Nawet przeinstalowałem eclipse'a, ale problem pozostoje... [ Dodano: 23-05-2016, 11:05 ] Nikt nie ma pomysłu? 😋 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Maj 24, 2016 Udostępnij Maj 24, 2016 Magit, w komentarzach do kursu staramy się rozmawiać o sprzęcie zgodnym z tym, który polecamy. Inaczej powstaje zamieszanie. Jeśli próbujesz przerabiać ten kurs korzystając z innej platformy załóż proszę osobny temat 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
bremenpl Maj 31, 2016 Udostępnij Maj 31, 2016 Czesc, dziekuje za dobry kurs. Mam jednak pytanie odnosnie obslugi przerwan od zdarzen zewnetrznych przy uzyciu biblioteki HAL. Jest tu pewna niejasnosc: /* USER CODE BEGIN PFP */ /* Private function prototypes -----------------------------------------------*/ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == Button_Pin){ HAL_GPIO_WritePin(LED_Blue_GPIO_Port, LED_Blue_Pin, HAL_GPIO_ReadPin(Button_GPIO_Port, Button_Pin)); } } /* USER CODE END PFP */} Autor podaje w jaki sposob sprawdzic ktory numer pinu spowodowal przerwanie, ale dalej nie wiadomo ktory port (A, B, C itd.). Ponadto nie wiadomo czy przerwanie bylo od falling czy rising edge, ale powiedzy moze to mozna sprawdzic odczytujac aktualny stan wyjscia. Ale zeby to zrobic, trzeba wiedziec od ktorego portu nastopilo przerwanie. Czy moglbym prosic o pomoc w tej kwestii? Cytuj Link do komentarza Share on other sites More sharing options...
Bartek_Kurosz Maj 31, 2016 Udostępnij Maj 31, 2016 Bardzo słuszne pytania! Śpieszę z odpowiedzią. Autor podaje w jaki sposob sprawdzic ktory numer pinu spowodowal przerwanie, ale dalej nie wiadomo ktory port (A, B, C itd.). Przerwań zewnętrznych może być maksymalnie 16. Każde przerwanie ma unikalny numer (0,1,...,15), ściśle powiązany z numerem pinu, z którego pochodzi. Tylko jedno przerwanie o danym numerze może być zdefiniowane w systemie. Oznacza to, że jeżeli zdefiniujemy przerwanie GPIO_EXTI_0 od pinu PA0, żaden inny pin 0 nie może być przerwaniem (PB0, PC0 itp.) Z powyższych rozważań widać, że jeżeli otrzymamy przerwanie o numerze x, może ono pochodzić tylko i wyłącznie od konkretnego pinu na konkretnym porcie, na którym zostało zdefiniowane - tę informację mamy, ponieważ musieliśmy to wcześniej skonfigurować. Ponadto nie wiadomo czy przerwanie bylo od falling czy rising edge, ale powiedzy moze to mozna sprawdzic odczytujac aktualny stan wyjscia. Niestety nie ma osobnych przerwań od zbocza narastającego i opadającego. Jedyny sposób na sprawdzenie zbocza jest właśnie taki jak napisałeś - natychmiast po wywołaniu przerwania sprawdzić stan pinu, od którego zostało wywołane przerwanie. Na pytanie jaki port należy sprawdzić odpowiedziałem w wyższej części wiadomości. Cytuj Link do komentarza Share on other sites More sharing options...
bremenpl Maj 31, 2016 Udostępnij Maj 31, 2016 Wszystko jasne, dziekuje za info. Cytuj Link do komentarza Share on other sites More sharing options...
Logos Czerwiec 6, 2016 Udostępnij Czerwiec 6, 2016 Hej! Mam problem z labelami CubeMX'a. Jeżeli wygeneruję jakieś, to Cube co prawda robi plik "mxconstants.h" i wszystko tam jest, ale nie dodaje się w main.h automatycznie include do owego pliku, a jak sam zainkluduję, to kompilator i tak nie widzi tych define'ów. Dodam, że odświeżam pliki, itd., itp., zgodnie z podpowiedziami z forum. Podobnie jest z ADC - po wygenerowaniu przez CubeMX'a kompilator nie widzi żadnych symboli, np. ADC_EOC_SINGLE_CONV, ADC_RESOLUTION_12B, etc. Robiłem wszystko dokładnie tak, jak w kursie napisano! Bardzo proszę o pomoc. Notatka z 2016-06-07: a teraz nagle wszystko działa. Przyszedłem po pracy do domu, włączyłem projekt i ani jednego błędu (sic!). Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!