Ze slave będzie ciężko, bo CAN to multi-master. W miarę prosto można na stole odpalić ECU z jakiegoś starego TDI (EDC16U), na dzień dobry powinien już wysyłać cyklicznie część ramek. Pytanie co konkretnie chcesz uzyskać, bo do nauki lepsze byłyby dwa urządzenia swoje. Np. na ali jest moduł wejść/wyjść o nazwie caroa04 , wprawdzie dużo tańsze to niż...
Skoro STM nigdy nie jest slave, to sprawa się upraszcza. Tak jak pisałem, linie SS (ale tylko AVR i STM) łączysz razem. Dzięki temu i STM i AVR mogą być masterem w stosunku do SD, i masz wykrywanie konfliktu. STM może być masterem także w stosunku do AVR, ale nigdy nie odwrotnie. W takim razie od STM do AVR dajesz drugą linię, podłączoną pod IRQ AVR....
Przy odczycie z DR jest dokładnie ten sam problem co przy zapisie - jak chcesz 8-bitów, to musisz się odwołać przez wskaźnik 8-bitowy (identyczny jak ten powyżej do zapisu). Twoja zmienna tmp i w tym przypadku nie ma żadnego znaczenia, bo "szerokość" odczytu/zapisu jest zdeterminowana tylko i wyłącznie przez źródło odczytu lub cel zapisu, a nie rozmiar...
Jak koledzy wyżej zaproponowali - CAN. Na początku może wydawać się trochę bardziej skomplikowany niż RS485, ale zapewnia bardziej niezawodną transmisję i upraszcza komunikację w wyższych warstwach (CAN ma zaimplementowane mechanizmy unikania kolizji na magistrali, retransmisji w przypadku błędów, CRC itd). Przede wszystkim pozwala zbudować magistralę...
Na forum ST znalazłem wpis że przestaje jakoś działać DMA powyżej 64kB. Wystarczyło poszukać w dokumentacji. Od adresu 0x20000000 znajdują się 64 kB pamięci DTCM, powyżej jest już zwykły SRAM. DMA nie jest w stanie ogarnąć sytuacji gdy zmienia się "moduł" pamięci, a przy okazji ścieżka dostępu do niego (DTCM jest podłączony do DMA i do innych masterów...
Dla F4 niestety tak - errata sheet, str. 16 pkt 2.3.2 - najbardziej denerwujący bug nie został w żaden sposób poprawiony w stosunku do F1. W F2 - to samo. Wszędzie gdzie jest ten zonk będą działy się cyrki gdy magistrala zostanie jakkolwiek zakłócona, w tym: - stop w trakcie trwania transferu bajtu (nie wazne czy adres czy dane) - stop w ack slocie...
Ponieważ aktualnie mierzę się z podobnym problemem w driverach zaimplementowanych w moim RTOSie, powiem Ci szczerze, że taki sposób obsługi SPI jest po prostu niemożliwy do zrobienia poprawnie i tak żeby osiągnąć jakąś rozsądną częstotliwość. Sytuacja którą obserwujesz jest stosunkowo prosta. Natychmiast po uruchomieniu transmisji masz pierwsze przerwanie...
https://obrazki.elektroda.pl/5926592700_... Aloha! Świąteczny konkurs, który nie mógł się oczywiście obyć bez projektów z migającymi diodami w tym roku przyniósł także dwa całkiem nowe i ciekawe sposoby sterowania diodami WS2812. Mam tu na myśli rozwiązania panów tmf ( https://obrazki.elektroda.pl/9596522100_... No...
Witam, Próbuję uruchomić wyświetlacz z kontrolerem SSD1306 po SPI, ale za chiny ludowe nie mogę uzyskać jakiejkolwiek reakcji. Schemat podłączenia wyświetlacza wygląda tak: http://obrazki.elektroda.pl/1073675300_1... Program za skomplikowany nie jest, praktycznie inicjacja peryferiów i próba zainicjowania wyświetlacza. main() System_init()...
http://obrazki.elektroda.pl/4511398700_1... Choć na chwilę obecną to w zasadzie inteligentne oświetlenie + zestawy różnej maści czujników, acz pełznie we właściwą stronę. 1. Wstęp i motywacja Jakiś czas temu stworzyłem dwa projekty. Pierwszy - stacja meteo -> http://www.elektroda.pl/rtvforum/topic31... który w ciągu miesiąca...
Witam staram się skonfigurować spi tak aby wybierać slave za pomocą stanu na pinie PE3. Aktualnie komunikacja działa jednakże niezależnie od stanu na zadanym pinie. Podczas gdy chce wylaczyc mozliwosc komunikacji i ustalam stan na pinie PE3 na wysoki gdy na poczatku funkcji read_spi() zmieniam stan na wysoki to po wyjsciu z tejże funkcji stan ustalony...
Witam! Od jakiegoś czasu staram się oprogramować żyroskop, który znajduje się w zestawie rozwojowym Stm32f3-discovery. Jest to żyroskop L3GD20. Komunikuje się z uC poprzez interfejs SPI (narzucone przez konstrukcję zestawu). Generalnie komunikacja działa, ale bardzo chaotycznie. Przykładowo: - na zapytanie o rejestr WHO_AM_I dostawałem kiedyś odpowiedź...
Po prostu jak przestajesz nadawać/odbierać jako master przechodzisz w tryb slave i zaczynasz nasluchiwać swojego adresu. ot i cała filozofia. PS jeszcze pamietaj o tym że możesz stracić arbitraż w multimaster - ale stm-y (przynajmniej te, ktore testowalem ładnie przechodzą w tryb slave bez zadnych problemów z magistralą)
Witajcie, Chcę zrobić klawiaturę USB, ale do zastosowań jako klawisze specjalne. Ostatecznie po samodzielnych próbach wzoruję się na: http://elektronika327.blogspot.com/2017/... Mam taki deskryptor: [syntax=c] __ALIGN_BEGIN static uint8_t HID_MOUSE_ReportDesc[HID_MOUSE_REPORT_DE... __ALIGN_END = { /* 47 */...
Tak, NSS software management: [syntax=c] //konfiguracja SPI RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; //włącz taktowanie dla SPI1 SPI->CR1=0; SPI->CR2=0; SPI->CR1 |= SPI_CR1_BR_2; //SPI_CLK/32, dla SPI_CLK=24MHz wychodzi 750kHz SPI->CR1 |= SPI_CR1_CPHA; //CPOL=0, CPHA=1 SPI->CR1 &= ~SPI_CR1_DFF; //8-bit danych SPI->CR1 |= SPI_CR1_SSI | SPI_CR1_SSM; //NSS...
Świetna rzecz i gratuluję zawzięcia. Kawał fajnej programistycznej roboty. Mam jednak kilka pytań bo sam w bardzo podobnym temacie utknąłem... a jak widać warto powrócić bo satysfakcja musi być spora. 1. Z kodu widzę, że jako DAC masz WM8994 czy jako ADC korzystasz z tego 12-bitowego wbudowanego w uC? 2. Nie rozważałeś zbudowania tego na nieco szybszym...
Czytam i czytam tego RM-a i jakos nie moge załapać. Rozumiem że DMA konfiguruje dla ADC1 (czyli mastera) i to on bedzie odpowiedziałny za transmisję, czy tez muszę identycznie skonfigurować odpowiednie kanały dla wszystkich trzech ADC i ten, na który padnie zgodnie z ustawionym modem prześle te dane. Drugą rzecz, która jest niejasna to czy we wszystkich...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
A czy nie jest tak, że w przypadku SPI w trybie Master, CS jest sterowane przez użytkownika, i może być dowolnym pinem IO, w moim przypadku PA3? Tak było w AVR, w ARM może ale nie musi: Slave select (NSS) pin management Hardware or software slave select management can be set using the SSM bit in the SPI_CR1 register. • Software NSS management...
Co do komunikacji, to w najprostszej formie dokładnie tak jak piszesz - gdy chcesz "nadawać", to stan wysoki na DE i ~RE. Można jeszcze słuchać gdy nadajesz pozostawiając ~RE w stanie niskim, ale to bardziej do multimastera się nadaje. Jak chcesz zrobić jednego mastera, to nie ma co sobie życia komplikować. Nie bardzo wiem po co konwersja z 5V na 3,3V?...
Wyjścia - jeśli nie jest konieczna duża szybkość - można łatwo rozmnożyć przy użyciu np. 74HC595. Zwłaszcza, jeśli uC ma sprzętowy SPI Master. Czy w ramach tego "non-stop" można robić przerwy np. na 0.1 sekundy (albo choć 0.01 sekundy)? Bo jeśli tak, to w tych przerwach można dużo zrobić. Jest moduł bodajże STM32F103C8T6, który działa kilka razy szybciej...
Jest to panel 32x16 z multiplexem 1 z 4 Wg mnie powinieneś spokojnie to zrobić całkowicie sprzętowo pod warunkiem, że masz swobodę w użyciu pinów oraz do dyspozycji odp. ilość kanałów DMA. 1. Podstawa to sygnał OE powinien być generowany jako np. fast PWM. Użyć któryś z kanałów licznika i uruchamiać licznik w trybie master. Sterując wypełnieniem tego...
https://obrazki.elektroda.pl/3479042800_... Efektem nocnych dłubanin jest sterownik taśm RGB/RGBW. https://obrazki.elektroda.pl/6143799100_... https://obrazki.elektroda.pl/6487351400_... https://obrazki.elektroda.pl/8955729600_... Głównym przeznaczeniem jest sterowanie oświetleniem...
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 malała z każdym akumulatorem. Wyniosła by on...
(at)jacekcz sam początkowo planowałem LUA, bo je znam i integrowałem z C/C++ już wiele razy, ale potem jeden z kontrybutorów polecił Berry i wskazał, że potencjalnie jest on lżejszy od LUA, choć sam tego w tym konkretnym przypadku nie testowałem. Sam autor Berry natomiast pisze: A few years ago, I tried to port the Lua scripting language to STM32F4...
Może wróćmy do tematu ;) Ale w STM32 tych problemów po prostu nie ma. Generacja DDS odbywa się praktycznie całkowicie sprzętowo (DMA) i jedynie to przy zmianach częstotliwości czy kształtu, trzeba kilka rejestrów zapisać. A jednoczesna obsługa panelu, czy sterowanie jakimiś kostkami po I2C czy SPI w ogóle tu nie koliduje z generatorem. Procesor będzie...
Hmm, to masz źródła programu, czy co? Bo mi to niezbyt ładnie pachnie i niezbyt rozumiem. Poza tym jaki to język? Nawet nie idąc w stronę STM32, atmega644p - pinowo zgodna, rejestry też bardzo podobne, a ma 2*uart. Swoją drogą rozumiem, że w komunikacji zawsze PROCESOR jest układem typu master? Jeśli tak to możesz, jeśli już się uparłeś, zastosować...
https://obrazki.elektroda.pl/6899977800_... Zegar, wyświetlacz współpracujący z r-pi. Druga iteracja tego pomysłu, tym razem zrealizowana porządnie, bo raz, że na porządnym PCB a dwa, że bez pomysłu w stylu i2c po 1,5m kablu. A, że lubię segmentowe wyświetlacze LED, to tym razem poza standardowym zestawem 7-segmentowych pokazujących...
Kolejny projekt lutownicy? Przedstawiam projekt stacji lutowniczej pod groty T12 dla każdego. O problematyce i wnioskach opowiem później, więc pomijając wyjaśnianie co to lutownica - jaki jest koń każdy widzi - zapraszam najpierw do galerii. Nadmienię tylko, że nie każdy ciekawy projekt jest warty naszego czasu! :) https://obrazki.elektroda.pl/3274539000_...
https://obrazki.elektroda.pl/6710486900_... Każdy, kto zaczyna swoją przygodę z Arduino, zwykle na samym początku staje przed dylematem w jaki sposób prosto i przejrzyście zarządzać zadaniami, które uruchamiane powinny być w określonych i najczęściej różnych interwałach czasowych. Jest to problem tzw. harmonogramowania zadań. W niniejszym...
Jest sobie STM32H750 z podłączonym do niego PHY KSZ8081RNA. Ethernet używa DMA, inaczej się nie da. Problem polega na tym, że włączenie cache L1 powoduje cuda - w zasadzie ETH przestaje działać, bo w buforach pakietów pojawiają się rożne bzdury. To jest normalne w sumie, bo - bez synchronizacji cache tak to działa (cache nie wie co za jego plecami robi...
https://obrazki.elektroda.pl/4768835200_... Introduction to the course In order to understand what kind of device we will be designing today, let's first briefly recall what soldering stations generally are, and how they differ from each other. The entire lower price segment of such equipment, as you might guess, is captured by Chinese...
https://obrazki.elektroda.pl/6020880700_... Nowa 32-bitowa rodzina mikrokontrolerów firmy Renesas - RA6M4 - zwiększa wydajność operacyjną do 200 MHz przy użyciu rdzenia ARM Cortex‑M33 z Arm TrustZone. Mikrokontrolery te zapewniają zoptymalizowaną wydajność wraz z najnowocześniejszymi zabezpieczeniami i łącznością obsługiwaną...
Dzień dobry! Zlecimy napisanie aplikacji w C/C++ na kontroler STM32F4. wymagania: - znajomość sieci EtherCAT - doświadczenie implementacji urządzenia Master w sieci EtherCAT - znajomość sieci LAN - umiejętność programowania w C/C++ pod kontroler STM32F4 szczegóły zlecenia: - obsłużenie modułu LAN do kontrolera STM32F4 - napisanie Mastera pod kontroler...
multi master zasada multi multi zasady multi multi
schemat podlaczenia komputera oleju korek spustowy sprężarce ustawienia ramki
wciągarka silnik silnik wciągarka
Instalacja Windows na płycie Gigabyte: krok po kroku Philips 65OLED705 won't turn on, logo flashes, wild LED blinking, no response – Mainboard or eMMC fault?