He, he, he... Patrz na to: while (1); Nic, co jest dalej, nie ma szans się wykonać, więc kompilator eliminuje zbędny kod. ...A ponadto masz błąd w inkrementacji wskaźnika. idx = (idx + 1) % BUFSIZE; - to najprostszy poprawny zapis tego, co masz zrobić, chociaż nie zawsze daje optymalny kod.
Na 99% nie. Można kombinować z auto-reload i transmisją jednego bajtu, o ile uda się przekonać DMA, że docelowy UART jest pamięcią, a nie peryferialem i o ile będziesz miał pewność, że nigdy dane nie będą równocześnie nadchodziły w takim tempie, żeby zapchać nadajnik. Czyli: nawet gdyby się udało, to jest to rozwiązanie wysoce niepewne i zawodne. Co...
USTAW W CUBIE
Przyczyny problemów szukałbym w pll_start().
hymm czyli mój problem to brak includów? To co wkleiłem to mój cały dotychczasowy kod, chciałbym, żeby przynajmniej to mi się udało. Nie rozumiem co należy dawać do include a co dodawać do projektu jako nowy plik do kompilacji i czym to się będzie różnić. Takich podstaw niestety mi brakuje przez to pewnie wynikają takie błędy. Jakie pliki pownienem...
Hej, Poprawny kod który działą, to ten ponizej. Mysle ze mozemy zamknac temat. void UART6_Configuration(void) { __HAL_RCC_GPIOC_CLK_ENABLE(); /* Enable clock to PORTA - UART2 pins PA2 and PA3 */ __HAL_RCC_USART6_CLK_ENABLE(); /* Enable clock to UART2 module */ gpio.Pin = GPIO_PIN_6 | GPIO_PIN_7; gpio.Mode = GPIO_MODE_AF_PP;...
Używając SPL'a do konfiguracji USART, musisz zadbać o prawidłową wartość zmiennej SystemCoreClock. W zależności od środowiska, ta zmienna może nie być prawidłowo zainicjowana, przez co wszystkie funkcje SPL'a które z niej korzystają będą generowały błędne wyniki. Jeżeli zmieniasz ustawienia sygnałów zegarowych względem startowych/domyślnych/wygenerowanych...
Witam, Posiadam układ STM32F407 i chciałem zrobić odczyt pozycji x,y,z oraz aktualnej prędkości z wbudowanego akcelerometru, lecz na razie nie wiem zbytnio jak się za to zabrać. Używam środowiska CooCox oraz języka C. Prosiłbym o jakieś wskazówki od czego miałbym zacząć lub jakieś poradniki. Na tą chwilę mam zainicjowany USART i przygotowaną funkcję...
ale nie umiem uporać się z tym, że komputer nie widzi st linka jako normalnego portu com, przez co nie potrafię "wybrać" portu w trakcie wgrywania programu. Pierwsza sprawa. W Twoim zestawie (ten STlink i płytka) nie ma i nie będzie żadnego COM w komputerze dopóki sobie go sam fizycznie nie dołożysz. Funkcjonalność że w STlink jest dodatkowo COM występuje...
Witam, Mam problem z zagospodarowaniem peryferiami w mikroprocesorze STM32F407VGT6. Muszę generować sygnały z częstotliwością 4 MHz jak na rysunku poniżej: http://obrazki.elektroda.pl/3154204100_1... Do tego zamierzam wykorzystać Timer3, który ustawiłem aby pracował z czstotliwością 4 MHz, wypełnienie uzyskam dzięki PWM. Timer 3 ma 4...
Załączam pliki startowe. Może coś w nich jest źle? entry.s .syntax unified .thumb .global vectors .global defaultHandler .section .isr_vector, "a" // Lista wektorow przerywan vectors: .word _end_stack .word resetHandler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler .word...
Czyli w ten sposób jak bym chciał wykorzystać wszystkie 4 USARTy: [syntax=c] #include "stm32f4xx.h" #include "stm32f4xx_usart.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" void init_USART1(void); void init_USART2(void); void init_USART3(void); void init_USART6(void); void init_USART1(void) { GPIO_InitTypeDef GPIO_InitStruct; USART_InitTypeDef...
W STM32 bit parzystości wliczany jest do długości ramki. Jeśli więc ustawisz w STM32 długość 8 bitów i brak parzystości, to masz 8 bitów danych. Jeśli jednak ustawisz 8 bitów i jakąkolwiek parzystość, to w efekcie masz 7 bitów danych i bit parzystości. Jeśli więc chcesz uzyskać 8 bitów danych oraz bit parzystości, to musisz ustawić w STM32 długość ramki...
Piszę w środowisku Keil. Czyli itoa() zapisze mi do bufora wartość z ADC do ciągu znaków, a następnie mam za pomocą USART1_puts wysłać do PC ? Ale to wyśle mi tylko jeden znak z początku. Czy puszczenie tego w pętli: [syntax=C] for(i=0;i<sizeof(buffer);i++) USART1_puts(buffer[i]); [/syntax] rozwiąże problem? Rozumiem, że w funkcji USART1_puts jest...
Hej, Chciałem uaktualnić swój stary projekt, w którym używałem Atmegi162. Układ ma łączyć się z zewnętrznym urządzeniem za pomocą magistrali UART, o parametrach 8b danych, 1b stopu, parzystość "even". Obecnie próbuję zrobić te same operacje wykorzystując płytkę z mikrokontrolerem ARM - STM32F407Z (na płytce CORE407). Po paru minutach udało mi się skonfigurować...
Witam! Otóż moje następujące pytania: Czy to, co tutaj jest napisane ma prawo działać prawidłowo? Głównie mi chodzi o to, czy jest to w miarę dobrze zaprogramowane( aktualnie brak możliwości sprawdzenia, z powodu braku rezystora). Drugie pytanie, jeżeli mam funkcje USART_puts, jak zrobić, by temperatura zostawała przekazywana właśnie przez tą funkcję?...
Witam, uruchomiłem przykładowy program z obsługą Ethernetu. Po wyczyszczeniu ze zbędnych plików ( usart debug, lcd ) i przeniesieniu plików źródłowych do dwóch folderów mam problem z uruchomieniem programu. Mianowicie program po wywołaniu funkcji SystemInit zatrzymuje się na linii: [syntax=asm]0x080068BC BEAB BKPT 0xAB.[/syntax] w funkcji [syntax=asm]...
Cześć! Posiadam od wielu lat (co najmniej 4) płytkę uruchomieniową Open107V od Waveshare. Nigdy nie miałem z nią problemów, i każdy projekt robiłem na niej, bo ma wszystko ładnie wyprowadzone i szybko mogłem sobie debugować instalację. Obecnie robię układ w którym 2 układy (drugi to STM32F407) komunikują się ze sobą przez RS485, korzystając z gotowego...
Witajcie. Dalej mam podobny problem. Używam STM32F407. Posiadam staram się obłużyć 3 różne USARTY (USART1, USART3 i UART4) wszystkie pracują w trybie asynchronicznym. Pod te usarty podpięte są następujące urządzenia: -USART1 - GPS z protokołem NMEA wysyłający dane co 1 sekundę -USART3 - datalink łączący płytkę z STMem z komputerem. -UART4 - akcelerometr...
Skoro w TICK_RATE_HZ mam 1000 to interwał między tikami to 1ms ? Generalnie tak... Co jak dojdzię jeszcze 4 zadania np 4 komunikacje USART ? A co ma być? Usypiasz wątek na 1000ms i twierdzisz, ze wolno się wykonuje? :D I niby działa - właczenie/wyłaczenie diody za pomocą przycisku trwa około 3 sekund.... Niby działa bo to co ty napisałeś to jest niby-kod....
GPIO rejestry nie obsługują DMA, DMA dziala z SPIx, I2Cx, USARTx, TIMx, SDIO, ADC, DAC, USB, DCMI w sumie wszystko co pełni funkcje alternatywne ale nie GPIO RM 009 DMA table 21, channel 0 ADC1 ( da sie zrobić DMA z ADC_DR do pamięci)
Witam ponownie Przerobiłem trochę kod i teraz rzeczywiście odczytuje dane z wszystkich czujników no ale jest jedno ale..... Częstotliwość odczytywania danych jest znacznie mniejsza niż być powinna. [syntax=c]while(1) { if(50<licznikCzasu && I2CInProgress == 0) { licznikCzasu=0; I2CInProgress=1; I2CToWrite = 1; if(licznik%3==0) { SlaveAddress...
Witam Mam problem otóż od kilku godzin borykam się z problemem braku komunikacji pomiędzy procesorem a PC. Procesor to STM32F407VGT6 (STM32F4 Discovery), używam przejściówki na FT232RL (Pod AVR działa) [syntax=c]void RCC_Conf(void) { RCC->CR |= RCC_CR_HSEON; while(((RCC->CR) & RCC_CR_HSERDY) == 0){} PWR->CR |= PWR_CR_VOS; RCC->CR |=...
Witam Was mam taki problem i nie wiem jak sobie z nim poradzić. Słowem wstępu Mk: stm32303vct6 zestaw discovery podłączony kwarc tak jak poniżej http://obrazki.elektroda.pl/9922777300_1... zwarte SB17 SB18, rezystor już był, dolutowałem C23, C22 - 22pF (nie miałem 20pF) SB12 do MCO nie ruszałem, jeszcze nie wiem do czego mogę MCO użyć...
HSE_VALUE jest potrzebne funkcji SystemInit, poza tym w pliku "stm32xxx.h" masz coś takiego [syntax=c] #if !defined (HSE_VALUE) #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ [/syntax] najlepiej dodaj do opcji kompilacji coś takiego "-DHSE_VALUE=(tu częstotliwość kwarcu w Hz"
Dla mnie mało czytelne są te gotowe biblioteki STM32. To nie są funkcje z biblioteki STM32 przecież... Proponowałbym pinu ustawić na funkcję alternatywną, a nie na out/in. Ewentualnie RX może zostać na in, ale TX musi być "ALT". 4\/3!!
http://obrazki.elektroda.pl/1208484300_1... Projekt OpenMV ma na celu stworzenie niedrogiego i łatwego w obsłudze modułu wizyjnego, który dałoby się oprogramowywać w języku Python. Docelowo OpenMV ma stać się "Arduino wśród modułów wizyjnych", jak opisuje autor przedstawiający aspiracje tego projektu. Realizacja projektu rozpoczęła...
Cześć. Właśnie pracuję nad uruchomieniem interfejsu SPI na STM32F407. Podłączyłem do siebie SPI1 jako master z SPI3 jako slave i to co przyszło wysyłam do terminala na komputerze przez USART. Okazuje się, że SPI3 odbiera dane, ale odbiera je jakby przesunięte o bit w prawo. Myślę, że rozumiecie o co chodzi, ale co jeszcze jest ciekawego to to, że jeśli...
Witajcie, Posiadam płytkę STM32F4DISCOVERY z procesorem STM32F407VG. Używam pakietu Eclipse + linaro + openOCD skonfigurowanego wg opisu Freddiego Chopina. Uruchomiłem również przykładowy program stm32f4_blink_led. Chciałem dołożyć obsługę USART1. Konfigurację napisałem w pętli main. [syntax=c] int main(void) { volatile uint32_t count, count_max = 10000000;...
[syntax=c]RCC_APB2PeriphClockCmd(RCC_AHB... ENABLE);[/syntax] Zdecyduj się, czy konfigurujesz szynę APB2, czy AHB?
Globalne definicje przekazuje się przez kompilator, odpowiednimi parametrami. Powiem Ci w sekrecie, że wszelkie poszukiwania błędów w kompilatorze, szczególnie z takimi trywialnymi sprawami, są z góry skazane na śmieszność, tak więc to czy brnąć dalej w zaparte to już Twoja decyzja. Co z tego, że ty sobie w main.c zdefiniujesz, skoro pliki od UARTu...
(at)sulfur Dopiero teraz znalazłem czas żeby dalej zająć się CANem. Ustawiłem tak jak mówiłeś i dalej nic. Nie mam pomysłu co sprawdzić . Tak jak wcześniej wspomniałem mam przejściówkę USB/CAN za pomocą której próbuję przetestować CANa. Program do obsługi tej przejściówki w ustawieniach transmisji wygląda następująco : http://obrazki.elektroda.pl/8802608800_1...
Więc pytanie po co ci dma, jeden wątek wpisuje do kolejki swoje, drugi swoje, a przerwanie uarta aktywuje semafor do trzeciego wątku który to wpisuje dane z kolejki do USARTx->DR PS. lepiej podaj treść zadania, bo tylko to ogranicza (i zbednie komplikuje) mnogość możliwych rozwiązań
Witam, Kiedyś działało mi bez problemu jedno zadanie w freeRTOS, jednak teraz mam problem gdy próbuję utworzyć dwa zadania. Gdy debuguje program to zatrzymuje się na vTaskStartScheduler(); Co to może być ? Mój main to: [syntax=c] #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" #include "math.h" #include "stdio.h" #include "myusart.h"...
Działać będzie bez problemu. oczywiście że potrzebny będzie system plików jeśli chcesz na karcie umieszczać pliku zapisując kartę wcześniej na komputerze. Dodatkowo będzie potrzebny stos TCP/UDP/IP no i rzeczony serwer FTP. Można ruszyć w kierunku darmowego uIP. Nie lubię tego uIP bo napisany jest chyba przez konia ale da się zrobić i TCP i FTP/HTTP....
Witam, Programuje STM32F407 przy pomocy HAL ( STM32CubeMX ) i Keil uVision 5 . Stworzyłem komunikacje przez UART HAL_UART_RxCpltCallback wykona mi się dopiero po przyjściu 6 znaków Komunikacja UART potrzebna jest mi do implementacji interfejsu MODBUS. W interfejsie MODBUS jak czytam z pdfa "http://modbus.org/docs/Modbus_Applicati...
To w takim razie jak uzyskał na xmega tak dobre czasy skoro tam nie ma kontrolera FSMC? Dodano po 34 Do swojego projektu potrzebuję : - dobrej obsługi LCD 16bit (FSMC) - 3 portów USART - Ethernet Czy na kontrolerze STM32F407VG uda mi się to wszystko zrealizować ?
w LPC176x takie ilości RAMu podzielone są na 3 kawałki... Nie bez powodu. Spójrz na matryce AHB i do tego dedykowane DMA. Nie wiem jak jest w kontrolerze STM32 bo nie zaglądałem i nie chcę, ale w LPC mocną stroną są tablice deskryptorów. W sumie to nie wiem czy można byłoby to inaczej sensownie zrobić stosując DMA. Co do stosów, mnie na razie wystarcza...
Jak tanio to http://uk.farnell.com/olimex/stm32-p107/... Ilosc pwm sobie mozesz dowolnie zwiekszyc zewnetrznym ukadem przez i2c na ten przykad...
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/...
Próbuje uruchomić przerwania: vector.c wygląda tak [syntax=c]static void __Default_Handler(void) __attribute__ ((interrupt)); static void __Default_Handler(void) { while (1); } /* +=======================================... | assign all unhandled interrupts to the default handler +=======================================...
Próbowałem, ale z volatilem też nie działa :(
Robił ktoś coś na uIP ? Jak to jest z uip_process ? w buforze powinna być ramka z MACadresami na początku czy powinna je pominąć ?
Jeśli PL2303 jest zasilony z 5V to będzie tylko komunikacja w jedną stronę do STM32F107. Nic się nie uszkodzi, bo akurat użyte piny tolerują 5V.
Czyli w przypadku tego procesora, aktywacja odbywa się przez USART? skąd mam wiedzieć czy to jest np. high- density device? Nie do końca rozumiem wklejony przez Ciebie akapit.
Domyślnie w bibliotece uIP jest możliwość wysyłania danych na konsole podczas debugowania. Masz tam define (bodajrze w pliku uip.c) takiego: #define DEBUG_PRINTF(...) Takie coś powoduje ignorowanie wywołań makra DEBUG_PRINTF. Kompilator pisze że masz 2 razy zdefiniowaną funkcję. Nie znam przykładu, ale widać że to jakiś serwer http. Może lepiej zacząć...
Usiłuję odebrać pakiet danych przez UART. Pakiet ma zawierać od 5-8 bajtów, kończy się znakiem '\r' lub '\n'. Robię to na uC STM32F407 ten sam co na płytce Discovery z wykorzystaniem przerwanie. UART działa bardzo dobrze, przerwanie działa, tylko prawie zawsze jakieś dane uciekają. Mam taka funkcję, która sam wymyśliłem, ale on nie jest doskonała. Myślę,...
Udało mi się ustalić, w skrócie że Keil uVision jest do bani.. potwierdziłem za pomocą doświadczeń, że wszystko jest wporzadku z programatorem i ustaliłem sobie te wszystkie zegary dokładnie tak jak narysowane jest to na pierwszym obrazku (czerwona droga) - na głównym SYSCLK mam 72 MHz potwierdziłem to ustawiając USART - i konfigurując go poprawnie...
Witam! Chcę wgrać parę danych do pamięci mikrokontrolera STM32F107 (ustawienia domyślne). Nie wiem za bardzo jak powinien wyglądać kod linkera do takiego zapisu? Korzystam z CodeSourcery ze strony Freddiego. Nie posiadam debuggera, więc kod mogę wgrywać tylko poprzez bootloader na USART. Pamięć chciałbym zapisać paroma danymi 32bit, a następnie mieć...
Cześć, Nie mam możliwości sprawdzenia a muszę ustalić sobie kilka spraw. Czy aby uruchomić i używać bootloadera w prockach z rodziny STM32F407 linia BOOT1 musi być cały czas na wysokim stanie logicznym, czy też wystarczy że będzie podciągnięta przy starcie? I których USARTów muszę użyć? I czy da się w taki sposób przeprogramować mikrokontroler aby przy...
Do funkcji uip_ipaddr() oraz uip_sethostaddr() pierwszy parametr powinien być przekazywany jako wskaźnik, czyli: uip_ipaddr_t addr; uip_ipaddr(&addr, 192,168,1,2); uip_sethostaddr(&addr); Oczywiście zakładając że korzystasz ze stosu uIP a nie czegoś co podobnie nazywa funkcje. [url=http://www.sics.se/~adam/contiki/co...
Witam. Do Nucleo STM32F446RE podłączam via DCMI kamerkę OV7670. Za pomocą DMA wrzucam z DCMI do RAM uC, do tablicy obraz https://obrazki.elektroda.pl/7486996200_... . Wygląda nieźle, z tym że nie wiem czy to nakładanie się pasków jest ok. Natomiast gdy włączam tryb color bar w rejestrze COM7 https://obrazki.elektroda.pl/8526039400_...
Dzięki wielkie za odpowiedzi, oczywiście było tak jak mówicie, bit w rejestrze DIER + błędnie ustawiony bit UDIS, teraz już działa ;) co do wartości w rejestrach PSC i ARR to były zupełnie przypadkowe na razie :) a TIM2_CR1_CEN_bb = 1; to dostęp do bitu CEN przez bitbanding i tak, włącza on timera ;) Jeśli chodzi o printf Freddiego - on napisał swoją...
Witam ponownie! Mam do zrobienia dwie sprawy, sterownik przekaźników sterowany po USB i oddzielny sterownik przekaźników sterowany po TCP/IP... Znam tylko 8051, do AT89C5131 jest HID lib, ale jego opis to 3 (trzy) strony w pdf - to dla mnie za mało, mam książki o AVR, ale mimo, że je przeczytałem, to nie jest to wystarczające do zrobienia czegoś z USB...
Chciałbym się poradzić doświadczonych w przenoszeniu kodów z niższej rodziny na wyższą. Poniżej zamieszczam chyba najbardziej wrażliwy na przeniesienie fragment kodu. [syntax=c] // inicjalizacja taktowania PLL-e itp... RCC_DeInit(); RCC_HSI_Config(); // konfiguracja wyprowadzeń fpga_Pins_configure(); // konfiguracja przerwań NVIC_Configuration(); LCD_Pins_configure();...
Dzięki za odpowiedź! Co do pinów BOOT: BOOT0 - przy JTAG podłączam do GND BOOT1 - przez rezystor 10kOhm do GND podłączone na stałe. Program wgrany na mikrokontroler to przykładowy serwer WWW . Co do OpenOCD, nie dodałem, że używam Linux Ubuntu do pisania oprogramowania (nie do wgrywania obecnie :) ). U Ciebie na stronie są chyba tylko kompilacje pod...
Witam, muszę przekopiować projekt pod STM32F107 (Działający już) na CrossWorksie -> Eclipse, problem leży w makefile'u, ale nie mogę podejrzeć co robi ten crossworksowy, mój wygląda następująco: [syntax=c] ########################################... # Start of default section # TRGT = arm-none-eabi-...
Witam wszystkich. Od jakiegoś czasu ćwiczę STMy. Przyszedł czas na bootloader, ale stanąłem w zasadzie na początku drogi. Mój zestaw to: - ARM GCC (Linaro) w wersji 4.7 2012q4 - CooCox - STM32F4 Discovery - przykład AN3965 "STM32F40x/STM32F41x in-application programming using the USART" Po kolei: - istniejący i działający program zlinkowałem z użyciem...
Witam, skorzystałem z tematu i chciałem spróbować kod kolegi powyżej zaimplementować u siebie. Procesor STM32f051 na płytce Discovery, rejestry w F1 i F0 co do usartu są prawie takie same, wystarczyło zmienić nazwy na odpowiadające w F0, przenosiłem już nie raz USART z F1 na F0 i nie trzeba było wielu zabiegów. Skonfigurowałem dodatkowo piny USART2...
Witam. Zamierzam nauczyć się programowania mikrokontrolerów ARM - z rdzeniem ARM Cortex - M3 w języku wysokiego poziomu C. Nie ma dużego wyboru jeżeli chodzi o książki, zdecydowałem się na: "STM32. Aplikacje i ćwiczenia w języku C" M. Galewskiego (http://www.kamami.pl/index.php?ukey=pro... Zastanawiam się nad tym, jaki zestaw startowy...
Witam ponownie, mam teraz niezwykłą zagadkę, tak więc posklejałem kawałek kodu który obsługuje USART + Ethernet - program polega jedynie na tym że jak odbierze jakąkolwiek ramkę Ethernetową to powiadomi o niej i wyśle przez RS-232 MAC address nadawcy i odbiorycy (przy czym tutaj kwestia estetyczna jest niedopracowana) - tak czy inaczej kod ten przetestowałem...
STM3240GPRIMER - zestaw developerski oparty o STM32F407IG. Nowy, nigdy nie programowany kupiony w USA pare tygodni temu. The versatile EvoPrimer range includes: – STM32F407IG MCU with 1 MB Flash – In-circuit debugging/programming via dedicated USB connection to the host PC – Touchscreen TFT display, color LCD – Joystick –...
Witam serdecznie. Postanowiłem zmierzyć się z problemem obsługi czujnika temperatury DS18B20 na mikrokontrolerze STM32F407VG w środowisku Keil uVision 5. Napisałem kod w oparciu o UART w trybie Half Duplex. Wzorowałem się na dokumentacji czujnika ale niestety program nie działa tak jakbym tego chciał. Nie otrzymuję żadnej odpowiedzi ze strony czujnika,...
stm32f407 timer stm32f407 stlink przerwa usart
kabel taśmowy netflix ekrany włącznik pociągany podłączenie
kominek drzwi hulajnoga xiaomi zasilacz
Moment dokręcania jarzma wtryskiwacza Delphi 1.5 dCi K9K702 Peugeot 508 SW - brak reakcji na zmianę temperatury nawiewu