Witam Po połączeniu dwóch procesorów wszystko ok, zero przekłamań. Master jest połączony to Jtaga, problem jest jak resetuje Mastera w czasie działania programu (robię to specjalnie żeby rozsynchronizować mastera i slave, jak by kiedyś Master się zresetował to nie dogadają sie nigdy) slave wysyła zawsze tablice 64 zmienne od 0 do 63) po restarcie Mastera,...
Kod: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...
Witam Staram się nawiązać komunikację pomiędzy dwoma płytkami STM32F0 przy użyciu modułów RFM73 - jednakże zatrzymałem się na etapie modyfikowania bibliotek dedykowanych dla modułu RFM70 i STM32F10. Problem polega na tym, że nie dochodzi do komunikacji i nie potrafię znaleźć przyczyny. Zamieszczam kody: RFM70.h [syntax=C] /* ****************************************...
Potrzebuję wygenerować trzy sygnały do sterowania rejestrem: 1MHz, impulsy co 64. okres z 1MHz i podobnie 128. Mniej więcej wyglada to tak: __ __ __ __ __ __ __ __ __ | |__| |__| |__| |__| |__| |__| |__| |__| |__ 1MHz __ __ | |__<-- przez 64 okresy poziom niski -->| |__ __ __ | |__<-- przez 128 okresy poziom niski -->| |__ Wykorzystałem...
W efekcie wykonania kodu oczekiwałem zapalenia się na biało całego wyświetlacza. Wykorzystałem jedno wyprowadzenie testowe które ustawiam w ostatniej linii kodu celem sprawdzenia czy nie następuje zawieszenie na którejś z flag od I2C. Kod nie wykonuje się w całości wobec tego przypuszczam, że jest coś nie tak z konfiguracją samego I2C bądź sprawdzam...
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 korzystam z LFN. Strona kodowa 852, 125x, 1 (ANSI) bez znaczenia....
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Ogólnie ST zaliczyło też ostatnio wpadkę z innym układem scalonym. Sprawdziłem działanie na próbkach i napisałem żeby sobie opis położyli na półkę bo 1/3 nie odpowiada temu co piszą. Możesz napisać który? Używałem STM32F103VCT6, w którym I2S nie działa prawidłowo w trybie slave. W nowym projekcie planuję wykorzystać STM32F405.
Edit: DMA nie działało bowłączałem DMA2 a nie DMA1. Napiszę jak dalej pójdzie :] Cześć, mam pewne problemy z I2C, bazowałem na zmodyfikowanym kodzie od ST (jak mnie pamięć nie myli) najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do czasu zdarzało się że RTOS wyłączał wszystkie przerwania i przy odbiorze...
Witam. Chciałbym połączyć mikrokontroler STM32F429 z smartfonem, działającym pod kontrolą androida. Celem tego połączenia ma być przesyłanie danych (a dokładnie obrazków jpeg) między mikrokontrolerem, a smartfonem. Mikrokontroler będzie obrazki generował i zapisywał w zewnętrznej pamięci RAM. Jeden obrazek będzie miał ok. 400kB. Trzeba będzie przesył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 w pracy jest Keil uVision 5. W pracy wykorzystane...
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 na strukturę kosztów” i lepszego wsparcia zapewnianego...
Poszukuje sprawdzonego kodeka dla STM32F105. Magistrala I2S, 16 bit. Jednocześnie będzie używany ADC i DAC przy próbkowaniu 8kHz. Najlepiej aby kodek pracował jako master. Wymaganie: obudowa musi mieć nóżki (czyli QFN i BGA odpadają). A i musi być do kupienia w PL :) TLV320AIC23 troche leciwy i drogi, używałem go i chce spróbowac czegoś innego. TLV...
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...
Witam, Nie jestem jeszcze zbytnio doświadczony i w ramach nauki jestem w trakcie tworzenia układu pozwalającego mi na opracowanie przykładów z książki "STM32 w sieci Ethernet". Jedyny wyświetlacz jaki posiadam jest wbudowany w eval od ST. Z tego powodu wpadłem na pomysł aby z ZL26ARM, który ma wbudowany moduł ethernet, przesyłać informację po SPI do...
„Blue Pill” to popularna płytka rozwojowa układem STM32. Jej popularność wynika z jej niskiego kosztu - zaczyna się od zaledwie 1,50 dolar - oraz z kompatybilności z Arduino IDE dzięki projektowi STM32duino. Powstało wiele ciekawych projektów, opierających się na tym module. Jednym z ciekawszych jest oprogramowanie, stworzone przez użytkownika...
Witam wszystkich !!! OKAZJA!!! Mam do zaoferowania bogatą w liczne peryferia makiete dydaktyczną z uC STM32F103VET6. W skład makiety wchodzi: 2.4'' wyświetlacz dotykowy TFT 240X320 1 x Ethernet, układ ENC28J60 1 x CAN interfejs, transciever TJA1050 2 x RS232 (złącze DB9), transciever MAX3232 CSE 1 x USB2.0 SLAVE 1 x port micro SD 7 x PWM (podłączone...
Witam wszystkich !!! OKAZJA!!! Mam do zaoferowania bogatą w liczne peryferia makiete dydaktyczną z uC STM32F103VET6. Podstawowe parametry mikrokontrolera STM32F103VET6: * MCU,32BIT,CORTEXM3,512KFLASH,100LQFP * Series:STM32 * Flash Memory Size:512KB * RAM Memory Size:64KB * No. of I/O Lines:80 * No. of ADC Inputs:3 * No. of Timers:8 * No. of PWM Channels:16...
Witam wszystkich !!! OKAZJA!!! Mam do zaoferowania bogatą w liczne peryferia makiete dydaktyczną z uC STM32F103VET6. Podstawowe parametry mikrokontrolera STM32F103VET6: * MCU,32BIT,CORTEXM3,512KFLASH,100LQFP * Series:STM32 * Flash Memory Size:512KB * RAM Memory Size:64KB * No. of I/O Lines:80 * No. of ADC Inputs:3 * No. of Timers:8 * No. of PWM Channels:16...
Witam, Próbuję nawiązać komunikację między płytką STM32F4-DISCOVERY oraz układem MPU-9150. Po wysłaniu adresu urządzenia oraz adresu rejestru, zmieniam kierunek przesyłania danych i program wpada w nieskończoną pętlę przy sprawdzaniu flagi zajętości linii (w układzie jest tylko jeden slave, więc nic innego nie blokuje szyny). Kod: [syntax=c] void I2C1_Conf()...
Dzień dobry. Do układu wgrałem przykładowy program, PWM input obliczający częstotliwość, dostarczony do STM32F4-Discovery. Zamiast licznika TIM4 wykorzystałem licznik TIM5. Układ działa prawidłowo. Oblicza właściwą częstotliwość Inicjalizacja licznika: 2. Configure the Time base unit as described in the first part of this driver, if needed, else the...
To jest mój kod inicjujący I2C dla STM32F103. Od jakiegoś czasu stosuję z powodzeniem bibliotekę Libopencm3. [syntax=c]void i2c_setup(void) { /* Enable clocks for I2C2 and AFIO. */ rcc_peripheral_enable_clock(&RCC_APB1ENR... RCC_APB1ENR_I2C2EN); rcc_peripheral_enable_clock(&RCC_APB2ENR... RCC_APB2ENR_AFIOEN); /* enable GPIOB clock */ rcc_peripheral_enable_clock(&RCC_APB2ENR...
Aktualnie najważniejsze pliki programu wyglądają następująco: main.c: [syntax=c]#include "main.h" //definicje stalych #define LINENUM 0x15 #define FONTSIZE Font12x12 #define LED1 GPIO_Pin_13 #define LED2 GPIO_Pin_14 #define PRZYCISK GPIO_Pin_0 //zmienne - definicje void Delay(__IO uint32_t time); extern __IO uint32_t TimmingDelay; unsigned short regVal;...
Chce użyć CAN w STM32F105. Ale nie bardzo rozumiem idei dwóch FIFO. Z tabelki dokumentacji wynika ze CAN1 ma dwa bufory FIFO każdy po 3 mailboxy, CAN2 tez ma niezależne 2 bufory FIFO, każdy po 3 mailboxy. 1. Jak ramki trafiają do tych FIFO ? Czy to oznacza ze w sumie na każdy CAN jest kolejka na 6 mailboxy ? Jeśli przychodzą pakiety do CAN1 to najpierw...
Dzień dobry, Od dłuższego czasu staram się zrobić działające pass-through dla audio - pobranie dźwięku z wejściowego mini-jacka i przeniesienie go na wyjście mini-jack. Na płytce jest kodek WM8994, którego wyjścią są przyłączone do SAI- serial audio interface, mini-jacki z kolei są podłączone pod kodek. Korzystałem z biblioteki dołączonej do płytki...
"Sprzętowy" pin NSS w STM32 jest przydatny praktycznie jedynie w trybie SPI slave.
Mam problem z najnowszą biblioteką FatFs. Wszystko działa idealnie na SPI1, a na SPI2 nie chce chodzić. Może ktoś z doświadczonych kolegów zerknie na konfigurację. Przy ustawieniu SPI_CH na 1 wszystko śmiga jak należy, przy 2 tylko rozpoznaje, że karta jest włożona lub wyjęta. Przyglądam się temu i nie widzę błędu. Co tu jest nie tak? [syntax=c] #define...
Komunikacja bezprzewodowa dla urządzeń Internetu Rzeczy staje się coraz bardziej powszechna. Jednym z standardów, który można wykorzystać w IoT jest LoRa. Standard ten charakteryzuje się stosunkowo niskim zużyciem energii oraz bardzo dużym zasięgiem. Powyżej możecie zobaczyć moduł SX1278 wraz z płytką deweloperską wyposażoną w mikrokontroler STM32F103C8T6....
Ja na samym początku przerzucam wektory przerwań na początek pamięci RAM. A później wstrzykuję swoją funkcję w miejsce oryginalnego wektora. Po rozmyślaniu na ten temat doszedłem do następujących wniosków. 1. Możliwość dynamicznej rejestracji przerwań (najlepiej w wysoce abstrakcyjny sposób, tak aby funkcje nie musiały być publiczne) byłaby z pewnością...
Jakiś czas temu zrealizowałem pewną konstrukcję, jaką jest kamera Pan Tilt na Raspberry Pi. Z racji tego, że jest to forum traktujące o elektronice skupię się właśnie na takich aspektach. Zanim zacznę opiszę architekturę systemu, czyli co z czym się łączy i jakie komponenty wchodzą w jego skład. Architektura systemu Sam system składa się z kilku komponentów:...
Potrzebujesz: " RM0041: STM32F100xx advanced ARM-based 32-bit MCUs " -> www.st.com To też będzie potrzebne: " DS6517: Low & medium-density value line, advanced ARM-based 32-bit MCU with 16 to 128 KB Flash, 12 timers, ADC, DAC & 8 comm interfaces " i to (zakładam ,że to chociaż już masz) : " UM0919: STM32VLDISCOVERY STM32 value line Discovery...
Hej Mam taki problem: gdy transmituję bajt który kończy się 1 nie dostaję potwierdzenia. Wiem że potwierdzenie w I2C jest realizowane tak że master powinien zwolnić linię SDA i wtedy Slave podciąga ją do GND. W moim przypadku próbuję się skontaktować pomiędzy procesorem STM32F103C8T6 a akcelerometrem LSM303DLH którego logika działa na napięciu 1.8V...
No niby MISO można podciągnąć pod bycie bidirectional, więc w teorii może być AF-PP. Tak czy siak jak ktoś nigdy nie zmienia master na slave (czyli 99% przypadków [; ) to wtedy może być input. 4\/3!!
SPI w STM32 wg mnie ma buga w silikonie. Nie da się stwierdzić programowo momentu w którym SPI kończy wysyłanie. Flagi nie odzwierciedlają stanu w którym bufor nadajnika jest pusty, ale nadajnik jeszcze nadaje. Nie jest to problemem gdy transmisja SPI jest szybsza niż obieg pętli nadawania. Jednak gdy nadawanie jest wolne, to może się zdarzać że interfejs...
np. baud rate nie ustawiam, bo domyślnie po resecie ma wartość 000, czyli fPCLK/2. U mnie też tak było do czasu aż skomplikowałem moją "pajęczynę" wtedy wyświetlacz miał tendencję do "zawieszenia się". prawdopodobnie to była za duża częstotliwość żeby sobie tak kabelkami 20cm "latać". Wystarczyło że częstotliwość zmniejszyłem i od razu ruszyło. Przy...
Cześć. Siedze już 2 dni nad kodem, prześledziłem wszystkie rejestry i nie wiem już co jest źle. Mam problem z komunikacją z kartą SD już na samym początku kiedy wysyłamy komendę CMD0 - przejście w tryb sterowania po SPI. Oto dołączam mój kod: Biblioteka SPI: PLIK Spi.h [syntax=c] /* * Biblioteka obslugi SPI */ #ifndef SPI_H #define SPI_H #include "stm32f37x.h"...
Mam problem z odpaleniem komunikacji (master nadaje) na przerwaniach w STM32F103. W poolingu działa OK, natomiast na przerwaniach nie chce ruszyć, już kombinowałem na różne sposoby i bez efektu. Inicjalizacja I2C: [syntax=c]void I2C_Init(void) { // I2C GPIO CONFIG RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; // Software reset I2C I2C1->CR1 |= I2C_CR1_SWRST;...
STM32F373 F3 - bardzo fajna rodzina procków. Osobiście bardzo lubię a F303 jest teraz moim głównym w projektach. Jedyna rzecz, która mi się tak naprawdę nie podoba to jest wysyłanie starych wartości w trybie slave (jak już się wszystko wysłało) zamiast zer.
Cześć, Łączę ze sobą RPi Zero z STM32F447 za pośrednictwem SPI. RPi jako master, STM jako slave. Komunikacja polega na cyklicznym przesyłaniu paczki 128B w obu kierunkach. O ile w STM kod nie jest dla mnie jakimś problemem ( chyba że w założeniach) to w RPi czasami błądzę. Kod piszę w C++ używając ViualStudio2019, do obsługi SPI znalazłem bibliotekę...
Witam, mam pytanie odnośnie portu USART w STM32. Projektuję płytkę, na której ma znaleźć się komunikacja po RS485. Chciałbym się dowiedzieć, czy włączenie linii RTS (CTS) portu UART będzie umożliwiało sprzętowe sterowanie przepływem na porcie RS485 (Master/Slave). PS. Oczywiście wiem, że sterowanie programowanie z użyciem GPIO też jest możliwe.
Witam, Do mojego projektu zamierzam uzyc procesora STM32F217 oraz 2 przetwornikow CS5343 i CS4344 (akurat takie mieli w TME). Moje pytanie jest takie pod ktore piny mam podlaczyc linie od tych przetwornikow? Wiem ze moje pytanie moze sie wydawac laickie, ale nota dla stm-ow jest dla mnie nieczytelna. Dodam ze chce aby oba przetworniki pracowaly w trybie...
Witam! Walczę już od jakiegoś czasu z dziwnym problemem. Otóż: kiedy inicjalizuję piny odpowiedzialne za SPI1 jako normalne wejścia wyjścia (PA3, PA4, PA5, PA7 jako Output Push-Pull max 50MHz; PA6 jako Floating Input) bez problemu komunikuję się z urządzeniem slave (w tym wypadku panel LCD). PA3 i PA4 to dwie linie CS (bez żadnych pullupów). Przebiegi...
Witam, do tej pory pisałem program w którym F4 komunikowała się z zewnętrznym przetwornikiem DAC AD5724 poprzez SPI, gdzie funkcja wysyłania oparta była o sprawdzanie flagi TXE oraz BSY. Przy takim sposobie komunikacji mikrokontroler nie potrzebnie oczekiwał w pętli while na koniec transmisji pojedynczego bajtu co jak wiadomo jest bardzo nie efektywne....
Witam W przypadku pracy z MODBUSem gdy są problemy z połączeniem proponuję skorzystać z jakiegoś gotowego programu do komunikacji i sprawdzić czy on się połączy z slavem. Programów jest pewno sporo, ja mogę zaproponować Modbus tester z strony swojego czasu sporo z niego korzystałem. Ma możliwość podglądnięcia transmisji wychodzącej i przychodzącej....
Witam, próbuję zmusić STM'a do działania jako monitor I2C pomiędzy jakimś master a jakimś slave. W pakiecie, pomiędzy start a stop transmitowane jest adres i 163 bajty danych, po każdym bajcie slave ładnie ustawia ACK do niskiego poziomu. Skonfigurowałem STM'a: [syntax=c] RCC->APB1ENR |= RCC_APB1ENR_I2C2EN; RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; RCC->APB2ENR...
Czy do obsługi I2C w trybie master używa się rejestrów Own Address Register? To chyba rejestry do ustawienia adresu sprzętowego urządzenia w trybie slave. W trybie master do wysyłania pierwszego bajtu - adresu - używa się normalnie rejestru DR (Data Register), tak jak do wysyłania pozostałych, czy tak?
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ź...
Witam. Potrzebuję odpowiednio skonfigurować interfejs SPI. Dane odbieram z przetwornika ADC ADS1274. Potrzebuję odebrać dane z trzech kanałów. Trzy kanały (3x24bit) są wysyłane szeregowo na jeden port SPI (ADC jest slavem). Istnieje możliwość odebrania danych równolegle z trzech kanałów, jednak wolę wykorzystać opcję szeregową. Dane wysyłane są dosyć...
Da sie da, Chinczyk potrafi. Tam byla cena za 2 sztuki. Cena jednego to 10 dolarow, na Allegro chca min. 41 zlotych + przesylka, a ja moge poczekac. To już Ci wyjdzie 48zł... A na tych przewodach jak to podłączysz do płytki po RMII masz spore szanse na zakłócenia dla 100Mbit. Muszę zmienić trochę podejście na elektrodzie bo ja od razu myślę o małoseryjnej...
Stary temat ale podepnę się bo mam podobny problem. Próbuję skomunikować STM32F429 (płytka discovery disco) z Atmegą8 (nie 88). STM Master Reviever <<>> Atmega Slave Transmiter. Wzorowałem sie trochę na kodzie kolegi i trochę na tym tutorialu: Problem kolegi kolegi polegał na niepoprawnej bibliotece systemowej do STM32F1. Ja natomiast posiadam...
To ja proponuję tak -> licznik liczący od zera w górę z częstotliwością dobraną tak aby uzyskać założony zakres pomiaru prędkości. Czujnik podłączony do wejścia "capture". Blok capture skonfigurowany tak, aby po odebraniu sygnału z czujnika następowało przepisanie wartości rejestru licznika do jednego z rejestrów CCR. Na dokładkę włączony "Slave Mode"...
Bit banding się zgadza z przykładem blink_led. Nie mogę odgrzebać jakiegoś przykładu z odbiorem. Napisałem taką funkcję do odbioru : [syntax=c] void MPU6050_I2C_BufferRead(u8 slaveAddr, u8* pBuffer, u8 readAddr, u16 NumByteToRead) { #define BITBAND_PERI_REF 0x40000000 #define BITBAND_PERI_BASE 0x42000000 #define BITBAND_PERI(a,b) ((BITBAND_PERI_BASE...
Po co mu wysyłać szybkość wysyłania danych SPI po SPI? Bez sensu. Po pierwsze, RFM to zawsze SPI slave. Po drugie, ustawienie data rate dotyczy transmisji radiowej.
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...
Cześć! Mam ostatnio mały problem. Próbuje uruchomić Timer 8 tak, aby zliczał z jak najmniejszym opóźnieniem za Tim1. Robię to według RefManuala (RM0090, p. 622): "Using one timer to start another timer", niestety oba Timery są kompletnie rozjechane. Przypuszczam, że problem leży w tym, że oba timery działają w trybie center-aligned - chociaż skonfigurowałem...
Wystarczy wysłać Start i Adres. Po otrzymaniu ACK, DMA może wysłać wszystkie pozostałe dane. W tym przypadku, również adres rejestru. W przerwaniu od zakończonego transferu DMA, potrzebujesz jeszcze tylko wysłać Stop. Tylko tyle i aż tyle. W nowszych (np. F7, L4) jest trochę łatwiej. Konfiguruję i włączam DMA. Adres oraz ilość bajtów do wysłania wpisuję...
To pRxMsg to chochlik przy kopiowaniu. Dobrze zajmę się teraz wyłącznie nadajnikiem. Po prostu czytałem, że na magistrali musi być przynajmniej jeden slave i dlatego robiłem oba jednocześnie. Nie doczytałem o trybie loopback. Moja konfiguracja w CubeMX: Zegar 72 MHz. I zauważyłem jeszcze dziwne zachowanie. Stworzyłem sobie zmienną stan=HAL_CAN_GetState(&hcan)....
Mam wspaniałe dzieła stm32f103 1-ware slave na takich delay //:::::::... // Прогрk...
Witam, Zabieram się za pisanie komunikacji STM32F407 - PC przez MODBUS RTU. W pierwszej kolejności (ze względu, że nie miałem z tym wcześniej do czynienia) potrzebuje zrobić prosty test, tzn podłączyć do jednego portu USB w laptopie przejściówkę (RS232-USB) i połączyć się w terminalu jako Master, następnie do drugiego portu USB w laptopie podłączyć...
Cześć, pierwszy raz spotkałem się z problemem z SPI. Otóż zauważyłem, że w zależności od tego jaką metodę wykorzystuje, czy nadaje, czy odbieram, max prędkość SPI ulega zmianie. Pomijam fakt, że flaga BSY przy prescalerze <4 działa niepoprawnie(zbyt wcześnie - w okolicach połowy ramki odbiorczej) - przy pozostałych prędkościach działa dobrze. W przypadku...
Witam, nie wiem czy kolega używa CubeMX, ale w tym środowisku możemy ładnie określić coś takiego jak slave mode dla timera. I teraz ten drugi timer byłby slavem względem pierwszego i dodatkowo należy mu ustawić chyba trigger source na przepełnienie timera, który jest masterem. Piszę z pamięci także mogę się mylić. Ale musi być przecież taka opcja generowania...
PIC są o tyle fajne że maja dedykowane wejście zegara referencyjnego dla I2S A to nie jest standard? W STM32 też jest wejście zegara, można też przełączyć cały interfejs master/slave. W LPC (robiłem coś na lpc17xx) było podobnie (master/slave).
Czołem! W swoim projekcie muszę umieścić kilka struktur w konkretnych miejscach w pamięci. Dodałem sobie atrybut do definicji tych obiektów i obecnie plik źródłowy wygląda tak jak poniżej [syntax=c] /* * config_data.c * * Created on: Jan 12, 2021 * Author: mateusz */ /** * This is NOT an editable configuration file where ParaTNC settings are made! Do...
Szanowny Państwo, zwracam się z uprzejmą prośbą o pomoc z pewnym zagadnieniem. Piszę program do układu sterowania zgrzewarką punktową o wysokiej częstotliwości przekształtnika. Korzystam ze sterownika XL7 firmy Horner oraz płytki STM32. Moją koncepcją na stworzenie układu sterowania jest transmisja danych poprzez protokół MODBUS RTU po kablu RS-485....
Cześć Odpaliłem w nim prawie wszystkie peryferia włącznie z SPI Master i Slave. Tutaj masz kod wycięty z jakiegoś ich exampla i napewno działający: /***************************************... * Function Name : SPI_FLASH_SendByte * Description : Sends a byte through the SPI interface and return the byte *...
Witam, Po wielogodzinnej zabawie wreszcie udało mi się uruchomić I2C i nawiązać komunikację z akcelerometrem. Jednak mam mały problem - chciałbym w jednym adresowaniu w trybie do odczytu odczytać zawartość kilku kolejnych rejestrów z akcelerometru. Póki co udało mi się napisać działający program odczytujący tylko jeden rejestr, więc do odczytania trzech...
Witam, mam dziwny problem z komunikacją I2C. Przed stworzeniem tematu przetestowałem przykłady użycia I2C udostępnione przez ST (komunikację I2C1 z I2C2 itp.) i wszystko było ok, niestety pod drobnych zmianach i podłączeniu RTC DS1307, uC nie może się z nim skomunikować. Nie wiem w czym jest problem, a siedzę już nad tym ze 2 dni, więc prosiłbym żeby...
Jeszcze jedno pytanie, w interfejsie SPI kiedy zaczyna się taktowanie SCLK [?] Po stronie procka SPI jest MASTER, a po stronie modułu SLAVE. Na NSS daje logiczne '0' w celu otwarcia magistrali, czekam na stan niski na SO (taka jast rekomendacja ze strony TI przy wpisie do SLAVE'a), wpisuje dane do DR, na koniec odłączam magistrale przez ustawienie NSS...
Witam, od dwóch dni walczę z uruchomieniem I2C na STM32L151C8, przez linie i2c chcę odbierać dane z innego mikrokontrolera (8 bitowego) który po zgłoszeniu ack wysyła do mnie ramkę danych. Problem mam od samego poczatku ponieważ nic nie działa a mi zaczyna brakować pomysłów co mogę jeszcze zmienić, zrobić. Poniżej kod: while( !( I2C1->SR1...
Witam chciałbym odbierać dane z czujników (na początku tylko BMA180), przez I2C na przerwaniach. Mikrokontroler to STM32F407, programuje w Keilu i używam bibliotek. Aby odczytać dane, muszę najpierw wysłać komendę 0x02. Wysyłam ją po przyjściu przerwania zewnętrznego od czujnika w ten sposób: [syntax=c]{ I2CWrite[0] = 0x02; I2CToWrite = 1; SlaveAddress...
Witam mam taki problem, otóż mój STM32F4 bardzo dziwnie się zachowuje. Mój program ma odczytywać z 3 różnych czujników przez I2C dane i przeliczać je. I2C zrealizowane jest na przerwaniach (z najwyższym priorytetem), dodatkowo używam timera 2, by odmierzał czas. Oto kod: [syntax=c]#include "stm32f4xx.h" #include "stm32f4xx_conf.h" #include <stdio.h>...
Mam jeszcze pytanie. Wybrałem NSS wybierane programowo. Czy wystarczy,że podłączę mastera z slavem bezpośrednio przewodem, czy muszę podciągnąć go jeszcze do plusa ???
Tak, jej naprawdę nie rozumiem czemu to tak zawsze wygląda na forum... Dokładnie zawsze tak to wygląda jak nie czytasz dokumentacji. Nikt tutaj nie będzie Ci jej przepisywał. Znachorzy zaczynający dyskusję od wypytywania "co to?", "dlaczego tak a nie siak?" itp. naprawdę nie pomagają. Czyli jak masz coś totalnie źle, bez sensu, od złej strony, ze złymi...
Jeśli ktoś ma wiedzę na ten temat, to będzie miło jak coś napisze. No przecież napisałem... Nie wiem jakiej odpowiedzi oczekujesz - konkretnych liczb ("w ostatnich 12-tu miesiącach SPL zostało użyte w 14235 projektach prowadzonych przez 52463 programistów w 8234 firmach") czy procentów ("SPL jest używany obecnie w 64,4436% firm, przy czym najwięcej...
Podłącz DIN do MOSI, a DOUT do MISO. DIN, to wejście dla układu interfejsu i musi być połączone z MOSI (Master Output/Slave Input). DOUT to wyjście danych z interfejsu i musi być połączone z MISO (Master Input/Slave Output).
Panowie jakiś pomysł ? Dołączam kod ;) [syntax=c] #define I2C_SDA_PIN (1<<10) #define I2C_SCL_PIN (1<<11) #define I2C_MODE GPIO_MODER_MODER11_1|GPIO_MODER_MODER10_... #define I2C_PULLUP GPIO_PUPDR_PUPDR11_0 | GPIO_PUPDR_PUPDR10_0 #define I2C_OTYPERGPIO_OTYPER_OT_11 | GPIO_OTYPER_OT_10; #define AFRd AFR[1] #define I2C_PORT GPIOB #define I2C...
Bardzo prosze o pomoc! Mam czujnik, którego sygnal chcialbym nie tylko móc ujac "capture" jak w ponizszym programie ale równiez móc spisac wynik z "capture" na inny pin. Nie mam pojecia jak ten Pin odbiorczy skonfigurowac. Tu poczatek konfiguracji capture. void timer3_konfig(void) { // TIM3 do pomiaru nadchodzacego sygnalu PWM z czujnika TIM_ICInitTypeDef...
makro jest ok, używam je już długo i wszędzie działa. Zresztą jest to produkt Freediego:) Linijka którą podałeś uruchomiła SPI, jest ok:) Muszę zobaczyć co to takiego to SSM i SSI, dzięki. Dodano po 3 Software slave management enabled - czyli programowe zarządzanie w trybie slave? SPI pracuje jako master, do czego ten bit służy?
Prawda, SPI1 jest taktowane z szyny APB2 która może być taktowana pełnym 72MHz. W mikrokontrolerach STM32F103 dostępne są dwa układy peryferyjne obsługi SPI. Mogą one pracować w trybie master lub slave i obsługują przesyłanie słów 8- lub 16-bitowych. Maksymalna częstotliwość sygnału SCK to 18 MHz, co wynika z faktu, że wysłanie 1 bitu danych wymaga...
Proszę kod bez dodatkowych pustych lini. biblioteka [syntax=c] /* Includes ----------------------------------------... #include "TC.h" #include "systick.h" #include "GLCD.h" #include <stdio.h>; /***************************************... * Function Name : MAX31855_SPI_Init * Description...
Witam, Mam pewnien problem ze zrozumieniem SPI w STM32F0 (dokładnie STM32F030C8T6). Mianowicie, przy takiej konfiguracji: void SPI_Set(void) { RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; // wlaczenie zegara dla SPI1 RCC->AHBENR |= RCC_AHBENR_GPIOAEN; //wlaczenie zegara dla portu A (ponowne) GPIOA->MODER |= (GPIO_MODER_MODER4_1...
No to jeszcze jeden Timer jako master. On wystawia sygnał CKL*4. Do linijki CMOS. Drugi Timer jako slave, i on ma mieć preskaler ustawiony na 4. A więc ma zliczać co 4 takty. I ten slave to będzie ten Timer co opisywaliśmy wyżej. Czyli ten co robi PWMa (albo innym transferem DMA wystawia stan na pin) i wyzwala transfery SPI po DMA. PS. A co do czułości...
Witam, ogarnąłem już sobie I2C, układ PCF8583 działa świetnie i bo sobie obsługuję. Dodaję obsługę pamięci EEPROM 24C64 i co ciekawe, układ PCF działa natomiast w momencie wysłania komendy START + Adres eeproma, ten zwraca NACK, czyli nie odpowiada - sprawdzone analizatorem stanów logicznych. Przewody to raptem 15 cm, więc wątpię, że to jest to. Częstotliwość...
Niestety zamiana też nic nie pomogła. Poniżej zamieszczam wycinek z dokumentacji odnośnie jak ma wyglądać komunikacja. Jest powiedziane też że oznaczenie W to jest Write = 0 oraz R jako Read = 1. I tutaj jest wycinek pliku stm32f4xx_i2c.c: [syntax=c] /** * (at)brief Transmits the address byte to select the slave device. * (at)param I2Cx: where x can...
Dziękuje za odpowiedź. Zdecydowałem się jednak na komunikację poprzez I2C. Jeśli prędkość nie będzie wystarczająca to spróbuje po tym SPI. Jednak niestety natrafiłem na następujący problem. Napisałem sobie kilka funkcji pomocnych przy obsłudze I2C. Chcę odczytać dane tylko z żyroskopu na razie z jednej osi. Podczas odczytywania cały czas wyświetla mi...
Działa, dziękuję bardzo, poszperałem jeszcze trochę po innych tematach, nie wiem skąd w kodzie wzięło się I2C2 8-O Działające funkcja wysyłania: [syntax=c]void i2c_write(uint8_t slave_adress, uint8_t *data, uint32_t lenght) { uint32_t dummy = 0; I2C1->CR1 |= I2C_CR1_START; //send START (S) ///EV5 while (!((I2C1->SR1) & I2C_SR1_SB)); //wait for generating...
Na początek proponuje sprawdzić sygnał clock bo nie wydaje mi sie poprawny. W rejestrze timming każdy z bajtów lub połowy bajtu cos oznacza (dł stanu, zbocza etc) sprawdź i zobacz najlepiej pod oscyloskopem a nie analizatorem z dalekiego wschodu, jak wyglądają przebiegi. Dł sygnału niskiego w stosunku do wysokiego powinna być taka sama z drobna tolerancja....
Witam wszystkich, chciałbym połączyć Nexusa 5 i STM32F407VG by wymieniać dane itd. Chciałbym aby telefon był Masterem a płytka slave'm. Pytanie następujące, od czego zacząć prace nad tym projektem. Jak skonfigurować USB otg na STM? Bo czytam RM i nie wiem jak to poustawiać.. Słyszałem ze trzeba ADK instalować czy coś takiego ale żadnych konkretnych...
Tylko proszę nie krzyczeć, że nie korzystam ze Standard Peripherial Library. Na razie wstępna wersja wygląda tak. Proszę mi wierzyć na słowo, że bity poustawiane są dobrze. Kod inicjalizujący: /* ------------------ Inicjalizacja SPI2 ------------------ */ // Ustawienie portow (PB13 - SPI2_SCK Alternate function push-pull, PB14 - SPI2_MISO Input...
(at)Piotrus_999: Tak, wiem, czytałem, ale najprościej jest sprawdzić, czy przerwanie działa i czy do niego wchodzi (po prostu led'a zapalić w przerwaniu, tyle). Po wywaleniu SW4STM i zainstalowaniu czystego Eclipse i skonfigurowaniu według tutoriala od kolegi Freediego przerwania od linii zewnętrznych śmigają aż miło. Źródłem przerwania jest ekran dotykowy...
Witam Kolegów. Tak tylko pytanie czy ktoś z Was może znalazł w dokumentacji informację o tym że w przypadku braku danych w kolejce nadawczej SPI cały czas wypycha ostatnią wpisaną. Zauważyłem przy okazji debugowania - nic nie jest wysyłane a on ciągle nadaje to samo (program wstrzymany). Zawsze myślałem że to będą zera. PS Konfiguracja jako slave oczywiście
To ja chyba nie rozumiem jak ten twój układ działa. Sądziłem że cały cykl pracy zaczyna się od sygnału sck i nie ma znaczenia z jakiego źródła co jest taktowane. Czyli tak jak w klasycznej komunikacji po spi byle by nie przekroczyć maksymalnej częstotliwości taktowania jaką slave jest wstanie poprawnie zinterpretować. Co do attiny to jednak chciałbym...
Witam! Pytanie jest proste: Czy CH1 oznacza fizyczną nóżkę czy też kanał w rejestrze sekwencji i fizyczna nóżka w SLAVE moze być dowolna. Do tej pory z lenistwa robiłem ten sam fizyczny kanał ale teraz dość mocno mi to komplikuje płytkę a chcę aby długości ścieżek były bardzo podobne. Nie mam też w tej chwili fizycznej możliwości sprawdzenia tego eksperymentalnie....
Miałeś problem z HAL, wydłubałem funkcję, która adresuje układ do odczytu, zapisuje rejestr/rejestry, generuje ponowny start, adresuje do odczytu i odczytuje bajt/bajty. Może się przyda. [syntax=c] /** * (at)brief Read an amount of data in blocking mode from a specific memory address * (at)param hi2c Pointer to a I2C_HandleTypeDef structure that contains...
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 z rozwiązań jest załadowanie danymi w tym samym...
Witam Mam chiński klon Maple ze STM32 nazywany STM32 Mini. Problem mam z bootloaderem. Wgrałem zgodnie z instrukcją przez program STM32, chodzi tu o możliwość wgrywania programu przez wbudowane USB. Teoretycznie nie powinien działać reset automatyczny ponieważ opornik jest za duży. W sumie raz działało raz nie ale ogólnie było ok, aż do dnia może z...
Witam, Próbuję zrealizować nadawanie i odbiór po magistrali I2C - STM32F01RET6 z okładem BNO055. Program zawiesza się na pętlach sprawdzających stan zajętości magistrali lub wygenerowanie START. Jak nie zawiesi się na pętlach to odczytuje jakieś dane ale tylko dla odczytów po 1 bajcie. W przypadku odczytu ilości bajtów > 1 to odczytuje tylko jeden...
Nie mogę ogarnąć problemu swoim umysłem. Próbo odczytu rejestru WHO_AM_I = 0x0F na STM32G071RBTx daje zero czyli źle. Na Arduino jest poprawnie Przy odczycie rejestrów na STM32 mam zera, na Arduino ok. Sprawdzałem oscyloskopem efekty takie same. Nie wiem co może być nie tak. Ten sam moduł na STM32 daje inne odczyty niż na AVR. STM32 i Arduinouno+ pracują...
Tak naprawdę to mogę zgadywać w czym piszesz i na co piszesz. Więc jeśli byłoby to na STM32F103 i używałbyś ST'mowego HAL'a to można filtrować jak poniżej [syntax=c] static void MX_CAN_Init(void) { (...) /* USER CODE BEGIN CAN_Init 2 */ CAN_FilterTypeDef filter = {0}; filter.FilterIdHigh = 0x008 << 5; filter.FilterIdLow = 0x201 << 5; filter.FilterMaskIdHigh...
Przecież jak zaznaczysz je jako General Purpose CNF Bit 9 SSM: Software slave management When the SSM bit is set, the NSS pin input is replaced with the value from the SSI bit. 0: Software slave management disabled 1: Software slave management enabled Próbowałeś tego, jak wisi w powietrzu i masz ustawiony jako slave (chyba)? Chyba, że jako...