Jeśli potrzebujesz odczytywać opór z potencjometru to niezależnie od rezystancji tego potencjometru robisz to tak: http://obrazki.elektroda.net/95_12571846... Odczyt z ADC to już kwestia konkretnego mikrokontrolera. Zakres będzie zależał od rozdzielczości, ale jak to skonfigurować to musisz już w datasheecie poczytać
Nie możesz jeden po drugim, bez żadnego czekania odczytywać czy wysyłać kolejnych bajtów przez I2C. Pomiędzy każdym wysłaniem lub odebraniem muszą być sprawdzane stosowne flagi wskazujące czy transmisja danego bajtu się już skończyła. Początek każdej transmisji musi zaczynać się warunkiem startu, a kończyć warunkiem stopu. Razem z adresem urządzenia...
1. Jeśli kierunek ma wartość 0 to to przerwanie nigdy nie jest wykonane. 2. Używanie biblioteki SPL dla potencjalnie szybkiego sygnału mija się z celem. 3. Jeszcze bardziej z celem mija się używanie Exti dla enkodera skoro STM32 ma timery z wejściami enkoderowymi.
Pierwsza sprawa to nie widzę podłączenia ADC1 do APB2. Druga sprawa: DMA_InitStruct.DMA_MemoryBaseAddr = (uint32_t)&ADCVal; Czy ADCVal nie jest tablicą?
Oczywiście, że można to zrobić bez użycia HAL, czy SPL. Kod, który tu przedstawiłeś wymaga bardzo wielu poprawek. Nie uważasz, że funkcja zapisu do pamięci jest zbyt skomplikowana? Długa na 88 linii, zawiera dziwne stałe typu: 1 << 14, 0xF3. Np co robi ta instrukcja: [syntax=c]FLASH->CR &= 0x1FFE;[/syntax], albo taka: [syntax=c]while(FLASH->SR...
Kontroler flasha to nadal tylko peryferial memory-mapped, wiec SFR w ktorym ustawiasz protekcje niczym sie nie rozni od SFRów od np. SPI, i dokladnie tak samo mozna go zapisać przez SWD/JTAG . A to juz wprost odpowiedz na twoje pytanie. SWD/JTAG pozwala na rw dowolnego 32bitowego adresu w losowym momencie, niezaleznie od tego, czy rdzen wykonuje kod,...
Czytałes errate?
[syntax=c] int i; int suma_af = 0; const unsigned char * p = (const unsigned char *)&data for (i = 0; i < sizeof(my_type)l i++) { suma_af += p[i]; } [/syntax] Zakładam, że struktura jest upakowna ;)
To zmień na właściwą wartość. Wymagania masz w DS...
Już to kilka razy wrzucałem, ale u siebie mam tak: [syntax=C] io_pin_cfg(SDA_GPIO, SDA_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_OUT_... GPIO_CRx_CNF_ALT_OD_value));// SDA - alt output, open-drain, 10M io_pin_cfg(SCL_GPIO, SCL_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_OUT_... GPIO_CRx_CNF_ALT_OD_value));// SCL - alt output, open-drain, 10M...
Skoro masz datasheet wyświetlacza weźmy ten http://www.adafruit.com/datasheets/ILI93... strona 66 rozdział 7.2.20 i tutaj nie ma nic że address counter jest inkrementowany podczas odczytu, natomiast podczas zapisu jest.
Że tak zapytam.. Takie ustawienie: [syntax=c] SCB->AIRCR=0x5FA0000|(3<<8); //skonfiguruj PRIGROUP na 4:4 [/syntax] Ustawia wszystkie 4 dostępne bity na preemption więc tak czy siak jest 16 grup priorytetów bez możliwości ustawienia podpriorytetów w grupach. A to nie na jedno wychodzi, co 16 priorytetów bez grup? W takim wypadku ten zapis: [syntax=c]...
Odkomentuj to: [syntax=c]// pulSrc = &_sidata; // // for(pulDest = &_sdata; pulDest < &_edata; ) // { // *(pulDest++) = *(pulSrc++); // } // // /* Zero fill the bss segment. */ // for(pulDest = &_sbss; pulDest < &_ebss; ) // { // *(pulDest++) = 0; // }[/syntax]
Posiadam płytkę główną z tak zwanej ruchomej głowy Co to jest??? Wiem że do ostatecznej naprawy muszę mięć wsad do tego STM32 co wiąże się kupnem sprawnej Na 100% układ będzie zabezpieczony przed odczytem, więc nie ma to sensu. Jak to połączyć i jakiego programu najlepiej użyć aby to sprawdzić? Jest to opisane w Reference Manual: https://obrazki.elektroda.pl/3530271300_...
Musisz jeszcze skasować flagę końca konwersji w rejestrze statusowym. Pisałem żebyś manuala poczytał! JEOC: Injected channel end of conversion This bit is set by hardware at the end of all injected group channel conversion. It is cleared by software. 0: Conversion is not complete 1: Conversion complete Tu jest troszkę inaczej niż w regularnych kanałach...
Nie piszesz o Cortex-M, a o STM32 - popraw temat. U innych producentów uC wygląda to zupełnie inaczej. Pamięć spod adresu 0x08000000 w normalnym trybie pracy STM32 zostaje odwzorowana również pod adresem 0 - jest dostępna do odczytu (tylko) pod dwoma adresami.
Pomijając sensowność używania sprintf do SKOPIOWANIA stringa do jakiejś zmiennej, to błędów jest bardzo dużo. 1. Skasowałeś stronę którą chcesz zapisywać? 2. Odblokowałeś zapis do flasha? 3. Twój zapis jest dziurawy, bo jak zero będzie na nieparzystej pozycji, to pętla nie zakończy się wtedy kiedy będziesz chciał 4. Odczytujesz FlashStatus, to sprawdź...
Sprawdzę w weekend i skonfiguruje tak samo jak w projekcie pod Stm32
Na pierwszy rzut oka w Twoim kodzie, jak i u autora, nie ma żadnej manipulacji trybem wyjścia portu - pinu. Po wrzuceniu tego na STM32F722RE okazuje się, że nie ma to znaczenia. Przy ustawieniu trybu pinu na wyjście z open drain, odczytanie rejestru IDR daje poprawne działanie, bez zmiany trybu na wejście. Sprawdziłem to na porcie A i pinie PA0. Nie...
C-SKY Flash Programmer jest oprogramowaniem dostarczanym do pobrania przez XuanTie na stronie https://www.xrvm.cn/community/download?i... https://obrazki.elektroda.pl/1504579400_... Narzędzie to współpracuje z programatorami CK-Link do odczytu i zapisu w pamięci flash procesorów C-Sky z rdzeniem RISC. Procesory...
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
Podobnie jak w przypadku życzenia 8 x uint8_t, ale 9 x uint8_t zarezerwuje 16 bajtów. Chyba raczej 12 bajtów a nie 16-cie.
A gdzie konfiguracja pinów czy RCC ? Kody do ADC na forum krążą chyba w 3 wersjach. Moja, FC i chyba nsvinca.
Liczbę impulsów masz w CNT, nie w CCR2. Zerowanie go nie ma sensu, wystarczy odejmować od siebie dwa kolejne odczyty.
Zmiana preskalera wymaga updatu timera. Po update (EGR rejestr) wymagane zapewne jest wyczyszczenie flag. Pomiędzy Upadate i czyszczeniem flag trzeba wstawić jakiś dodatkowy odczyt.
jednak z tego co wyczytałem w internecie SBUS to UART tx z odwróconą polaryzacją (dlaczego ?) Tak sobie Futaba wymyśliła i nic z tym się nie zrobi. Robiłem odczyt sbusa na Nucleo f446RE i zastosowałem inwerter na tranzystorze, bo tam raczej nie można odwrócić sygnału. Przed chwilą odpaliłem cubemx z Nucleo G491RE i tam w ustawieniach LPUART najprawdopodobniej...
Ok, Jest jakieś sensowne zastosowanie zmiennej const i volatile? Stricte zmiennej to nie ma. Taka kombinacja może mieć ewentualnie sens w przypadku wskaźnika odnoszącego się do sprzętowego rejestru tylko do odczytu.
Jeśli korzystasz z stm32f4 discovery, to sprawdź czy masz dobrze ustawionego st-linka. Musisz mieć zainstalowany w systemie sterownik do niego, Keil nawet zaktualizuje w nim soft jeśli zajdzie taka potrzeba. Jeżeli chodzi o konfigurację st linka w Keilu, wszystko znajdziesz w dokumentacji u ST na stronie. Nie wiem też czy dobrze się zrozumieliśmy. Debug...
Ale to jest temperatura rdzenia. Odczytać można ale ona nie oddaje temperatury otoczenia.
stm32f407vet6+st link i do tego ST-LINK Utility, i tak... po podłączeniu automatycznie ładuje program z procka klikam zapisz Upewnij się czy masz dobrze określony obszar flash do odczytu odpowiedni do danego uC, bo Stlink nie ustawia tego automatycznie. Może odczytujesz i wgrywasz później tylko część istotnego obszaru flash i stąd te dziwy. Przykładowo,...
Cześć. Tak się zastawałem, czy w STM32 istnieje możliwość zabezpieczenia wgranego programu do pamięci Flash przed odczytem a tym samym skopiowaniem? Jeśli tak to gdzie i jak się to robi? A AVR-ach były bity konfiguracyjne, które pozwalały na taki odczyt, a w STM32?
Witam, Ostatnio testowałem komunikację I2C z pamięciami z serii 24x. Testy były przeprowadzone na Arduino oraz STM32F103xxx. Pierwsze testy z pamięciami adresowanymi pojedynczym bajtem, czyli 24x01-24x16, działają poprawnie i jak oczekiwałem (opieram się o moje doświadczenia z rodziną PIC, tam właśnie tak to działa). Zapis/odczyt poza zakresem pamięci/adresów...
Czy tak trudno odpowiedzieć na pytanie? Sam się czasami dziwie, że to taki trudne. Nie specjalizuje się w angielskim, a trudno przetłumaczyć/znaleźć zagadnienie w pdfie. Wszystko wynika ze specyfiki takiej pamięci. Pomijając aspekty fizyczne, czysta komórka pamięci flash odpowiada stanowi "1". Podczas zapisu do pojedynczej komórki można tylko i wyłącznie...
Witam! Mam pytanie o kwestię banalną przy pracy z programatorem, ale niewiadomą puki co dla mnie, przy pracy z j-tagiem. Jak włączyć zabezpieczenie przed odczytem flash-a?
Ogólnie spodziewałem się tej odpowiedzi ale wolałem zapytać, bo to dość popularne sterowniki. Są jakieś ogłoszenia z częściami i całymi sterownikami po naprawach to spróbuję tam uderzyć. Ogólnie przy samym MCU są goldpiny. Dziś z ciekawości to jeszcze "przedzwonię". Z tego co wiem w zabezpieczonym STM32 przy próbie odczytu się on czyści więc to bilet...
Zrobiłem już cos takiego z Vinculum... ale to się okazała porażka, bo na firmware V2DAP miałem taki problem, że jak otworzyłem plik do zapisu i odczytu to po zapisaniu danych gdzieś w połowie pliku, jego dalsza część była ucinana i kończył sie na tym co właśnie zapisałem... Mam rozumieć, że zrzucasz FTDI Chips winę za to, że twoja aplikacja nie działała...
A jak daję w f_read & przed zmienną to nic nie zmienia? Zastanów się nad tym sam... Funkcji każesz odczytać 480 bajtów. Gdzie ona je niby ma zapisać, skoro podajesz jej adres zmiennej o rozmiarze 2 bajty? To że wpisujesz tam '&' nie sprawia że nagle zmienna uint16_t staje się workiem bez dna... 4\/3!!
Potrzebujesz programatora, ale pewnie i tak jest zabezpieczony przed odczytem i możesz co najwyżej wgrać nowy wsad.
Niezależnie od tego, co z nimi potem robisz, najwygodniej czytać je zwyczajnie przez adresy po jednokrotnym ustawieniu odwzorowania QSPI w przestrzeni adresowej, a nie poleceniami odczytu pamięci. W EP możesz kupić elektronicznie dowolny numer.
Podłącz programator i spróbuj odczytać. Jeśli Procek jest zabezpieczony przed odczytem to wyskoczy ci odpowiedni monit. Zabezpieczone stm32 odczytują chińczyki, Ale nie jest to tanie.
Na jakim MCU piszesz obsługę? Na tą chwilę API jest pisane w Pythonie na PC - póki się "bawię" nakładkami. Jak już wszystko zrobię, to potem przepiszę na C, żeby je dorzucić do mojego urządzenia nad którym pracuje :) Oparte jest o STM32.
Witam, Czy spotkał się ktoś z biblioteką dla STM32, która potrafiłaby odczytywać listę symboli z danych "wkomplilowanych" dla potrzeb debugowania? Nie musi być dokładnie któryś z tych formatów co w temacie. Chodzi mi o to, aby z poziomu programu dostać się do wartości zmiennych na podstawie ich nazw z kodu w C. pozdrawiam
A ja sądzę, że jedynym sensownym rozwiązaniem jest zrezygnowanie z DMA, jeśli i tak procesor musi reagować na każdy odczyt. Albert
Witam, mam problem z odczytem więcej niż jednego kanału ADC. Dla jednego kanału miałem następujący (działający) kod (z wyzwalaniem przez TIM3). [syntax=c]void adc_init(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN | RCC_APB2ENR_ADC1EN; RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; GPIO_CONF(GPIOA, 0,GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG);...
STM32L073RZ: 1034 +157 stron Masz problem z ADC. Czy w związku z tym rozwiązania problemu będziesz szukał w rozdziale o ADC (49 stron), czy może na wszystkich ~900 pozostałych (np. w rozdziale o USART albo SPI)?
Witam wszystkich Poniżej zamieszczam kod który przeraża mnie swoją wolnością znaczy się brakiem szybkości. To jest STM32 a działa wolniej niz ATMEGA8. Osobiście nie sprawdzałem oscyloskopem taktowania ale jesli wierzyć konfiguracji PLL to zegar główny to 64MHz while zajmuje 16 albo 18 cykli - MASAKRA. Jak to przyśpieszyć? Czy jest możliwe wykorzystanie...
Reasymując: nie znamy schematu i nie wiadomo, jakie są objawy niedziałania programu. No, to już możemy pomagać, bo Autor nie chce użyć debuggera, żeby sprawdzić, co się dzieje w procedurze odczytu klawiatury.
Odczyt rejestru DR przez debugger jest odczytem, a więc resetuje flagę RXNE w rejestrze SR. Wyłącz podgląd rejestru DR to powinno być lepiej.
Nie do końca, jeśli masz drugi taki sam model możesz z niego zaczytać bootloader Jak jeśli jest zabezpieczony przed odczytem?
Witam, Niestety natrafiłeś na ogólnie znany problem :-) I2C w stm32f103 jest po prostu ... nie działa najlepiej. Jeżeli dobrze pamiętam przy próbie odczytu nie ustawia mu flagi IV5 i można tak czekać i czekać. Jeżeli masz nowe biblioteki to spróbuj zmienić prędkość transmisji na 50kB. Jeżeli to nie pomoże to zostaje ci bitbanging :)
Hej, Dzięki za odpowiedz. Co do prędkości to fakt mój błąd, jednak to jest bez znaczenia w tym przypadku. Przykleiłem twój kodzik, wyłączyłem moją konfigurację ADC i DMA i niestety otrzymuje takie same rezultaty :( To jest chińska PCB wiec może coś jest nie podłączone, tylko co.... pozdrawiam i dzięki za pomoc Krzysiek
Flash loader demonstrator. Umożliwia ona m.in. zapis i odczyt pamięci programu mikrokontrolera STM32 przez bootloader poprzez USB Jak ustawić w/w program pokazano w 13 min [youtube]https://www.youtube.com/watch?v...
Witam "Bawię" się tytułową pastylką w zestawie z STM32F103. Napisałem program, który w teorii i częściowo w praktyce działa, ma jednak jakieś ale. Program jest bardzo prosty: reset i odczyt obecności urządzenia na linii, potem komenda 33h (read ROM) i odczyt odpowiednio rodziny (01), numeru seryjnego (6 bajtów) i CRC i tak w kółko (pętla z opóźnieniem,...
Pracuję nad obsługą panelu dotykowego z interfejsem TSC2046 (wyświetlacz ILI9325 z zestawu STM32Mini_01). Wykonałem inicjalizację SPI i próbuje czytać współrzędne. Przekopałem internet, siedzę z dokumentacją ale mimo próśb i grób te odczyty są strasznie losowe. Może zanim będę męczył moim kodem, może ma ktoś dedykowane przykładowe programu do panelu...
W SPI jest bufor FIFO. Po pierwszym wysłanym bajcie nie odczytujesz DR - może to przeszkadza i przy drugim transferze zwraca starą wartość. Sprawdź coś takiego: [syntax=c]uint8_t MEMS_read1B( uint8_t data ) { uint8_t niewazne; while( !(SPI5->SR&SPI_SR_TXE) ); CS_OFF; NCS_MEMS_ON; SPI5->DR = 0x80|data; while( !(SPI5->SR&SPI_SR_RXNE) ); niewazne = SPI5->DR;...
W tym samym rejestrze (AFIO->MAPR) znajduje sie bity konfiguracyjne JTAG/SWD. Dokumentacja mówi, że są one tylko do zapisu, a odczyt tych bitów daje wynik niezdefiniowany. Może warto sprawdzić bezpośredni zapis do rejestru [syntax=c]AFIO->MAPR = AFIO_MAPR_TIM4_REMAP; // bez |[/syntax] albo z maską na te bity [syntax=c]AFIO->MAPR |= AFIO_MAPR_TIM4_REMAP...
Aha, a jaka jest częstotliwość próbkowania tego sampla? 62,5KHz jeżeli dobrze pamiętam. Ze 4 takie pozytywki zrobiłem na różnych prockach i każda z innymi parametrami zależnymi od możliwości procka. rozważam próbki z karty Da się, ale trzeba zadbać o bufory bo losowy odczyt nie jest zbyt szybki. DataFlash był by lepszy. Tu odczyt z karty, 4 sample...
1. Jak chcesz odpowiedź, to podawaj WSZYSTKIE dane. Skąd mamy wiedzieć co jest pod LCD_RWPORT? Może jest zdefiniowane jako "("? 2. Nie wiem po co te magiczne kombinacje. W przypadku STM32 to w ogóle nie ma sensu, bo wystarczy jakbyś sobie zdefiniował LCD_RWPORT jako "GPIOA", a nie samo "A" (jak zapewne planujesz) i już cały pomysł sklejania makr jest...
Udało Ci się? Bo ja zaczynam się bawić CDC na STmie.
To może zacznij od aktualizacji biblioteki której używasz, bo tym sposobem nigdy nie dojdziesz do tego co jest problemem. W dokumentacji na stronie ta struktura wygląda inaczej niż to co wrzuciłeś wyżej. W paczkach od ST ta struktura również wygląda inaczej niż to co wrzuciłeś wyżej.
Jeśli zmiana rozmiaru buforów powoduje że program przestaje działać oznacza to że prawdopodobnie kończy się pamięć na stosie. Kilka rozwiązań jest. 1. zwiększyć stos 2. zdefiniować bufory jako static albo zmienne globalne wtedy nie trafią na stos 3. jeżeli idea projektu na to pozwala podzielić odczyt na mniejsze paczki i zapisywać po trochu(używając...
Są jakieś mechanizmy odczytu flash, jednak to nie jest ani bardzo proste ani za bardzo legalne. Tutaj jakaś wstępna lektura https://sec-consult.com/blog/detail/secg...
Mój procek to STM32F100. Znalazłem błąd, po prostu odczytywałem wartość nie z tego rejestru co trzeba.. Teraz mój kod wygląda tak i działa. Nie wiem czy jest do końca dobry. Oczywiście wcześniej trzeba poprawnie skonfigurować piny wejściowe i sygnały zegarowe. [syntax=c] ADC1->SMPR2 |= ADC_SMPR2_SMP1; //sample time 239.5 cykla ADC1->SQR1 = 0 ; //jedna...
Sprawa wygląda następująco kiedy naciskam Conect to the target to wyskakuje error a jak wejdę w Target->Settings to wykrywa mi poprawnie Serial Number(kiedy odłączę od USB to nie pokazuje jak podłączę to pokazuje) Dodano po 7 pisałem że f0 nie da rady bo natknąłem się na tą stronę Dodano po 2 najbardziej się boje tego że procek mi się uszkodził no...
Statystyki są sumaryczne, przecież to widać że liczby stale rosną. Odczyt niczego nie kasuje, częstotliwość odczytów jednak ma wpływ na działanie całego systemu - na czas generowania tych danych cały RTOS jest wyłączony. 4\/3!!
Wrzuć cały projekt i podaj więcej szczegółów (kompilator, skąd są pozostałe pliki "bazowe", ...). 4\/3!!
Musisz najpierw zewrzeć pin BOOT0 do masy Błąd binarny się wkradł - BOOT0 trzeba podciągnąć do "plusa", BOOT1 do masy.
Wpisujesz do rejestru danych 0x60 i ze względu na 1 stopniowy FIFO, TXE jest ustawiany w następnym cyklu APB, więc chwilę później wpisujesz "losowy bajt". Bezpośrednio po wysłaniu polecenia (0x60), ustawiana jest flaga RXNE, ponieważ interfejs coś już odebrał, a Ty odczytujesz to coś = "śmieci" i wychodzisz z funkcji. Właściwe dane przyjdą dopiero w...
Problem był w jednym rejestrze a raczej jego braku. Poniżej wstawiam poprawne rozwiązanie: [syntax=c] uint8_t ByPassEN = 0x02; //bypass enable uint8_t Mode = 0x12; // 16bit, tryb ciągły 8HZ HAL_I2C_Mem_Write(&hi2c1, 0xD0, 55, I2C_MEMADD_SIZE_8BIT, &ByPassEN ,1,1000); HAL_I2C_Mem_Write(&hi2c1, 0x18, 0x0A, I2C_MEMADD_SIZE_8BIT, &Mode,1,1000);...
Teraz lepiej. Możesz profilaktycznie dorzucić jeszcze resetowanie BDCR bitem BDRST (ustawić na 1, ustawić na 0) oraz ustawiać źródło zegara i włączać samo RTC dopiero po tym gdy LSE już będzie działać. Jeśli dalej nie będzie działać, to należy swoją uwagę zwrócić w kierunku spraw sprzętowych.
Abstrahuję tu juz od sprintf i funkcji piszących na ekranie, których w tym miejscu **absolutnie** nie powinno być. Ogólnie masz racje, tutaj sprintf jest już po pomiarze (drugie przerwanie i tutaj jest zmierzony okres przebiegu). gu32_T1 < początek pomiaru gu32_T2 < koniec pomiaru Jednak wytyczne się zmieniły i można do moich celów zrobić inaczej....
A jak często wykonujesz tę konwersję? Konwersja jest dokonywana jednorazowo po naciśnięciu przycisku. Wystawiany jest sygnał startu konwersji i po 3us powinien nastąpić odczyt AD. To co za różnica, kiedy odczytasz wynik? Jest różnica. ADC odczytuje 256 pikseli linijki CMOS, odczytuje 13 razy więc razem jest 3328 odczytów ADC. Całość musi być odświeżana...
Witam, Mam mały problemik ze skonfigurowaniem przetwornika ADC i DMA. Założenia są takie aby odczytywać 6 kanałów za pomocą ADC1. Procek to STM32F103Vx kanały ADC_IN10 - 15 podłączone do PC0-PC5. Problem jest taki, że w tablicy do której powinna być przesyłana wartość z przetworników są ciągle zera, ale sporadycznie na pierwszej pozycji pojawia się...
Ja po AVR'ach poszedłem w stronę NXP i mikrokontrolerów LPC1xxx. Muszę powiedzieć że tak droga była bardzo gładka i przyjemna. W zasadzie może kilka tygodni zabawy z płytką stykową ([url=http://www.elektroda.pl/rtvforum/t... testowanie peryferiów i już następne projekty opierałem o te mikrokontrolery. Już kilka razy o tym pisałem,...
Jakby mógłby wyglądać odczyt wartości licznika używając przerwania ?
A obsługa SPI przez DMA to co? Nic lepszego ani bezpieczniejszego nie wymyślisz..... za dużo prądu zmień MCU... Generowanie zegarem, czy timerem czegokolwiek to proszenie się o błędy. Zmniejszanie taktowanie nie koniecznie zmniejszy poboru prądu jeśli korzystasz z trybów stop lub sleep
I nadal jest to lan8742A ewentualnie dp83848, a nie lan8720, ewentualnie ENC28J60. Podstawowy zestaw rejestrów PHY jest standardowy więc jest szansa, że "sterownik" jednego zadziała z innym (o ile operuje tylko na obowiązkowym zestawie i nie sprawdza modelu PHY), skonfiguruj go więc na taki jaki obsługuje Cube i zobacz co sie stanie. Bo tak na prawdę...
Tak mam, całe mnóstwo, jak wyłączę i wywalę printfy to jest ok, niemniej nie mogę poświęcić całego procka dla odczytu i2c :) Pozdrawiam Krzysiek
Co do pól bitowych to mam Je odbierać i wysyłać więc nie mam wyboru. To nie jest prawda. Odbierane i wysyłane są bajty, odczyt i zapis zazwyczaj realizuje się poprzez maskowanie wartości i przesunięcia (czyli operacje bitowe a nie pola bitowe) Chciałem ułatwić rzycie osobie która nie jest programistą w składanie ramki do wysłania. Po to się tworzy...
A ja zadam "głupie" pytanie: próbowałeś po prostu wpisać zmienną do View->Watch1 (oczywiście w trybie debugowania)? Jakoś nigdy nie miałem kłopotu (z poziomu Watch table ) z odczytem wskaźnika jak również z zapisem i odczytem komórki pamięci na jaki wskazuje.
No właśnie... Jak dla mnie po każdej wysyłce (sprawdzonej nie pustym buforem, ale oczekującymi danymi odebranymi!) odczytuj DR (do jakiejkolwiek zmiennej). No i 3x odczyt z DR też nie ma specjalnego sensu... 4\/3!!
Twardy orzech do zgryzienia
Wykresy nie wyglądają źle, ale dlaczego mając Wiktorię nie wykonałeś skanu w tym programie? Nie musi być najnowsza, ale gdybyś chciał, możesz ją pobrać stąd: https://hdd.by/victoria/ 65535=FFFF - niemal na pewno błędny odczyt, który jednak może się powtórzyć i w innych programach. Pierwszy dysk wygląda ok, drugi - wymagałby bardziej szczegółowej diagnostyki,...
Witam, Różnica prędkości nadawania i odbioru dla tego wyświetlacza zawarta jest w nocie katalogowej, strona 242, 18.3.3 Display Serial Inteface Timing.... Dla nadawania minimalny stan wysoki/niski zegara to 40ns dla odczytu to 60ns pozdrawiam Andrzej
Wydaję mi się, że na pinach I/O jest informacja o maksymalnym napięciu Vdd+4.0 V Znów "nie w tym kościele dzwonią". jest potrzeba nadawania sygnałów analogowych Zatem znajdź jakiś przetwornik DAC (+ ewentualnie wzmacniacz operacyjny), a nie ADC. ADC - Analog to Digital Converter DAC - Digital to Analog Converter Jaka ma być dynamika zmian tego napięcia...
Proszę bardzo! Wersja minimalna - zapamiętywanie jednej zmiennej na F0. No fakt, aż 36 wierszy. Nie no błagam... nie rozśmieszaj mnie. Chodziło o kod który dla DOWOLNEJ ilości zmiennych (oczywiście w granicach rozsądku tak aby wszystkie mieściły się w emulowanym EEPROMie) pozwala NA ŻĄDANIE odczytać/zapisać WYBRANĄ zmienną. A ty wrzucasz tu jakieś...
Bit RXNEIE włącza przerwanie od dwóch flag: RXNE i ORE (overrun) - patrz tabelka USART interrupt requests . Odczyt z DR kasuje RXNE. ORE jest kasowane przez (cytat z opisu bitu ORE): "an read to the USART_SR register followed by a read to the USART_DR register".
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
Niezłe... Do odczytu (wprost) wartości jednej rejestru używać funkcji z biblioteki STM32 i jeszcze rozpaczać nad tym że nie działa... Ten temat jest o przykładach NIE korzystających z biblioteki, nie wiem więc skąd pomysł na uzyskanie w nim pomocy z tym dziwacznym tworem... 4\/3!!
Do slave wysyłam same zera I to jest oczywiście źle. Adres rejestru ma 6 bitów a pierwsze 2 bity transmitowane to R/W i MB. O nich zapomniałeś. Przy jednym bajcie - R musi być ustawiony MB wyzetowany. Tak więc musisz wysłać 0x80 a nie zero. DS-y trzeba czytać całe a nie tylko jedną tabelkę.
STM32 nawet nie mam pojęcia jak i czym go zaprogramować
Witam. A może zatrzymać na chwilkę TIM3 tylko na czas odczytu by później znowu go odpalić ?
Czyli chodzi tutaj o to, że bez ustawienia opóźnienia może błędnie działać dalej opóźnienie FLASH i FLASH będzie źle programowany? To moja prywatna hipoteza, ale obstawiam, że jeśli nie ustawisz opóźnienia, to dane odczytywane z flash są błędne i program się wysypuje.
Sprawdź czy to co dostajesz w zmiennej pixel jest zgodne z prawdą :) Może masz np przesunięty odczyt o 8bitów.
W CubeMX konfiguruje ETH. Jak w grę wchodzi kod generowany przez CubeMX to nie dziwne, ze nikt nie wie o co chodzi. :D Aktualnie myśle, ze MAC poprawnie komunikuje się z PHY, poniewaz podczas inicjalizacji eth podglądam wartość rejestru BSR (adres 1) która wynosi 30729. Ale to Ci tylko mówi, że MDIO działa, nie że komunikacja miedzy MAC a PHY zachodzi...
Witam ponownie. Niedawno zacząłem zabawę z ta pamięcią (m25p16) firmy ST. Niestety już na początku kłody pod nogi. Wstępnie posiłkowałem się przykładem z Keila do pamięci m25p64, gdyż uznałem, że pamięci z tej samej rodziny programuje się tak samo. Po nieudanych próbach zapisu i odczytu danych (jedyne co działało to odczyt numeru identyfikacyjnego)...
Dobra, poradziłem sobie inaczej. Użyłem timera, ale nie korzystałem z przerwań, tylko ustawiłem częstotliwość inkrementacji timera na 1us i czekałem, aż wartość timera przekroczy zadany czas ;) Na potrzeby 1-wire wystarczyło :)
Witajcie, stworzyłem analizator w oparciu o wzór na DFT. Niby wszystko fajnie, ale problem jest taki, że jak puszczam to w ruch to na każdym "widmie" mam to samo ;/ Sprawdzałem na dwóch prążkach (różne konfiguracje) i ciągle skaczą w taki sam sposób. Kod main.c: [syntax=c]/** ****************************************...
To co tam jest na tej stronce, to może jakieś specyficzne implementacje dla Keila. Generalnie dla zagnieżdżonych sekcji krytycznych polecam przejrzeć kod z distortos. To będzie Twoje "enter": https://github.com/DISTORTEC/distortos/b... a to "exit": https://github.com/DISTORTEC/distortos/b...
To sprecyzuję odpowiedź : Niezasilany uC nie może mieć zwarcia do GND czy VDD na dowolnym I/O. Z opisu wynika, że uległa przebiciu dioda zabezpieczająca wejście przed ESD (na poniższym schemacie w prawym dolnym rogu) lub jeden z tranzystorów. https://obrazki.elektroda.pl/1952618000_... Przypuszczam, że coś zabiło INA99 a następie przebiło...
stm32 odczyt stm32 odczyt karty stm32 flash odczyt
excel makro syntax error pompa wspomagać renault laguna kabel monitor 120hz
pioneer instrukcja obsługi polski pioneer instrukcja obsługi polski
Kontrolki wymiany klocków hamulcowych Mercedes W213 Router przerywa połączenie po podłączeniu LAN - przyczyny i rozwiązania