uC odczytuje napięcie, nie rezystancję. W Twoim przypadku potencjometr jest częścią dzielnika napięcia. Więc jeśli chcesz zastosować inny potencjometr, musisz także zmienić drugi rezystor w dzielniku. Wiec, cytując kolegę parę postów wyżej: "pogoogluj pojecie "dzielnik napiecia" ".
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,...
[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...
Czytałes errate?
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]
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.
Zwróć uwagę na bit FRXTH w SPI2, bity SSI i SSM w SPI1 i odczyt z SPI2 (też 8 bit).
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...
USART1->ISR &= ~USART_ISR_RXNE; To jest po pierwsze zbędne - flaga jest czyszczona automatycznie jeśli coś odczytasz - a po drugie błędne - do czyszczenia flag słłuży rejestr ICR, a nie ISR (który jest tylko do odczytu). Na pinie RX warto albo ustawić wewnętrzne podciąganie, albo zrobić podciąganie zewnętrzne.
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ź...
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...
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...
Sprawdzę w weekend i skonfiguruje tak samo jak w projekcie pod Stm32
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.
Ustawiasz GPIO na "konfigurację" GPIO_CRx_CNF_IN_PULL_U_D_value, tymczasem powinieneś używać GPIO_CRx_MODE_CNF_IN_PULL_U_D_value.
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.
Nie ustawiłeś czasu samplowania. Z tego względu ma on wartość domyślną, wynoszącą 1.5 cyklu, która jest po prostu zbyt niska.
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.
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.
Witam. Próbuję odczytać napięcie przez program Tera Term. Czy muszę coś w Tera Term jeszcze ustawiać, czy po uruchomieniu programu napięcie powinno zostać wyświetlone w Tera Term? http://obrazki.elektroda.pl/6070185700_1...
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...
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?
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!!
Witam, wyjasnilo sie, Trzeba czytac wiecej niz uwaznie datasheet'y. Moja konsternacja wyniknela z "zaleznosci" pamieci od producenta, np. 2432 Atmela ma najstarsze (nie uzywane bity) adresu jako "do not care" czyli nie wazne co tam jest a np Microchip podaje za ma tam byc 0000. Pozdrawiam
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...
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...
Twierdzisz, że pisałeś z notką, a kod jasno pokazuje, że nawet do niej nie zajrzałeś. Kod ogólnie to same błędy, nie ma sensu ich wymieniać nawet. Całość do poprawki. Brak obsługi ACK. Niepoprawna obsługa wysyłania. Nawet jeśli przyjąć ze ilość danych zawsze będzie = 2. Na pewno nie odczytujesz z pod adresu 0x75.
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?
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.
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
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.
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)?
No wydaje się, że to mogło by zadziałać - w STM32F1 nie było takiej opcji (a przynajmniej nie było bitu o takiej nazwie). 4\/3!!
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.
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
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
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 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...
Tak, obecnie jest coś takiego, jak STM32CubeProgrammer jako taki powiedzmy program "produkcyjny", nie zaś środowisko rozwojowe - STM32Ide. Można wykorzystać wewnętrzny bootloader przez wyprowadzenia PA9 i PA10. Do tego potrzeba też konwerter USB<->UART z ustawionymi poziomami napięć +3,3 V. Z kolei jeśli chcesz dołączyć ST-LINK'a, to trzeba to...
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.
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.
Też mam problem z wyświetlaczem zestawu STM32Mini, przekątna 2.8" ten sam interfejs (xpt2046) powtarzalność odczytów praktycznie nie pozwalała na jego wykorzystanie. Program obrabiający te dane niewiele pomoże jeśli rozrzuty odczytu tego samego punktu są tak olbrzymie, no chyba że cały ekran chcemy podzielić tylko na 4 obszary. Mam porównanie z panelem...
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,...
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...
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...
Udało Ci się? Bo ja zaczynam się bawić CDC na STmie.
Sprawdź najpierw pochodzenie tego zera. Najlepiej w terminalu jak Ci pisałem. Moje podejrzenie jest takie, że jak wysyłałeś przez putst() było OK, bo on eliminował zero na końcu Twojego "stringa" char dataBuff wychodząc z funkcji. To zero pojawia się w tablicy niejawnie, ale tam jest. Gdy uruchamiasz DMA nie bierzesz pod uwagę, że tablica ma rozmiar...
Witam, chciałem skonfigurować przetwornik ADC, tak, żeby jego konwersja była wywoływana programowo. Włączyłem zegar i skonfigurowałem pin jako AIN. Chciałem, żeby przetwornik był pierwszy w kolejce w trybie regular sequence. Moja konfiguracja przetwornika: [syntax=c] //ustawienie channel1 ADC1->SMPR2 |= ADC_SMPR2_SMP1; //sample time 239.5 cykla ADC1->SQR1...
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!!
Witam Mam problem z odpaleniem ADC na STM32F205ZG. Potrzebuje uruchomic przetwornik na 1 pomiar i w wygenerowanym przez ten przetwornik przerwaniu EOC odczytac pomiar. Czy ktos bylby w stanie podzielic sie kodem robiactym taka wydawaloby sie banalna rzecz? Moj kod niestety nie dziala. Probowalem zarowno z biblioteka ST (kod ponizej) jak i bez niej....
========================================... Option Bytes Programming functions ========================================... This group includes the following functions: - void FLASH_OB_Unlock(void) - void FLASH_OB_Lock(void) - void FLASH_OB_WRPConfig(uint32_t OB_WRP, FunctionalState...
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);...
Dałem radę już cokolwiek zrobić, jednak nadal mam problem z odbiorem drogą radiową (wysyłania jeszcze nie sprawdziłem). Zaraz opiszę co dokładnie nadal nie działa. W załączniku dodaję cały projekt. Kody (obecne): main.c [syntax=c]/** ****************************************... * File Name : main.c * Description : Main...
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 ?
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
BSRR i BRR zmieniają stan dowolnie wybranych bitów w wyniku samego zapisu jedynki, bez operacji logicznych. Odczyt z tych rejestrów zwraca wartość nieokreśloną, więc wynik operacji logicznej też jest nieokreślony. Z tymi dwiema linijkami ciut przesadziłem. To, co robi ta funkcja da się zapisać w jednej linijce: GPIOB -> BSRR = 0xffff0000 | ((1 <<...
Witam. Na początku muszę zaznaczyć, że jestem raczej początkującym w temacie mikrokontrolerów i ogólnie elektroniki. Kupiłem sobie stm32f0 discovery oraz termometr ds18b20, podłączyłem wszystko jak trzeba - pin 1-wire do pc7, oraz piny zasilania odpowiednio do 3v i GND na płytce. Korzystam z IAR Embedded Workbench EWARM. Termometr działa, bo procedura...
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.
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;...
Było by miło, gdyby w książce opisano komunikację tej płytki z komputerem przez USB za pomocą wbudowanego programatora (o ile to w ogóle możliwe). http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/rtvforum/topic13... Chodzi mi o to, aby płytka mierzyła np. napięcie, a na komputerze w czasie rzeczywistym odczytać wartość...
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...
Witam wszystkich, tak jak w temacie, potrzebuję odczytywać informację z odbiornika RC za pomocą uC STM32. Na chwilę obecną używam wejścia PWM Input do pomiaru poziomu wypełnienia sygnału PWM z odbiornika. Nie jestem doświadczonym modelarzem, jednak z tego co wyczytałem w internecie SBUS to UART tx z odwróconą polaryzacją (dlaczego ?) który niesie informacje...
Freddie: Dostępy bitowe BitBand są atomowe z perspektywy procesora lub DMA, nie mamy jednak podstaw do twierdzenia, że są one atomowe z perspektywy peryferiali. Nie wydaje mi się, by mechanizm BitBand gwarantował, że sprzęt nie zmodyfikuje bitu w rejestrze peryferiala w tym samym czasie, gdy interfejs szyny będzie wykonywał na tym rejestrze operację...
Prawdopodobnie chodzi o to, że każde wyslanie bajtu, jednocześnie ustawia bit RXNE. Ja w funkcji wysylania kodu rozkazu nie czytam DR, więc bit pozostaje ustawiony. W takim razie każde wysłanie bajtu powinno być powiązane z odczytem DR, bez względu czy ma to sens czy nie. No jak dla mnie to każda operacja na SPI to jest jednocześnie zapis i odczyt....
Twardy orzech do zgryzienia
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!!
HEREZJA..... I jak chcesz spać ? przeciez same peryferia tu bedą działać, procesor spi
Witam Mam problem ze zmianą czasu w STM32F0Discovery. Konfiguracja i inicjalizacja modułu jest dobrze wykonana - w debugerze zlicza sekundy, ustawia flagi itd. Problemy zaczynają się gdy chcę załadować do rejestru czasu TR i daty DR aktualny czas. Podczas pracy krokowej wszystko idzie ładnie - flagi się ustawiają, rejestr ładuje i wartości się zmieniają....
Tomasz. Moglibyśmy w sumie na gg, ale to tak dla potomnych i zainteresowanych tematem. Otórz, po to wyświetlacz korzysta z interface FMSC, żeby nie wachlowac ręcznie bitami RD, WR, RS, CS i żeby timing był kontrolowany przez procesor, a nie software. Nawet się nie zastanawiam co ta funkcja robi, bo "z definicji" jest zła :) Może ma tą zaletę, że działa,...
Witam. A może zatrzymać na chwilkę TIM3 tylko na czas odczytu by później znowu go odpalić ?
STM32 nawet nie mam pojęcia jak i czym go zaprogramować
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...
Sprawdź czy to co dostajesz w zmiennej pixel jest zgodne z prawdą :) Może masz np przesunięty odczyt o 8bitów.
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)...
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...
Witam. Realizuję właśnie odczyt temperatury na płytce Nucleo z wykorzystaniem ds18b20. Mam następujący problem. Odczytując LSB i MSB z czujnika pojawia się błąd w postaci tego że MSB ma wyższą wartość niż można by było zakładać. Po odczycie temperatury wyrzuciłem sobie obydwie wartości na konsolę przez UART. W temperaturze pokojowej widać że LSB się...
Teraz już rozumiem. Układ cały czas przełącza się pomiędzy podawaniem prądu na grzałkę, a pomiarem. A czas ten ustalany jest chyba przez R1 i C4. Całkiem proste, bez uC, bez układu do odczytu termopary, a działa. Dzięki za wyjaśnienie.
Dodalem na wypadek przed odczytem 3-krotne odczytanie rejestru DR, by wyzerowane zostaly poprzednie bledy. Dodatkowo przepisalem calosc na bezposredni dostep do rejestrow i... ruszyl. ADC czyta prawidlowo, na biurku z wiszacymi przewodami udalo uzyskac sie efektywna rozdzielczosc 19 bitow:). Dziekuje za wszystkie rady. Chyba czas zaczac rezygnowac z...
http://lmgtfy.com/?q=stm32+i2c+eeprom Pierwszy link: http://forbot.pl/blog/artykuly/programow...
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...
Czyli jednak Bascom jest 10 razy lepszy ;) W Bascomie odczyt dowolnego kanału zajmuje jedną linijkę i nie trzeba kombinować z DaMAmi W STM32 też nie trzeba kombinować z DMA, których AVR i 8051 nie ma. Wszystkie przydatne funkcje znajdziesz w "stm32l0xx_hal_adc_ex.c". Bez problemu bez DMA a nawet przerwań możesz wyzwolić konwersję, czekać na jej koniec...
Myślałem, że procek też gdzieś to przechowuje w końcu jedna z linii interfejsu MII go o tym informuje a tu taka nie miła niespodzianka :(
Dysk po gwarancji, systemowy ;/ Skan w MHDD nie udaje się zrobić... same "?" i "#" na sektorach......... wie ktoś jak zapisać loga z MHDD? zaznaczam, że nie mam dyskietki ;/
Dzięki. Możliwe że bingo. Kanały Timer'a1 są akurat dzielone z interfejsem SPI2. Jeszcze dzisiaj to sprawdzę. [Edit] Miałeś rację. Kanał OC1 Timera1 kolidował z spi2. Skorzystałem z OC4 i fatfs ładnie działa we wszystkich konfiguracjach. dzięki Pozdrawiam
nie ma czegos takiego jak dummy read przy odczycie rejestru tylko przy odczycie z GRAM chyba.
Jest. Podobnie jak USART2->BRR = (SystemCoreClock /115200); jest ustawieniem szybkości na 115200 w chwili rozpoczęcia transmisji impulsu RESET.
STM32F10xxx I2C optimized examples AN2824
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".
stm32 odczyt stm32 odczyt karty stm32 odczyt programu
murzynek częstotliwość przyczyna braku nawiewu mikrofon bezprzewodowy rduch
robot koszący parkside generator funkcyjny
Jak przełączyć basy w LG bez pilota? Fiat Punto - problem z trzecim światłem stopu