Witam, trochę czasu spędziłem na przeglądaniu dokumentacji AFIO, GPIO ale niestety nie znalazłem niczego co mogłoby mi pomóc dlatego chciałem się zapytać Czy w STM32 jest możliwość takiego remapowania wyprowadzeń żeby np z wolnych pinów stworzyć np 8 bitową magistralę z możliwością zapisu, odczytu danej...
Dzieki Panowie, udało mi sie uzyskać zamierzony efekt kierując sie zaleceniami kolegi Sareph , dobrze wiedzieć jak sie ustawia poszczególne bity rejestrów, jednak mam pytanko: właśnie zrobiłem to w taki sposób jak powyżej, bo nie wiem jak ustawić bit25 jeżeli pod nazwą SWJ_CFG Piotrus_999 napisał,...
Ale chyba Arduino nie ma USB, tylko zainstalowany port szeregowy na USB (może jeszcze kwestia, który model, ale Arduino Nano na pewno) - podłączenie do komputera Arduino przez USB to podłączenie portu szeregowego i komunikacja z Arduino poprzez ten port - komputer nie może "zobaczyć" Arduino jako pendrive-a....
Witam, Realizuję pracę inżynierską na zestawie uruchomieniowym ZL27ARM z mikrokontrolerem STM32. Praca jest w zasadzie gotowa, ale niestety nie działa do końca poprawnie. Praca jest tworzona głównie w oparciu o książkę STM32 Aplikacje i ćwiczenia w języku C. Środowiskiem programistycznym wykorzystywanym...
Poniżej program do obsługi wyświetlacza TFT: Interesuje mnie dlaczego funkcja LCD_Clear(WHITE) na STM32 działa wolniej niż na Atmedze32 z kwarcem 16MHz. Wydawało mi się że powinno czyścić ekran szybciej na STM32 a już na pewno nie wolniej. Tylko nie zwracajcie mi uwagi na temat pętli opóźniającej;)...
Dzięki, wszystko oczywiście działa. Chciałbym poruszyć jeszcze jedną kwestię dotyczącą bilioteki do obsługiwania peryferiów do STM32. Dopiero zaczynam, więc sam jej używam, jednak da się zauważyć, że produkuje ona obszerny kod wynikowy. Myślę, że podobną funkcjonalność można stworzyć używając samych...
4,7k jest wyliczony raczej dla 5V, DS18B20 jak i STM32 może działać na 3.3V i wtedy proporcjonalnie to już jest ~3k. A jak zasilasz układ czujników jednak 5V to tym gorzej dla układu. Nie mam styczności z MacOS, sprawdzałeś to: ? Poza tym przy wgraniu bootloadera trzeba pamiętać o zworkach, bo się kasuje,...
Sam RS485 oparty jest o układ MAX3485CPA+. Prędkość transmisji po USARcie w programie i na sprzęcie ustawiona jest na 921600B/s(tyle dopuszcza virtualny port COM). Oczywiście virtualny port COM jest oparty na układzie FT232BL. Program na komputerze jest napisany w javie i wykorzystuje klasę jd2xx dedykowaną...
Pewnie dlatego, ze wczesniej programowałem (AVRy) pod Eclipse, a CooCox to w sumei Eclipse jest. Coocoxa kiedyś używałem, ale odniosłem wrażenie że nie nadąża za trendami w STM32. Jeśli nie czujesz się jakoś specjalnie przywiązany do (schyłkowego) SPL (np. dorobek własny), to ośmielę się zasugerować...
STMicroelectronics to jeden z najpopularniejszych producentów mikrokontrolerów w Polsce. Swoją renomę zawdzięcza nie tylko udanym konstrukcjom, ale i wdrażaniu najnowszych technologii oraz bogatej ofercie. W niniejszym artykule prezentujemy niektóre z ostatnio wprowadzonych układów ST oraz wybrane ciekawe...
Witam! Mam problem z fatfs 0.09b (najnowsza; wersja 0.07 też nie działa) pod stm32f103vet6. Komunikacja SPI. Maksymalny prescaler SPI do debug'u. (Na każdej prędkości to samo). Disk timer proc na SysTick'u (działa). Karta formatowana na różne jednostki alokacji, FAT, FAT32 zawsze to samo. Nie...
Dodajmy, że jak już ktoś musi zmieniać stan portu programowo, to w STM32 służą do tego raczej rejestry BSRR i BRR, a w innych uC albo analogiczne rejestry pod innymi nazwami (np. FIOSET, FIOCLR w LPC17xx) albo zapisu maskowany (np. w LPC11xx). W każdym razie nie robi się tego przez programowe operacje...
Bufor cykliczny, inaczej też nazywany kołowym, to najlepsze rozwiązanie do tego co chcesz zrobić. Tym bardziej, że jak zaznaczyłeś danych będzie sporo. Każdy odebrany znak wpisujesz do bufora i przesuwasz wskaźnik zapisu o 1. Możesz to robić przez obsługę przerwania od portu szeregowego, albo możesz...
Witam, mam pewien błahy problem, ale nie mogę sobie z nim poradzić. Chciałbym ustawić numer portu w zależności od jakiejś zmiennej, a nie na sztywno np.: Zamiast ustawić: [syntax=c]GPIO_SetBits(GPIOB ,GPIO_Pin_12);[/syntax] Chciałbym ustawić: [syntax=c]int licznik=12; GPIO_SetBits(GPIOB ,GPIO_Pin_licznik);[/syntax] Niestety...
Nie spojrzałem dokładnie w jaki sposób użyte były te operacje w powyższym kodzie. Ja używam zapisu poniższego: Przy takim zapisie [syntax=c]GPIOB->BSRR = GPIO_BSRR_BS9; [/syntax] ustawiam 9 bit portu B ,a przy takim [syntax=c]GPIOB->BRR = GPIO_BRR_BR9; [/syntax] zeruje tą końcówkę i w tym przypadku...
Witam, chciałbym stworzyć prosty układ pomiarowy, który by miał za zadanie pobrać w krótkim czasie sporą liczbę pomiarów (np 1000 pomiarów w ciągu sekundy przy 12 bitowym przetworniku adc) i jednocześnie zapisać te pomiary na kartę sd ( system plików fatfs ) po to aby móc swobodnie w dłuższym czasie...
Na to pytanie nie da się odpowiedzieć nie wiedząc, jak jest podłączona dioda. Zasadniczo kod do zaświecenia diody w C ma 2 lub 3 linie (a nie kilkadziesiąt) - włączenie portu, ustawienie linii jako wyjścia, a jeśli dioda jest podłączona pomiędzy wyjście i masę - zapis jedynki. Na STM32F0 wygląda to...
Ale dlaczego instrukcja PIN_x_y = z miałaby sterować konkretnym pinem? Proszę o definicję. Bo PIN_x_y jest makrem operującym bezpośrednio na pinach za pomocą bit-bandingu, czyli czegoś o czym użytkownicy biblioteki nie wiedzą i raczej się nie dowiedzą, bo w bibliotece nie ma takich możliwości, a...
Problem rozwiązany mój błąd należało jeszcze w rejestrze RCC->CFGR3 ustwić bit I2C1SW, który włącza zasilanie z SYSCLK. Dla potomnych wrzucam działający kod obsługi I2C1 na STM32F303VC6 [syntax=c] RCC-> CFGR3 |= 1<<I2C1SW;// SYSCLK dla i2c RCC->APB1ENR |= 1<<I2C1EN; //włacz...
Witam. mam procesor stm32 i próbuję uruchomić wyświetlacz na sterowniku ILI9325. Walczę już któryś dzień i nie daję rady. Procek chodzi na 72mhz. Podłączenie wyświetlacza : reset pb6 rd pb7 rw pb2 rs pb1 cs pb0 linia danych cały port C 0-15 inicjacja wyświetlacza, nie wiem czy na pewno jest...
Yup, pomyliło mi się z STM32, tam są domyślne wyłączone (; Hint bonus: Rozdział 8 + końcówka Twojego pliku LPC11xx.h.
Jeśli ten moduł, to wypadałoby poszukać informacji, co to właściwie jest, bo opis był pewnie tłumaczony przez Google z chińskiego na angielski, a potem z angielskiego na polski - lepiej czytać po angielsku, mniej jest błędów, już widywałem takie "kwiatki", jak nazwanie płytki do próbnego montażu elektroniki...
Wyjaśniłem Ci to w poprzednim wątku z przykładem do Nokia_LCD.h, ustaw sobie kontrast między 40 a 60, u mnie na 40 jest OK, na 60 jest czarny ekran. Problem nie jest z kontrastem, ale z tym, że używam (ustawiam) dla obu urządzeń Hardwarowy interfejs SPI, ze wspolnymi pinami MOSI/MISO/CLK . Problem...
Witam, zajmuje sie obsluga wyswietlacza opartego na sterowniku ILI9325. Jako, ze wyswietlacz moge podlaczyc do plytki tylko w jednej konkretnej konfiguracji pinowej, stworzylem funkcje, ktora ustawia dana 16-bitowa na te konkretne piny. wg konfiguracji: (TFT -XS2) takie ulozenie pinow: D[15:0]=...
W manualu jest tylko wykaz jaka funkcja do jakiego portu może być przypisana. A mi chodzi o konkretny kod, jak go skleić. Chyba masz tylko datasheet do klocka. Freddiemu chodzi o RM0008 w którym wszystko o co pytasz jest opisane. Kodu nie trzeba podawać bo zapis jest w postaci prawie że takiej...
GPIOx_BRR i GPIOx_BSRR są tylko do zapisu a nie odczytu - GPIOx_BRR służy do kasowania stanu portu poprzez ustawienie odpowiedniego bitu. GPIOx_BSRR służy do kasowania i ustawiania portów. Oba rejestry dają funkcjonalność atomowego dostępu do poszczególnych bitów portów. Rejestr GPIOx_ODR jest standardowym...
Ciekawe że w RM ciężko doszuać takich informacji. Dla jasności, czy Wy to mapowanie rozumiecie tak, że dla Was mapowanie oznacza takie przypisanie w którym zamiast zwyklej cyfrowej koncówki GPIO mamy przyłaczone I2C, USART? Czy może podaną w RM zmiane polegająca że sygnały np układu I2C są zamiast na...
Czy taki zapis mając na względzie dostęp atomowy i szybkość działania jest prawidłowy? GPIOC->BSRRH=(1<<13)|(1<&l... //WYL GPIOC->BSRRL =(1<<13)|(1<<15); //WL Czy lepiej po prostu zmienić makro na jedno __IO uint32_t BSRR; /*!< GPIO port bit set/reset ,...
Witam! Sprawdź w ustawieniach debugera czy masz dodany algorytm zapisu pamięci. Dobrze też sprawdzić w utilites czy jest zaznaczone wgrywanie do pamięci po przez debuger. W screenie ja mam pamięć 1M ale ty musisz kliknąć dodaj i odszukać 2M. Kolejna kwestia to w zakładce "debug" opcja port...
gdzie znajdę plik który ma zdefiniowane adresy rejestrów, przerwań itp. Masz w środowisku: stm32f10x.h ale miało problem zrozumieć zapis: GPIOA->CLR ^= 1<<MODE2 Ja także mam problem :) W pliku stm32f10x.h masz definicje: Próbowałem Atollic TrueSTUDIO wybrałem sobie Embedded C Project...
uC to stm32f207. Timer napędza pwm jedno z wyjść (zmienne pwm z preloadingiem co jakiś okres). Wszystko działa ładnie na zmapowanym pinie dla wyjścia OC tego timera (tim 10). Jednak czasem potrzebuję wygenerować identyczny przebieg na pinie tego timera oraz na innym pinie GPIO, akurat tego z tim1. Jednym...
Skąd wynika różnica aż kilku cykli? Porty GPIO mogą być taktowane inaczej niż rdzeń. I jeszcze ciekawiej skąd wynika to "około (~)? To nie wiadomo dokładnie ile zajmie? Wydawało mi się, że przypisanie to jedna instrukcja assemblera, ale faktycznie trzeba jeszcze ustawić rejestr na wartość rejestru...
szelus i BlueDarco odnośnie tego żeby najpierw odczytać stan portu a potem zmodyfikować te bity które chcę i potem zapisać cały port z powrotem. Ale jak za pomocą operatorów logicznych jednocześnie wpisać 0 i 1 tam gdzie chcę bez zmiany pozostałych pinów?
Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia wiele...
Witam wszystkich, Chciałbym tym razem przedstawić projekt gotowego radiomagnetofonu internetowego. Jest to rozwinięcie opublikowanego wcześniej na Elektrodzie małego odtwarzacza MP3. Radiomagnetofon umożliwia granie strumieni radiostacji internetowych, nagrywanie tych strumieni na kartę...
Witam. Pięknie Panowie piszecie. Przypuszczam że większość z was naukę zaczynało na 8051 lub AVR. Teraz jak już opanowaliście do perfekcji C i zdobyliście bardzo duże doświadczenie w programowaniu to nie macie problemu ze zmianą procesora w zależności od potrzeb projektu. Tylko że w starym AVR...
Witajcie moi drodzy. Przedstawię tutaj unikalny zestaw płytek uniwersalnych pod elementy w obudowach SMD, obejmujący TQFP100, TQFP64 i TQFP48, różne SSOP, SOIC itp. Płytki te wyróżnia sprytne i uniwersalne poprowadzenie ścieżek, ułatwiające uruchomienie dowolnego mikrokontrolera (gotowe zworki...
Rozpatruję układ, który umożliwi odczyt napięcia na każdym z akumulatorów podłączonych do UPSa w łańcuch składający się z okło 30-40, a nawet 50szt akumulatorów 12V. Odczyt były podczas rozładowania z zapisem na kartę pamięci. Zakładając, że dla każdego akumulatora zrobię dzielnik, to rozdzielczość będzie...
Witam, męczę się z prawidłowym ustawieniem tego modułu do odebrania pakietu danych, który jest prawie 2x większy niż pojemność FIFO. Kombinuję na wszelkie sposoby, aby ze wskazanego DIO tego modułu odebrać właściwe przerwanie i je obsłużyć w callbacku EXTI w STM32. Nie mam większego problemu z odebraniem...
Witam. Postanowiłem przesiąść się z Atollic True Studio Lite na darmowego toolchaina. Posiadam ST-LINK v1 (kupiony w Kamami i oznaczony tam jako ZL30PRG) oraz płytkę ZL26ARM z mikrokontrolerem STM32F107VC (Connectivity line). Pobrałem openocd w wersji 0.6.0 ze strony Freddiego Chopina dla Windows...
Akurat nie, bo w portach z maskowanym dostępem operacja logiczna jest wykonywana w samym rejestrze portu, a nie w sterowniku szyny, więc nie ma tu r-m-w. Nigdzie nie pisałem, że BitBand jest zły. Napisałem tylko, że niekoniecznie nadaje się do zerowania znaczników przerwań w rejestrach peryferiali,...
Witam, To mój pierwszy post na tym forum :) Staram się zrealizować komunikację mojej aplikacji z płytką STM32 poprzez UART. Moim problemem jest to, że stworzona aplikacja pobiera tylko pierwsze 8 bajtów ramki zamiast 52. Jest to na pewno wina mojej aplikacji, ponieważ sprawdzałam co na port COM wysyła...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
W sumie w trybie 8-mio bitowym możliwe że by poszło (double buffering), bo pamięci jest na obraz 18-to bitowy. Oczywiście pod warunkiem że wtedy pamięć jest wykorzystywana jako 8-mio bitowa. Nie wgłębiałem się. Najgorzej jak nadal jest 18-to bitowa a konwersja 8-->18bitów jest robiona w locie podczas...
Witam, na początku dodam, że od dawna piszę w języku C, na AVR, od niedawna na ARM Atmela, oraz od kilku dni na STM32. Jako, że 2 pierwsze nie sprawiały mi większych trudności, mam kilka pytań dotyczących procesorów ST, na początek zamieszanie z bit-bandem, może ktoś mi wytłumaczyć na jakiej zasadzie...
Tak BTW to w 16-bitowych PICach odczyt i zapis do portu trwa zapewne tyle co w AVR, mają więcej pamięci, 16-bitowe porty i śmigają na 40MHz No tak, tylko znowu nowy procesor, nowa architektura, ale dzięki za naprowadzenie na taki trop. Swoją drogą sprawdziłem, że STM32 potrafi wysyłać na port dane...
Jakbyś nie zauważył to inna rodzina procesorów ;-) W użyciu jest lepsze. Inaczej po co w tamtych procesorach stosowano by bit band? Albert W STM32 też taki zapis można wykonać jedną instrukcją. Mimo, że są oddzielne rejestry do ustawiania i kasowania bitów. Porty są 16bitowe a jeden z tych rejestrów...
Witam, od dłuższego czasu próbuje uruchomić graficzny LCD na KS108A. Mam 2 sztuki w różnym wykonaniu (COG i standardowy). Wyświetlacz jest podłączony pod nogi procesora STM32 które nie pełnia innych zadań niż zadeklarowane. Jedynym odstępstwem od standardu jest podłączenie szyny danych DB0-DB7...
ogólnie wziąłeś maszynę o sporej mocy i jej funkcjonalność obciąłeś do nieco lepszego arduino. Niezupełnie. Moc obliczeniowa jest potrzebna do przetwarzania sygnałów. W prosty sposób można dopisać moduły robiące w zasadzie dowolne obliczenia, nawet zmiennoprzecinkowe czy DSP. Skomplikowany algorytm...
Swoją drogą kiedyś wymyśliłem, że najlepiej byłoby umieścić stos na samym początku RAM, potem .data, .bss i na końcu heap - tym sposobem przekroczenie zarówno stosu jak i heap nie spowoduje kasowania zmiennych, a do tego jeśli procesor generuje jakieś przerwanie z okazji zapisu pod nieistniejący adres,...
Co do USB - niestety ATMega128A1 nie ma sprzętowego USB Doczytałem o tym, ale myślałem, że da się jakoś użyć tego drugiego procka do komunikacji przez USB w sensie używać już podpiętego portu USB jako przejściówki USART - USB. No ale jak się nie a to itak sobie poradzę z tymi dwoma wyprowadzonymi...
Nawet gdyby same porty GPIO się wyrobiły, to nie wyrobi się cała reszta. Skoro chcesz wykonywać odczyt z częstotliwością 40MHz, to masz mniej więcej 4 takty zegara na wykonanie wszystkiego. W super-extremalnym przypadku pętla która by to realizowała ma 4 rozkazy assemblera: 1. odczyt GPIO do rejestru 2....
(at)Urgon, jesteś niezwykle aktywny w temacie ale na Dla 8-bit muszę znać funkcje ustawiające kierunek portów, włączających UART, SPI i inne peryferia a w STM32 "wyklikam" i tylko wywołuję funkcję wyślij/odbierz czy wyślij/odbierz z użyciem przerwań albo wyślij/odbierz z użyciem DMA. Czy tak prosto...