Witam. Proszę o pomoc. Chcę sterować wejściami cyfrowymi falownika (Schneider ATV320) za pomocą STM32 (start, stop i zmiana prędkości). Jak to prawidłowo podłączyć, żeby wszystko działało? Myślałem o zrobieniu na optoizolatorach PC817. Nie wiem, czy to dobre rozwiązanie (nie mam możliwości sterowania przez Modbus). Z góry dziękuję.
Pinów GPIO nie trzeba przypadkiem skonfigurować na funkcję alternatywną? 4\/3!!
Brak Ci preloadingu (buforowania). Wytłumaczę ten fenomen tak: Powiedzmy że Twój timer liczy od 0 do 100 (taka wartość jest w ARR), a ty nagle zmieniasz ARR na 10, tyle że aktualna wartośc licznika wynosi 50. No i teraz Twój timer musi doliczyć do 65535 żeby się przekręcić i doliczyć do tych 10. Dokładnie tak samo ma się sprawa z wartością CCR. Przed...
Kupa błędów, trudno, żeby działało. Nie wiem, czy wszystkie wyliczę: 1. W komentarzach jest TIM1 ch1, TIM1 ch2, TIM1 ch3, ale kody pod tymi komentarzami są identyczne (tylko rejestr CCRx jest zmieniony) - niby czym się różni inicjowanie dla poszczególnych kanałów? 1a. Rejestry PSC i ARR są określone dla timera (wspólne dla wszystkich kanałów), więc...
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
To powinno zadziałać: openocd.exe -f board/stm32f4discovery.cfg -c init -c targets -c "reset halt" -c "flash write_image erase ${project_name}.elf" -c "verify_image ${project_name}.elf" -c "reset run" -c shutdown
0. Na początek postaraj się zapomnieć o SPL. To już nie jest rozwijane i nigdy nie powinno było się pojawić. 1. Środowisko definiuje startup, a ten może konfigurować PLL. Poszukaj pliku startup.c, albo startup.s oraz wywołań funkcji System_Init czy jakoś tak. Poszukaj też definicji zewnętrznego kwarcu, pewnie będzie 25MHz, a wtedy zegar jest ustawiony...
Witam, Wydaje mi się, ze miałem podobny problem z najnowszym toolchainem i generował podobny błąd przy optymalizacji -Os. W każdym bądz razie używam obecnie tego najnowszego toolchaina i kompiluje się wszystko ok, więc jakoś musiałem rozwiazać ten problem ale nie pamiętam jak :) Nie jest to raczej wina systemu operacyjnego, u mnie jest Windows 7 32-bit....
[syntax=c]przerwanie_timera(void) { static uint16_t utimer = 0; if (utimer) utimer --; switch (stan_bramy) { case ZAMKNIETA: if (chcemy_otworzyc) { utimer = MAX_CZAS_OTWIERANIA; otworz(); stan_bramy = OTWIERANIE; } break; case OTWIERANIE; if (czujnik_otwarcia) { stan_bramy = OTWARTA; utimer = CZAS_OTWARCIA; } if (!utimer) // awaria break; case OTWARTA:...
Wynika z niej, że poziomy się zgadzają. Jak powinien wyglądać układ wzmacniający i formatujący sygnał tak by był do odczytania przez kontroler jako stan wysoki? Moja podpowiedź brzmi: LM393 ;)
Jest gdzieś skrótowa dokumentacja do ustawień CubeMX, aby zaczynający programista się nie zniechęcił? Nawet jeśli korzystasz z CubeMX to zacznij najpierw od jakiejś literatury. "Poradnik Szczywronka" takie rzeczy dość łopatologicznie tłumaczy tzn. podstawy działania timerów (i nie tylko). Na pierwszym zrzucie mamy włączony OPM na drugim wyłączony....
No ale jakto? Wszędzie piszą, że BOOT0 powinno być podciągnięte do masy podczas startu procesora żeby odpalił się z pamięci flash :/
STM32 każdy model ma wbudowany bootloader uruchamiany przy starcie w zależności od stanu pinów BOOT0/BOOT1 (w zasadzie BOOT0, ale trzeba zwracać uwagę na oba). Programuje się to np. przez stm32 flasher czy też flash loader demo. W przypadku nucleo będzie kolega używał wbudowanego st-link, który można wyłamać i używać do innych projektów. A co do IDE...
Co jest konieczne - zajrzyj do dokumentacji - tam masz opisane jak należy wszystko popodłączać. Jeśli chcesz zacząć od czegoś typu LOW-COST & DIY to jak napisał przedmówca - procesorki te mają wgrany bootloader, więc jedyne co trzeba zrobić to mieć zworki do sterowania piniami BOOTx i dostęp do RS232+MAX232 lub nowocześniej układ FT232RL. Ale osobiście...
Kosztem dokładności możesz zrobić to na jednym wspólnym 2-kanałowym timerze i przerwaniu EXTIi (oddzielnym dla każdego czujnika). Dwa kanały służyłyby do odmierzania czasu impulsu startowego i kasowania czujnika - wymuszenia kończenia pomiaru, a okres timera wyznaczałby cykl pomiarowy do kolejnego przeglądanai czujników.
Można to zrealizować tak, że timer wywołuje interrupt. Jego procedura zmienia za każdym razem inne wyjście.
Podpowiem, że nie będę miał możliwości czytania 200 stron dokumentacji PDF To nie jest prosty AVR. Podstawowy dokument (Reference Manual) ma nie 200, a ponad 3 500 stron (ale szczęśliwie nie trzeba czytac "od deski do deski"). Do tego, jeśli ktoś chce poznać lepiej rdzenie i wbudowane w rdzeń peryferia, to dochodzą 2x Programming Manual po ok. 250...
BOOT0 na sztywno do 3.3V To teraz sprawdź w dokumentacji co sobie tak ustawiłeś. 4\/3!!
Ja mam stm32f4discovery i obecnie przygotowanie do tego środowiska programistycznego to pikuś. Dobra współpraca z linux (przygotowanie środowiska programistycznego) dobrze działa debuger http://wikimarek.referata.com/wiki/Progr... Będę chciał zrobić na początek zegarek i jeszcze do końca nie wiem jak z możliwością wykorzystania portów...
No to szukaj błędu w ustawieniach zegara - skąd bierzesz przebieg wejściowy, częstotliwość (sprawdź czy dobrze ustawiona w module startowym), wywołanie SystemCoreClockUpdate itp... Prosty test: zaprogramuj timer i procedurę przerwania od niego an miganie diodą z częstotliwością 1Hz i zmierz sekundnikiem czas np. 60 mignięć.
Witam i proszę o poradę. Jaki mikrokontroler na ARM wybrać na początek? Ze względu na dość dużą popularność i dostępność materiałów pomocniczych najlepszy będzie chyba STM. Mam jakieś doświadczenie z ATmegą, ale chcę się rozwinąć na czymś nowocześniejszym. Zastanawiam się nad takimi zestawami: https://kamami.pl/stm32-discovery/560556...
Tak sobie czytam, jak wymusić wysoką prędkość GPIO na STM32 i okazuje się, że nie jest tak fajnie jak się wydaje... Za przeproszeniem, ale kto po za początkującymi steruje GPIO za pomocą softu?! Nie po to np w STM32F334 mamy timer wysokiej rozdzielczości (ponad 4Ghz) aby pinami latać za pomocą softu... Inna sprawa, że GPIO od STM32 mają przenoszenie...
Odpowiedź ze [url=http://forums.ni.com/t5/LabVIEW-Emb... "Starting at line 47 of the stm32f10x.h file there are a couple of entries with the note, "Uncomment the line below according to the target STM32 device used in your application" Did you uncomment any of these lines or did you...
stmx, jak żem rad z Twej pomocy! ;) A na poważnie, mógłby się ktoś pokusić o jakiś poradnik dla początkujących/nieelektroników, którzy mieliby ochotę na start z STM32. Pewnie 95% nie zapali się, a Ci, którzy zostaną będą na tyle doświadczeni, że samo się dokształcą.
Na schemacie STM32F4 Discovery (dokument DM00039084, strona 39) ten układ - STMPS2141STR do wyprowadzenia nr 1 (IN) ma podłączone +5V. Musi być zasilony właśnie z 5V, żeby w trybie Host możliwa była współpraca z urządzeniami zasilanymi z portu USB (tzw. "bus-powered"). Układ STMPS2141STR jest tylko kluczem/switchem i nie podwyższa napięcia. OTG_FS_SOF...
a czemu nie czekasz na koniec startu? [syntax=c]I2C1->CR1 |= I2C_CR1_START; while(I2C1->CR1 & I2C_CR1_START);[/syntax]
Czy jest szansa na wersję bootloadera bez konieczności wciskania dwukrotnie przycisku reset? Tak, by za każdy razem startował jako mass storage.
jednak pojawiły się następne: "Error opening target connection" oraz "Failure opening target connection". Jeśli lampka na Nucleo miga zielono-czerwono jeszcze przed odpaleniem "Start" w STM Studio to znaczy że te komunikaty są jak najbardziej uzasadnione. Po prostu jakaś inna aplikacja (ST-LINK Utility, IDE z kompilatorem w sesji debugowania itp.)...
w załączniku archiwum z kilkoma ciekawymi plikami dla STM32F0. 1. Cortex-M0.ld oraz STM32F051x8.ld Skrypty linkera - w projekcie używać należy bezpośrednio tylko tego drugiego, który zaś w środku dołącza ten pierwszy. Podział spowodowany jest tym, że "mapa" pamięci generalnie jest wspólna, więc wszystkie takie rzeczy są w tym Cortex-M0.ld, zaś w tym...
Witam Próbuje uruchomić na zestawie Discovery STM32F4 przykłady z książki M. Galewskiego. Wygenerowałem początkowy projekt oraz plik startup za pomocą STM32Cube. W folderze projektu pojawiają się pliki startowe oraz pliki bibliotek ST. I tu pojawił się problem, gdyż nazwy plików bibliotek dla obu procesorów się różnią, różnią się także nazwy i składnia...
Właśnie. Zrób na dzień dobry po starcie żeby ustawiał jakiś pin czy t.p. Tak się zastanawiam - gdyby nawet kwarc nie zadziałał to i tak MCU powinien chodzic (domyślnie) na wewnętrznym kwarcu.
Jakie rezystory podciągające ?
pytanie co masz w startupie/system init czy czym tam jeszcze. O, Freddie mnie wyprzedził ;)
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
Podczas cold-startu możesz mieć stany nieustalone. Daj pull-up'a do zasilania, wtedy od razu po włączeniu zasilania będziesz miał stan ustalony na linii.
"//dla pewnosci zeruje cale AFR by miec pewnosc ze alternatywa zerowa jest" Dla pewności zresetowałeś więc w obydwóch przypadkach nie tą połówkę co trzeba. Odczytaj w programie rejestry statusowe SPI2 i SPI1 - pewnie wyskakuje jakiś błąd. Konfiguruj najpierw slave'a, potem mastera. Użyj debuggera żeby zobaczyć gdzie się wiesza. Racja, mój błąd. Nie...
Przy zwarciu pinów boot i resecie powinno iść dalej mimo wszystko. Miałem podobną przygodę z LPCXpresso (LPC1343 onboard) przy eksperymentowaniu z własnym startupem. Od tego czasu mam pamiątkę w postaci dwóch przycisków - na linii Reset i na linii Bootloadera.
Jaki jest prąd udaru przy włączeniu tego modułu na STM? Zawsze możesz zastosować stabilizator o niskim spadku napięcia z regulacją czasu startu napięcia wyjściowego.
Nie. Start: programujesz ADC na jednorazową konwersję wszystkich kanałów z wyzwalaniem przez timer, timer do wyzwalania ADC i DMA do odbioru danych z ADC do bufora 1. 1. Timer inicjuje sprzętowo pracę ADC, DMA wcześniej zaprogramowane na zrzucanie wyników ADC do bufora 1 transmituje wyniki ADC do tego bufora. 2. Przerwanie zakończenia DMA z ADC programuje...
Jest to standardowa funkcja wywoływana jeszcze przed main() w startupie. Otwórz plik ze startupem to zobaczysz jej wywołanie. Możesz ją wykorzystać tylko musisz dostarczyć jej deklaracje odpowiednie dla twojego programu
Zgadzam się, że masa w tym miejscu wygląda kiepsko. Spróbuję połączyć kondensatory tak, by miały wspólny punkt masy. Dlaczego mam wyrzucić kondensator przy resecie?
opartą na STM32F103RBT6 Gdzie jest ta automatyczna konfiguracja??? Jest w plikach startup_stm32f10x_hd.c i system_stm32f10x.c. To żadne bajki. Jest wielka róznica między środowiskami w których wszystko trzeba robić od zera samemu, a takimi jak Coocox, które właśnie te wspomniane rzeczy robią, co ma bardzo wielkie znaczenie dla początkujących, bo start...
Witam, Małe słówko sprostowania odnośnie porównania STM32 i AT91Sam7X.... . Cena: STM32 chyba korzystniejsza Peryferia: STM32 już nie koniecznie, proszę zauważyć że STM32 ma 16 bitowe rejestry i np. skorzystanie z 32 bitowego licznika trzeba kombinować w specjalnym trybie. At91sam7x ma większość 32 bitowych rejestrów. Dokumentacja: AT91SAM7x wygrywa...
Popatrz na możliwości i cenę LPC1768 MIni-DK2 (uwaga - bez wbudowanego intergejsu debugowania - potrzebny jakiś moduł JTAG) albo LandTiger (z interfejsem)
SWSTART: Start conversion of regular channels
Kod: [syntax=c]/** ****************************************... * (at)file system_stm32f0xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 23-March-2012 * (at)brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F0xx...
Jeżeli to muszą być AVRy, to weź dowolną płytkę z serii Xplained. W Polsce dystrybutorem jest np. Seguro. Na niektórych masz dodatkowo programator z debugerem za cenę niższą niż produkty z Atnel. Pełne wsparcie producenta układów i programatora w środowisku Atmel Studio: kompatybilne, nie trzeba się przełączać, wgrane bootloadery i bardzo dużo programów...
Witam Pisze program przetwarzający dwa kanały ADC (potencjometr i termometr). Używam do przesyłania danych DMA i w końcu USARTA do wysyłania danych do terminala. Problem polega na tym, że cały czas odbieram zerowe wartości, tak jakby DMA w ogóle nie przesyłało danych. Prosiłbym o pomoc z rozwiązaniem problemu! Pozdrawiam Kod: [syntax=c] #define TEMP110_CAL_ADDR...
W pliku startup_xxxxx.s
Wszystkie płytki które ja uruchamiam, mają w procesorach pin boot0 ściągnięty do masy przez 10k lub 0R - praca z pamięci flash (używam zewnętrznego programatora). Konfiguracja boot[1:0] = 01 spowoduje uruchamianie bootloadera po każdym resecie. Pytanie, czy używasz bootloadera czy zewnętrznego programatora? Jeśli używasz wbudowanego bootloadera, sprawdź,...
Witam, Chce odczytać dane z akcelerometru BMA180. Do tego celu wykorzystuję interfejs I2C, w który wyposażony jest owy układ. Wszystko jest podłączone zgodnie z notą katalogową. Kłopoty zaczynają się po wysłaniu sygnału startu na magistralę. Program zawiesza się na linii: [syntax=c] while( !I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_MODE_SELECT)); [/syntax]...
Dlaczego w zasadzie nie wolno wykonać skoku do adresu resetu(a sprzęt wykonuje tą operację w przypadku startu z drugiego Flasha), skoro chcę w zasadzie zasymulować takie zdarzenie? Dlaczego musi to być skok do samej procedury RESETU? Bo to nie jest AVR. Rdzeń robi tak samo, sprzętowo pobiera wektor procedury startowej i skacze do niej! Zarówno w urządzeniu...
a jakie środowisko użyć do takiej płytki na start?
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
http://www.st.com/web/en/catalog/tools/P... Na samym dole jest paczka stsw-stm32068.zip a w niej: \STM32F4-Discovery_FW_V1.1.0\Project\Dem...
GDB i debugger niczego nie zwalniają, tyle że pod kontrolą debuggera układ startuje: - ze stabilnym napięciem, nie z powodu power-on-reset - zależnie od konfiguracji debuggera układ może startować tylko po resecie programowym, który nie resetuje układów peryferyjnych 4\/3!!
Być może, że twoje opóźnienie wcale nie jest takie jak myślisz (skoro 3ms to typowy czas to 5ms spokojnie powinno wystarczyć). Zauważ, że jeśli zapisujesz pierwszą stronę to kolejną możesz zapisać jeśli wysłanie control byte zwróci ACK jeśli nie to pamięć jest zajęta i należy ponownie wysłać start i control byte. Co jeśli najpierw zapiszesz druga stronę...
tmf: Mam też świeżą wiedzę o cenach i wydajnościach układów 32-bitowych. O ile wiem, na dzisiaj jedynie ATtiny13 i ATmega8 (czyli dwa zabytki) są tańsze od 10-krotnie od nich szybszych Cortexów, z tym, że Cortex konkurujący z Attiny13 będzie miał 4 KiB ROM i 1 KiB RAM oraz 2 UARTy i raczej będzie tańszy od ATtiny13 (realnie za 3 miesiące). Porównajcie...
In case of a noisy environment in which unwanted bus errors can occur, it is recommended to implement a timeout to ensure that after the START control bit is set, the SB (start bit) flag is set. In case the timeout has elapsed, the peripheral must be reset by setting the SWRST bit in the I2C_CR1 control register. It should also be reset in the same...
Niczego nie trzeba dodawać na sztywno, Eclipse potrafi sobie wszystko znaleźć sam. Zaimportuj przykład i zobacz jak tam są zrobione ustawienia "Discovery options" w opcjach projektu. Czasem za pierwszym razem Eclipse jest trochę oporny i wtedy trzeba go zmusić do pomyślenia przez chwilę - opis sposobu jest tutaj: http://www.freddiechopin.info/pl/artykul...
Czy konfiguracja zegarów jest w obu przypadkach taka sama? Czy masz kod wygenerowany w CubeIDE, czy tylko kompilujesz ten sam kod w obu środowiskach? SystemInit jest wołany przez moduł startowy przed main(), ty wołasz tę procedurę powtórnie z main(). Może coś psujesz w ten sposób.
Czy dobrze rozumiem że ustawiając Update DMA i Update interrupt to po każdym przekręceniu się licznika zostanie wywołane przerwanie i DMA? W przypadku Trigger określam co bedzie powodowało start Timer'a?
Malina zero bez wifi kosztuje 26 zł na botlandzie. Poza tym nikt nie każe korzystać z pulpitu. Aplikacje można pisać własne. Sterowniki też. Co do stm32 - to jest dobry start, np taki bluepill + programator lub nucleo/discovery. Na pewno lepszy niż arduino - jednak to zupełnie inny poziom niż arduino. Dlatego zaproponowałem właśnie malinę a nie stm32...
Cześć, ostatnio zainteresowałem się elektroniką. Swoją przygodę chciałbym zacząć od płytki STM32 NUCLEO, Przeglądałem trochę internet na ten temat i przygotowałem kilka pytań. 1.Czy taka płytka będzie dobra do rozpoczęcia przygody z elektroniką? STM32 NUCLEO-F030R8 - STM32F030R8T6 ARM Cortex M0 2.Co należałoby dokupić do powyższego zestawu? Pierwsze...
czy ta prawdopodobnie chińska zabawka ma szansę zadziałać jak normalny st-link Ma szansę. Mam JLINK-a i popieram w całości przedmówcę :) Tyle, że pewnie JLINK jest liczony przez kolegę bez przesyłki - trzeba dodać 10 -15 zł i wyjdzie trochę więcej (75-100 zł z dostawą na Allegro). Jeśli nie chcesz tyle wydawać.. ST LINK V2 na start wystarczy. Będziesz...
Witam, Dopiero przesiadam się na STM32 więc mam dwa pewnie banalne pytania odnośnie STM32F103VBT6: - ile portów mogę zaangażować jako wyjścia PWM. - czy mogę pod port procesora podpiąć serwomechanizm pracujący na +5V? Oczywiście chodzi o sterowanie PWM. Dopiero uruchomiłem płytkę startową więc nie chcę niczego zepsuć :-)
Ale tu mówisz o kwarcach na wysokie częstotliwości. Prawda, dopiero później doczytałem że chodzi o LSE z kwarcem 32kHz. Dodano po 6 ale zegar w kalendarzu stoi Możesz sprawdzić czy w ogóle oscylator chodzi? Bezpośrednio na nodze kwarcu, na jednej z nich powinno dać się zmierzyć.
Daj kilkadziesiąt ms czasu między startem procesora a inicjalizacją LCD.
Freddie - ciekaw jestem Twojego zdania na ten ostatni temat. No ale nad czym tu debatować? (; Programiści pracujący dla firmy ST od lat udowadniają nam, że nie znają się na tym co robią. Ewentualnie po prostu firma ST zatrudnia studentów. Moim ulubionym przykładem jest jednak całkowite ignorowanie tzw. const-correctness, przez co programy tworzone...
HOST_CMD_ACTIVE(); wlacza zegar ft,. HOST_CMD_WRITE(CMD_CLKEXT); ustawia zegar zewnetrzny, nie ma efektu jezeli juz zostal wybrany zegar zewnetrzny, w przeciwnym wypadu generowany jest reset . Wyglada na to, ze u ciebie ft startuje z zegara wewnetrznego a pozniej nastepuje reset. Prawdopodobnie ft wciaz pracuje na wewnetrznym zegarze, ktory jak pisalem...
Było. http://www.freddiechopin.info/pl/artykul... na dole strony 4\/3!!
Witam, Posiadam płytkę główną z tak zwanej ruchomej głowy. Na 100% był na niej uszkodzony STM32F103R8T6. układ grzał się bardzo mocno, urządzenie nie startowało i było zwarcie na linii 3.3V. Po wylutowaniu procka, zwarcie ustąpiło. Teraz już wlutowałem nowy STM32 i przydało by się sprawdzić czy na pewno wszystko poszło dobrze. Jeśli zasilę płytkę to...
OK :) so you think I can start designing my PCB now?
Wybacz - jak nie nie jesteś w stanie )nawet używając Cube) sklecić kodu inicjalizującego I2C w master i slave. w RM-ie jest to opisane razem z flowchartami i rysunkami. Nie wiem co więcej trzeba. Wystawienie START -> master mode
Prawda jest taka, że STM32 są dosyć delikatne... Osobiście załatwiłem już kilka sztuk - wystarczy przypadkowo podać zbyt wysokie napięcie na pin (obojętne czy wyjściowy, czy wejściowy) i procek momentalnie jest do wymiany. Najciekawsze jest to, że zasadniczo działa (daje się go programować, debuggować, wykonuje program - tylko ten załatwiony pin nie...
Zajmuje się programowaniem w asemblerze procesorów ARM a dokładnie programuje układy oparte na rdzeniu Cortex-M0 (LPC111x) ale swój kod przenosiłem także na rdzeń Cortex-M3 (LPC13xx) taki sam jak w procesorach którymi ty jesteś zainteresowany (STM32). Postaram się teraz udzielić odpowiedzi na twoje pytania: 1. Wie w jaką dokumentacje trzeba się zaopatrzyć...
Używam sobie takiej chińskiej płytki: http://obrazki.elektroda.pl/8610848000_1... aby ten mikrokontroler zadziałał z zewnętrzną pamięcią RAM jako pamięcią danych programu?
Wszystko fajnie, pod warunkiem, że chce się używać STM32. Dodanie podstawowego wsparcia dla innych układów jest porównywalne z postawieniem projektu na FreeRTOSie - ot po prostu musisz mieć tablicę wektorów i skonfigurowane rozmiary/adresy pamięci i dokładny typ układu. We FreeRTOSie przecież wsparcie dla STM32 czy dla LPC tak samo nie istnieje - tablicę...
przez te kilka dni udało się odpalić lcd tryb tekstowy Lcd zdjęcia z plik nagłówkowego Lcd zdjęcia z karty karte z obsługą fat USART co prawda nie na przerwaniu ale też działa usb (oszukane bo rtos nie panuje nad przerwaniami) oczywiście IO led niestety nie poradziłem sobie z tym sam (nawiasem mówiąc dziękuje za poświęcony czas) jeden z problemów dotyczył...
A jeśli chodzi o typ, to w tym przypadku powinienem użyć IRQ? Nie powinieneś używać żadnego. Jeśli używasz STM32F1 (technicznie rzecz ujmując - jeśli używasz rdzenia ARM Cortex-M3 w rewizji r1r1), to po prostu na początku main() (albo w startupie, albo gdzieś "bardzo wcześnie" - byle przed pierwszym przerwaniem) dodaj taką oto magiczną inwokację: SCB->CCR...
Proszę o pomoc szczególnie freddiego chopina ponieważ jest autorem plików linkera, startup-a i wektora przerwać(vectors.c), które w innych projektach jak dotąd działałają mi niezawodnie. Zajrzyj do skryptu linkera, przeczytaj ze zrozumieniem jego początkowy fragment, ustaw tak jak trzeba i będzie działać. Kluczową sprawą jest przyswojenie sobie tego...
bez debuggera może być trudno bawić się z armami. Myślę, że rozsądnie jest zaopatrzyć się w choćby najtańszą chińską podróbkę, która na start wystarczy. Słowa kluczowe: JLink, ULink, STLink
[url=https://developerhelp.microchip.com... - raczej nie jest już obsługiwany. Microchip Studio to po prostu zmieniona nazwa Atmel Studio. Pamiętam przesiadkę i niewiele (lub nic) się tam zmieniło. W tej chwili można użyć MPLab X IDE + tani programator [url=https://www.microchip.com/en-us/dev...
Witam, Kupiłem zestaw edukacyjny STMF0 Discovery: http://www.st.com/jp/evalboard/product/2... Zainstalowałem najnowszą wersję programu Atollic TrueSTUDIO for ARM Lite. Napisałem pierwszy program do obsługi diod led ze strony: http://www.sunduino.pl/index.php/arm/stm... Niestety pragram...
OpenOCD w wersji 0.4.0 po pierwszym podłączeniu układu do zasilania nie pozwala wgrać programu przez GDB - jest to bug który poprawiony jest w aktualnym kodzie. Dzieje się tak tylko gdy chcesz wgrywać po pierwszym podłączeniu układu do zasilania, w pierwszej sesji debuggowania - pojawia się zresztą w konsoli komunikat "loading failed". Albo zastosuj...
Mnie tam brakuje ustawienia przerwania: [syntax=c]TIM1->DIER = 0x00000001;// enable update interrupt[/syntax] Ogólnie takie coś powinno działać: [syntax=c]TIM1->CR1 = 0x00000000;// default TIM1->PSC = 0x000000FF;// set max prescaler TIM1->ARR = 0x00000FFF;// set max reload count TIM1->CCMR1= 0x00000068;// set PWM mode 1 TIM1->CCR1= 0x000000FF;// set...
nie planuję programować w asemblerze, ale zrozumienie kroku pomiędzy językiem wysokiego poziomu a językiem maszynowym zbliża mnie do zrozumienia jak w ogóle działają procesory Jakkolwiek nie uczyłem się z książek o Z-80, to bardzo dabra literaturą jest seria książek MIK Stanisława Gardynika o CA-80. Legalne skany znajdziesz na Elektrodzie. Czyli nie...
Wygląda na to, że się całość się jakoś skompilowała pomimo warningów i zlinkowała (bo powstały mi pilki hex i elf). ...aczkolwiek rozmiar pliku wynikowego *.hex = 34 bajty każe przypuszczać, że jeszcze sporo przede mną... Brakuje Ci tablicy wektorów i startupa. Prościej będzie Ci zacząć od kompletnego przykładu, ewentualnie od przykładu + modyfikacje...
Racja, o ADEN zapomniałem. Nie używaj operacji logicznych do kasowania bitów w ISR ani do ustawiania SQR i SMPR. Spróbuj przejść przez ten kod pod debuggerem i sprawdź, jak działa. Z której linii sygnał mierzysz? IN1 jast na PC0, a Ty włączasz ASCR dla PA0.
Niestety nie ma poszczególnych flag dla poszczególnych zdarzeń timerów. A co z flagami z rejestrów TIMx_SR? Koniecznie muszę wystartować oba przebiegi w tym samym czasie. To czemu nie korzystasz z mechanizmu synchronizacji liczników? (patrz opis Starting 2 timers synchronously in response to an external trigger w RM) Pamiętaj, że rejestr preskalera...
Gdy całą obsługę zdarzeń związaną z odbiorem, przetwarzaniem i realizacją odpowiedzi przeniosłem do głównej pętli programu nie ma żadnych problemów. Lecz jest to mało efektywne gdyż główna pętla programu nic nie robi tylko sprawdza bufor na obecność ramek. Docelowo chciałbym zrobić to tak jak w tym projekcie:http://sunduino.elektroda.eu/w...
Witam Wszystkich! Chciałbym rozbudować swoje urządzenie zbudowane w oparciu o stm32F103ZET6 o bootloader aktualizujący oprogramowanie z karty SD wywoływany z poziomu aplikacji użytkownika . Przeszukałem forum jednak nie znalazłem podobnego tematu. Mój problem zaczyna się od wgrania bootloadera obsługującego kartę SD do stm32. Używam Eclipse z stlink...
Witam, Próbuje uruchomić obsługę karty SD pod STM32f103ZET6. Wykorzystuje do tego bibliotekę, używaną wcześniej pod STM32f407. Zmodyfikowałem tylko inicjalizacje SPI i dorzuciłem testową funkcję zapisu do karty. Mimo to karta nie chce ruszyć. Przy próbie otwarcia jakiegokolwiek pliku dostaje: FR_NOT_READY. Próbowałem już na dwóch kartach SD, formatowałem...
Mam jeszcze pytanie odnośnie samego działania SWD i programowania... Jeśli BOOT0 = 0 to startuje ten kod który jest we Flash. Jak to się dzieje, że mimo działającego programu OpenOCD potrafi przerwać jego pracę i zacząć wgrywać program ? Jeśli dobrze doczytałem to jest to tylko możliwe jeśli są włączone sygnały SWDIO i SWCLK ? i drugie pytanie: Jeśli...
Kolega Freddie miał po części rację, po części spaprałem jeszcze kwestie zgodności tego, co było we flash-u z tym co debugowałem. Myślę, że problem tymczasowo rozwiązany (w pliku startowym jeszcze trzeba przepisać dane do RAM-u i wyzerować dane w sekcji .bss). Przy większej ilości plików w projekcie, które zawierają dane read-only (ja wrzuciłem cały...
Witam bardzo serdeczenie, pisząc bibliotekę na akcelerometr ADXL345, na mikrokontrolerze STM32F103C8T6 (BluePill), napotkałem problem. Tak jak w temacie chodzi o "UsageFault_Handler" w który to program wskakuje zaraz po obsłudze funkcji "ADXL345_readReg " lub "ADXL345_writeReg " . Właściwie to tyle co udało mi się ustalić jak do tej pory :). Zwykle...
Witam Posiadam UBUNTU 64bitowe, Chciałem sobie skompilować libraries/LiquidCrystal/LiquidCrystal.cp... warning: switch -mcpu=cortex-m3 conflicts with -march= switch [CXX] ./libraries/Wire/Wire.cpp libraries/Wire/Wire.cpp:1: warning: switch -mcpu=cortex-m3 conflicts with -march= switch [CXX] main.cpp main.cpp:1:...
Nie możesz jeden po drugim, bez żadnego czekania odczytywać czy wysyłać kolejnych bajtów przez I2C. Pomiędzy każdym wysłaniem lub odebraniem muszą być sprawdzane stosowne flagi wskazujące czy transmisja danego bajtu się już skończyła. Początek każdej transmisji musi zaczynać się warunkiem startu, a kończyć warunkiem stopu. Razem z adresem urządzenia...
Wszystkie różnice są opisane tutaj [url=http://www.st.com/st-web-ui/static/...
Ja mam zrobione w ten sposób: [syntax=C] typedef struct { uint8_t heightPixels; // height, in pages (8 pixels), of the font's characters uint8_t startChar; // the first character in the font (e.g. in charInfo and data) uint8_t interspacePixels;// number of pixels of interspace between characters uint8_t spacePixels; // number of pixels of space character...
miękki start miekki start układ prądowy start start stm32 f103rb
zalany klucz uszczelka podgrzewacza mapowanie portu drukarki
Skrzynia biegów nie działa po zabawie dziecka Jak uruchomić program testowy w zmywarce Bosch SD6P1B?