Porada: napisz to od nowa. W obecnej wersji masz delay w przerwaniu EXTI i brak przerwania timera do obsługi wyświetlacza.
Deklaracja jako extern "C" zmienia tylko specyfikację interfejsu binarnego funkcji, a konkretnie sposób wywołania i przekazywania argumentów oraz sposób generowania nazw symbolicznych dla linkera (po polsku: konsolidatora :) ). Ale nie zmienia to języka źródłowego, tzn. jest to dalej C++.
Po naciśnięciu ikony "Build" w oknie "Debug" pojawiają się błędy. Rozumiem, że kod napisał ktoś inny, a Ty nie znasz języka C. Bo to dość podstawowa wiedza dla studenta, żeby umiał napisać program, który się skompiluje, a jak nie, to wiedział, jak poprawić błędy. Zadaj jakieś konkretne pytanie. To jest Twoje zadanie napisać tę pracę - m.in. ma Cię...
Ten drugi to stos przerwań (z których korzystasz) i powinieneś go ustawić na jakąś rozsądną wartość. Edit: Gdzieś w ustawieniach projektu powinieneś mieć możliwość ustawienia rozmiaru stosów. Jak odpalisz debugger to podejrzyj rejestry przechowujące MSP oraz PSP.
Jakie środowisko? Zakładam, że CooCox, ponieważ w innych takie rzeczy raczej nie występują. Odkąd pamiętam, to taki zapis zawsze poprawnie konfigurował SysTick do generowania przerwań co 1ms (1000Hz): [syntax=C] #include core_cm4.h #define FREQUENCY 168000000ul // lub dowolna inna, ale prawdziwa ///... jakiś fragment programu... if (SysTick_Config(FREQUENCY...
Dodałem pętle nieskończone, zmieniłem priorytet na 0, i dalej nic. Przerwania od Systicka też nie działają.
Coś mi tu nadal nie działa. [syntax=c] //konfiguracja timera14 NVIC_EnableIRQ(TIM14_IRQn); RCC->APB2ENR|=(1<<8);//wlacz zegar tim14 TIM14->ARR=122; TIM14->CR1|=(1<<7);//preload enable TIM14->PSC=0xffff; TIM14->DIER|=(1<<0);//przerwani... od update TIM14->CR1|=(1<<0);//odpal timer [/syntax] W przerwaniu zeruje...
W najbliższych dniach, na stronie http://mikrokontrolery.blogspot.nl/p/spi... powinien się pojawić szablon projektu dla STM32F4xx pod CooCox, w którym nie trzeba już zmieniać tysiąca ustawień, który nie korzysta z SPL, jest oparty na przerwaniach od SysTick, a pętla główna tylko usypia rdzeń. Potwierdzam - będzie jutro.
Dzięki za podpowiedź. Czytałem artykuł z STM32.eu i noty od ST. Po prostu wtedy źle/nie rozumiałem, gdzie ma skoczyć program. Po podpowiedzi Freddiego odświeżyłem wiedzę na temat wektora przerwań i już mi działa. W programie, do którego skaczę miałem jeszcze jeden kłopot, ale wynikał z mojego gapostwa. Wprawdzie w funkcji inicjującej zegary itp. miałem...
Nie znam SAM3, ale zgaduję, że jedyna różnica może leżeć w przyporządkowaniu przerwań w module startowym. Jeśli wybierzesz model o takiej samej pojemności pamięci - powinno poza tym działać (no chyba, że te dwie rodziny mają zupełnie inne mapy pamięci).
chciałbym się podpytać z jakiego IDE korzystacie? czy jest coś innego opartego na gcc a nieobiążąjącego tak komputer jak STMCubeIDE? Kiedyś był chyba Coocox ale umarł. |Może coś nie na eclipse Keil jest ok ale nie chce się do niego przywiązywać z uwagi na ograniczenia, sam fakt że nie jest to pełna wersja mnie zniechęca do niego.
Przy okazji - w jakim dokumencie szukać tego typu informacji? Dodano po 1 No właśnie wszystko powłączałem - w rejestrach USART, w pliku stm32f10x_it.c itd. Tylko sama ta linia nie jest przyjmowana, coś jest nie tak. Dodano po 4 Chodzi mi o to, że wszystkie włączenia przerwań w NVIC, jeżeli są prawidłowe, to to co w nawiasie jest wyświetlane niebieską...
Aha, tak przypuszczałem. Na razie używamCoocox no i nic tam nie znalazłem. Ale mam zainstalowane Keil uVision4 i Ride7. Dopisałem w uVision #include math.h i w main a = log10(b); i nie zgłosił błędu. Ale już nie udało mi się to w Coocox, więc może ten Coocox jakiś baniaty, albo trzeba cos dodatkowo sciagnac. Można jakos przenieść biblioteki z uVision...
A to nic nie wiem o żadnych bugach, używam go od prawie roku i napisałem kilka nawet całkiem sporych programów:) A Ty długo go używałeś? Dodano po 2 Co do komerchy;) - trzeba albo zapłacić nie małe piniądze, albo ograniczać się do malutkich aplikacji - bez sensu. GCC+Eclipse trzeba sobie poskładać, co wymaga pewnego doświadczenia i czasu. Dlatego napisałem...
Nie. Twój kod konfiguruje linię GPIOC.16 jako źródło zewnętrznego przerwania. Więc powinieneś tą linię podłączyć do tej linii mikrokontrolera. Napisałem kod w CooCoxie i chciałbym stworzyć schemat ideowy do tego kodu i za bardzo nie wiem jak się za to zabrać. Dokładnie odwrotnie do tego się zabierz. Zrób sobie najpierw schemat.
Owszem CooCox pozwala szybko rozpocząć zabawę z ARM-ami, ale ma też swoje wady. Niedawno postanowiłem przetestować to środowisko i szybko zraziła mnie wada serwera GDB, którą openOCD miało w wersjach starszych niż 0.5.0 (ponad 2 lata temu). Brak automatycznego maskowania przerwań podczas debugowania skutecznie utrudnia śledzenie krokowe programu - nadejście...
Witam W ramach poszerzania wiedzy i umiejętności postanowiłem rozpocząć zabawę z architekturą ARM i natrafiłem na problem - nie potrafię poradzić sobie z transmisją UART przez kanał DMA, w trybie polling wszystko działa. Napisałem program w oparciu o CooCox IDE i HAL drivery. Transmisja w trybie poling śmiga, zaś próbując wysłać coś przez DMA - kiszka....
Przyznam się, iż faktycznie chodziło mi po głowie aktualizowanie programu sekcjami:) Wydawało mi się, że miało by to sens w sytuacji gdy urządzenie pracuje w mocno obciążonej sieci i rzadko kiedy znajdzie się czas na podesłanie mu jakiejś paczki z kawałkiem nowego programu. Wówczas łatwiej byłoby przesłać aktualizację tylko jakiejś sekcji (np. jednej...
Dodałem konfiguracje SysTick do obu projektów. Zero efektu. Już mi się kończą pomysły. Przejrzałem konfiguracje linkera, kompilatora i nic. Nie wiem czego się złapać. Wszystkie inne projekty działają a nie umiem uruchomić żadnego RTOS'a. Dodano po pewnym czasie Odpaliłem FreeRTOS Wiedza dla potomnych. Wystarczyło w pliku port.c włączyć aliasy przerwań...
Tak do tej pory miałem: Dodano po 2 BlueDraco - chodzi o dwie wartości tylko dla przykładu, czasem może chodzić o 5-6 wartości.
Środowisko CooCox CoIDE [syntax=c]void TIM2_IRQHandler(void) { /*Pewne obliczenia*/ //minęła sekunda wysyłamy zmienną _x; if(i>99) { GPIO_ToggleBits(GPIOD, GPIO_Pin_13); if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); USART_putint(USART2, _x, 10); USART_SendData(USART2, '#'); } i = 0; } } void TIMER_Configuration(void)...
Koledzy proszę, wręcz błagam Was o pomoc...rozwaliłem swojego discovery F0. Tzn. chciałem pobawić się I2C, skapnąłem się, że mam na liniach I2C1 lcd hd44780 więc przestawiłem jego kabelki na portA...niestety również na SWD Pin PA13 i PA14. Nie skapnąłem się, co za destrukcyjne działanie wykonuję. Rozwaliłem chyba bootloader w płytce, nie mogę wcale...
oraz odzielnie projekt urządzenia USB klasy HID Ten "projekt urządzenia USB" to program napisany pod system freeRTOS? Czy raczej chcesz pod systemem freeRTOS uruchomić obsługę USB? Nie,to oddzielny projekt-> standardowy projekt urządzenia USB klasy HID od ST. Chcę uruchomić ten przykład USB HID pod freeRTOSem. Zaczałem od tego,że do dziającego projektu...
Hej, mam problem z nagrywaniem dźwięku na plytce discovery m4f. Zmieniłem wartosci taktowania na 8Mhz które w CooCox są błędne (domyślnie jest 25)- PLL_M oraz HSE_VALUE. Niestety nie mogę uruchomić nagrywania dźwięku (korzystam z bibliotek producenta)- sprawdzając sytuację na analizatorze stanów logicznych, nie jest podawany w ogóle zegar na mikrofon,...
Witajcie. Witajcie, mam spory problem. Próbuje zacząć zabawę z STM32F4. Zainstalowałem sobie CooCox IDE 1.51 do tego dograłem sobie - GNU Tools ARM Embedded (4.6 2012q2). Próbuję się z tym bawić, bo muszę przez STM32 zaprogramować USART, wyświetlacz itd. Ciężko to widzę, ale próbuję. Ogólnie mam wyświetlacz taki: http://www.digchip.com/datasheets/parts/...
Witam, Mam problem z ustawieniem SysTick'a na przerwania co 1ms(mam co 3.14ms). Podejrzewam, że mikrokontroler nie chce wystartować na częstotliwości 72MHz, ale nie wiem dlaczego. Program ładnie działał bez żadnego problemu na STM32F103ZET6. W momencie przejścia na STM32F105VBT6 pojawia się wyżej wymieniony problem. Program był napisany w cpp(nadmieniam...
Witajcie, Mam problem z uC STM32F103RB, na którym próbuję implementować tryb VirtualComport_Loopback z biblioteki STM32 USB-FS-Device library. Sam przykładowy projekt działa, zarówno w środowisku TrueSTUDIO, jak i przeportowany do CooCox, wszystko jest fajnie, dopóki kabel USB jest wpięty do PC. Pętla główna: http://obrazki.elektroda.pl/9979175400_1...
Używanie Atollica nie jest głupim pomysłem lub innych "gotowych" IDE a raczej wymogiem dla osoby początkującej. Dana osoba nie mam doświadczenia w programowaniu ARM itp czy konfiguracji własnego środowiska. Ty lub inne osoby którego które używają własnego skonfigurowanego IDE powiedzą zaraz ze to proste i oczywiste no ale jak sam napisałeś robisz to...
Witam, Ja już się poddaje, powiedzcie mi proszę gdzie leży błąd ??? Can - konfiguracja i transmisja nie zgłasza żadnych błędów a jednak żadne ramki nie chcą mi latać pomiędzy urządzeniami. Oto kod do samego cana ( procesor stm32f103R8 ) - Rx (PB.8) - Tx (PB.9) [syntax=c] //Najpierw zegary RCC_APB2PeriphClockCmd(RCC_APB2Periph_US... | RCC_APB2Periph_GPIOA...
Pozwalam sobie odgrzać temat, bo właśnie zrezygnowałem z realizacji pracy magisterskiej o podobnym temacie - tyle że z nieco innego powodu. Może komuś się przydadzą moje doświadczenia. Jeżeli chodzi o płytkę DISCOVERY, Ethernet i IP, to - owszem - są gotowe przykłady (myślę o tych udostępnianych przez ST) ale ja zabrałem się za ten temat z trochę innej...
Udało mi się napisać kod, niestety z jakiś powodów nie działa. Nie wysyła ramek. Prawdopodobnie jest coś z inicjalizacją źle. Mógłby ktoś sprawdzić dlaczego? [syntax=c]#include "stm32f10x.h" #include "misc.h" #include "stm32f10x_can.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" int i; CanTxMsg TxMessage; CanRxMsg rx_message; uint8_t TransmitMailbox...
Witam, Pisze program do pewnego urządzenia. Jednym z wymogów było to, aby wykonywał on obliczenia ze zmiennymi typu float. Po ok. miesiącu udało mi się napisać w pełni działający kod. Niestety... wczoraj stał się cud - wyniki jakie zacząłem uzyskiwać były/są chaotyczne. Okazało się szybko, że to wina programu. Napisałem program testowy, który wygląda...
Witam, Próbuje stworzyć połączenie między dwoma układami z użyciem interfejsu SPI. Obecnie urządzenia są oddalone od siebie o jakieś 10cm i podłączone zwykłymi kabelkami(4 kabelki wtykane na piny). SPI Master: obecnie-STM32F103ZET6; docelowo STM32F105VB. SPI Slave: STM32F103VCT6 Mam jednak ciągle problemy z błędami w transmisji. Gdy podglądam szyny...
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
Jak pisałem nie znam CooCox'a więc nie pomogę z jego konfiguracją. Czy wystarczy zmienić definicję STACK_SIZE? Jeśli tak to na jaką? Nie, jak sama nazwa wskazuje jest to rozmiar stosu, a nie jego położenie. Co do wektora przerwań w funkcji ... W aplikacji bootloadera nic nie zmieniasz w projekcie - skrypcie linkera. Przed wywołaniem głównej aplikacji...
Nie używam CooCoxa, więc nie wiem co tam Chińczycy dziwnego wymyślili (; Zaczynam orientować się w tym wszystkim już na tyle, że pewnie niedługo jakiegoś toolchaina sobie zmontuję (np. wg Twoich porad). Na razie jestem wdzięczny Chińczykom, że udostępniają całkiem fajne narzędzie w pełnej wersji (gdzie inne firmy każą sobie płacić często po parę tysięcy...
SystemInit wzorowałem na funkcji konfigurującej zegar, której autorem jest Freddy Chopin. Uzupełniłem ją o konfigurację zegarów dla USB oraz I2S. Dodałem pliki, np. Config.h, a pozostałe pliki zmodyfikowałem w taki sposób, aby po utworzeniu nowego projektu mieć cały zestaw plików, które zawierają też szablon programu z inicjalizacją i obsługą przerwania...
Witam Sprawa następująca. Kod pisany pod ZET6 z uwzględnieniem ograniczeń na słabszy procesor C8T6. Wszystko poza USB śmiga. Przy podłączeniu USB żadnej reakcji od strony komputera. Podłączyłem D+ D- do oscyloskopa i żadnej reakcji. Jakby był martwy. Sprawdziłem miernikiem od samego procka do samego gniazda ostatniego i przewodzą z przewodnością 22...
Witam już kilka lat temu, będąc jeszcze nieświadomym studentem stworzyłem stworzyłem stronę internetową ELEKTRONIKA: Playlista: Programowanie AVR/ARM w C: playlist: Programowanie AVR na Atmega16 i Atmel Studio: 1) Ogólne filmy odnośnie programowania: Programowanie obiektowe w JAVA: playlist: [url=https://www.youtube.com/playlist?li...
Witam, znalazłem gotowy projekt do obsługi usb w stm32f4 (załącznik usb_hid_3) i projekt po otworzeniu w coocox działa bez zarzutu. Gryzie mnie tylko porozrzucanie plików przez autora, chciałem wykorzystać obsługę usb w większym projekcie dlatego postanowiłem stworzyć nowy i wszystkie pliki odpowiedzialne za usb umieścić w jednym folderze o nazwie USB...
Witam, Próbuje zrobić urządzenie, które w tym samym czasie będzie wstanie komunikować się z komputerem (USB HID DEVICE), jak i przyjmować komendy z klawiatury, bezpośrednio podpiętej do niego (USB HOST). STM32F407VG ma dwa kontrolery USB: - OTG_FS - wykorzystany do komunikacji z komputerem (tryb HID DEVICE) - OTG_HS - wykorzystany do obsługi klawiatury...
Nasza firma zleci zaprojektowanie następującego urządzenia: Sterownik prędkości obrotowej silnika szczotkowego DC oraz bezszczotkowego BLDC. Urządzenie ma być zamknięte w możliwie najmniejszej obudowie ale rozmiar płytki PCB nie może być większy niż 130x80mm. Do sterowania prędkością obrotową oraz wyświetlania wyników pomiarów będzie służył wyświetlacz...
Firma Nuvoton Technology wypuściła na rynek serię NUC123 - nowy 32-bitowy mikrokontroler z rdzeniem Cortex-M0 wyposażony w interfejs USB w standardzie 2.0 FS (Full Speed) oraz 10-bitowy przetwornik analogowo-cyfrowy. Nowa seria NUC123 posiada taktowanie zegara z wysoką częstotliwością 72 MHz, 20 KB SRAM oraz 8 portów do obsługi USB, co czyni go potężnym...
Staram się połączyć STM32F0 z kartą SD (w sumie to mikroSDHC), ale niestety marne są tego skutki. Próbowałem już kilka kodów znalezionych w internecie ale w końcu zatrzymałem się na znalezionym na jakiejś niemieckiej stronie.. Skompilowałem, wyskoczyło mi kilka błędów związanych z nazewnictwem i deklaracjami funkcji to je poprawiłem. Kod teraz wygląda...
konfiguracja coocox coocox stm32f4 stm32 coocox
mercedes actros błędy hamulce poziomować światła mostek prostowniczy isuzu
odkurzacz grundig sterownik pompy ciepła
RAKEL Receiver vs. Rake Receiver: TETRA Radios (Motorola, Sepura) and Multipath CDMA Explained LED4202 CV9202H-A39 brak sygnału PANEL_ON – diagnostyka, firmware, zasilanie