Witam Jeśli chodzi o ustawienia (ze wszystkimi konfiguracjami PLL, AFIO, GPIO itd) to jest to plik system_stm32f2xx.c ze strony stm32. version V1.0.0, 18-April-2011. Jedyna zmiana to PG9 na PG10 + #define DATA_IN_ExtSRAM [syntax=c]//GPIOG->AFR[1] = 0x000000c0; GPIOG->AFR[1] = 0x00000c00; // GPIOG->MODER = 0x00080aaa; GPIOG->MODER = 0x00200aaa; // GPIOG->OSPEEDR...
Kiedyś też korzystałem z tych libów i w zasadzie tylko jedna z opcji (polling, irq-s, dma) mi działała całkowicie - chyba irq-s. Czemu tak się działo nie wiem, niektóre pozwalały tylko na odczyt danych a nie na zapis.
Ja bym proponował użycie pinu o nazwie TIMx_CHx_ETR. pin ten w timerze służy jako zewnętrzny clock. Ustawiasz go na jakie zbocze ma reagować i po wykryciu takiego zbocza licznik sam się inkrementuje ; ] W tym momencie jedynym twoim zadaniem to odczytanie liczby zliczonych impulsów a następnie jego wyzerowanie aby od początku zliczał (bo inaczej on se...
Próbowałem już wcześniej tak zrobić, ale wtedy MISO zachowywało się jak by było wyjściem, i utrzymywał się tam stan niski. Chyba powinno działać jak wejście pływające. Mam do linii MISO podłączony rezystor podciągający do plusa, więc powinien się tam pojawić stan niski tylko wtedy gdy wymusi go SLAVE, np. karta SD. A ja tam miałem cały czas stan niski....
Jest różnica w skorzystaniu z dwóch plików startup + zmodyfikowany skrypt linkera, a wykorzystanie całego skonfigurowanego projektu, po prostu jest:). Z tego co widzę wszystko mam poustawiane identycznie jak w twoich projektach. Niestety wciąż podczas modyfikowania programu i wgrywania go debuger odczytuje wartości zmiennych z poprzedniej wersji programu....
ok, rozszerzam mój wątek. Napisałem szybki program, który odbiera dane na komputerze i mi zlicza ramki, ale wyniki są dość podobne do tych odczytanych z oscyloskopu. Dlatego w dalszej części będę się posługiwać przykładem na diodzie. Mam napisaną funkcję, która jest wywoływana w pętli głównej while(1) void tcp_petla(void){ if(send_struct_g->state...
Wrzuć cały projekt i podaj więcej szczegółów (kompilator, skąd są pozostałe pliki "bazowe", ...). 4\/3!!
Witam. Od kilku dni próbuję uruchomić moduł ethernetowy ZL3ETH i niestety nie udaje mi się. Posiadam zestaw STM32F429I-DISCO. Korzystam z najnowszych bibliotek od ST (wiem że zaraz będą komentarze aby z nich nie korzystać). Są tam niby gotowe funkcje do inicjacji tego modułu, ale niestety mój moduł nie odpowiada. Nie mogę odczytać żadnego rejestru z...
Muszę Ci powiedzieć, że ustawiałem bit STKALIGN w rejestrze CCR a także go resetowałem i wiele to dało... Podsumowywując: - kopiowanie (zapisywanie) z użyciem rozkazów STR i pochodne - nie działa - kopiowanie (zapisywanie) z użyciem rozkazów STREX - nie działa - kopiowanie (zapisywanie) przez DMA - nie działa - kopiowanie (zapisywanie) przez aliasy...
Ja jakbym oczekiwał od kogoś pomocy to bym mu nawet podał długopis. A tobie sie nie chciało wkleić linków do kości tylko tak sobie je rzuciłeś a mnie sie ma chcieć - wybacz. No już o schemacie nie wspomne bo po co. Kiedyś bawiłem się podobnymi przetwornikam były sterowane przez DSP YSS928 z tym że te moje miały CS oczywiście służył tylko do komunikacji...
Ja mam na stm32f205 Edit: Kod nie jest twoj ale w kodzie masz inicjalizacje interfejsu ulpi i gdzies w inicjalizacji usb masz kod gadajacy z phy ulpi. W tym przykladzie co podalem powyzej funcja odczytu i zapisu to USB_OTG_READ_REG32 i USB_OTG_WRITE_REG32, wiec moze po tych funkcjach znadz miejsce w ktorym jest komunikacja uc --> phy ulpi
flash probe : Info : device id = 0x20006411 Info : flash size = 1024kBytes Info : device id = 0x20006411 Info : flash size = 1024kBytes flash 'stm32f2x' found at 0x08000000 odczyt rejestrów CPU : > reg ===== arm v7m registers (0) r0 (/32): 0x00000000 (1) r1 (/32): 0x00000000 (2) r2 (/32):...
Mam problem ze zdjęciem blokady odczytu pamięci FLASH z procesora STM32F439 zasilanego z przetwornicy. Przy czym nie wiem czy to ma znaczenie. Wcześniej w żadnym projekcie na STMie nie zasilałem procesora z przetwornicy (przynajmniej nie bezpośrednio, jak była przetwornica to na 5V a potem post regulator liniowy na 3.3V), jak i nie używałem blokady...
Witajcie panowie, na zagranicznym forum znalazłem faceta, co sprzedaje VCI jedno płytowe przerobione za 150 euro, nazywa się „hanstanz”. Czy ktoś się spotkał z czymś takim? Jak tylko będę przy laptopie, wstawię zdjęcia w lepszej rozdzielczości, a sam tak opisuje swojej głowicę: Wszystkie nasze płytki zawierają następujące komponenty: 1. Moduł Bluetooth...
Program uruchomiony jest na procesorze STM32F207 i w dokumentacji jest dla ADC1 przydzielone DMA2 channel0 stream0 lub stream4. w programie wybrany jest DMA2 channel0 stream0.
RCC_AHB1PeriphClockCmd(GPIOA, ENABLE);//wlacz taktowanie portu GPIO A RCC_AHB1PeriphClockCmd(GPIOB, ENABLE);//wlacz taktowanie portu GPIO B RCC_AHB1PeriphClockCmd(GPIOC, ENABLE);//wlacz taktowanie portu GPIO C RCC_APB2PeriphClockCmd(SPI1, ENABLE); //wlacz taktowanie ukladu SPI Jestem prawie pewny, że to jest zupełnie błędne i powoduje warning podczas...
http://obrazki.elektroda.pl/4734275500_1... Wiem, że temat światełek na choinkę był wielokrotnie wałkowany na różnych forach. Ja chciałbym zaprezentować mój pomysł na światełka choinkowe. Oczywiście światełka te można wykorzystać na inne sposoby. Generalnie całość składa się z: sterownika światełek, światełek, programu pod Androida....
Witam. Cieszy mnie, że zadziałał ten sposób również u Ciebie. Podejrzewam, że ten STM32F205 jest zabezpieczony, ale również mnie kusi podjąć próbę czy się da odczytać. Jeżeli chodzi o software to niestety brak. Ale ludzie piszą żeby pisać do serwisu w Katowicach może Tobie podeślą. Mi się nie udało z nimi dogadać. info(at)jblserwis.pl Ja jedynie znalazłem...
Czyli w stanie rozwartym masz na wejściu 0, a w stanie zwartym dla odmiany też 0.
To nie jest to samo Jeżeli released ma wartosc 00000100 i zrobię sprawdzanie czy drugi bit jest ustawiony, to dostanę fałsz, bo będzie z AND wynik (00000100 & 00000010 = 00000000) == 00000010 A gdy będę sprawdzał ustawienie 3 bitu to dostanę prawdę, bo (00000100 & 00000100 = 00000100) == 00000100 No tak, świat jest piękny, a priorytety operatorów są...
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...
:) Znaczy pomogłem?
0. Konfiguracja FMC wymaga poprawy. Wszystkie czasy masz ustawione domyślnie, więc interfejs niepotrzebnie czeka z wykonaniem każdej operacji. Popatrz na parametry MEMxSET, MEMxWAIT, MEMxHOLD i porównaj z tym co może pamięć. Przykład: MEMxSET jest ustawiony na 0xFC, czyli jakieś 252 x 4,63ns = 1,16us. Pamięć potrzebuje około 20ns -12ns = 8ns. Dostosuj...
Nie musisz być członkiem organizacji JEDEC. Wystarczy że zarejestrujesz się tam a jak utworzą ci konto to możesz pobrać pdf, np.: JESD84-B51.pdf gdzie znajdziesz wszystkie potrzebne ci informacje.
Data packing When the data frame size fits into one byte (less than or equal to 8 bits), data packing is used automatically when any read or write 16-bit access is performed on the SPIx_DR register. The double data frame pattern is handled in parallel in this case. At first, the SPI operates using the pattern stored in the LSB of the accessed word,...
Do warunków while dodaj zmienna zerowana w przerwaniu gdy minie czas.[syntax=c].. funkcja(..) { zmiennanodczasu = jakis_czas; ... while(zmiennaodczasu && (twój warunek)) {..} ... if (zmiennaodczasu == 0) { //obsluga błedu ;} }[/syntax]
Lepiej by było jak by masa była z jednej strony możliwie ciągła. Czyli lepiej dać lepszą masę z jednej strony kosztem masy z drugiej strony. Niż dawać posiekane masy z obu stron. Kondensatory to tak jak tutaj na stronie 14: http://www.ti.com/lit/an/scaa082/scaa082... A poza tym to jeszcze to poczytaj: http://www.x2y.com/filters/TechDay09kr_h...
Witam odbieram jeden Bulk adress 0x02 wysyłam 3 edpointy adresy 0x83, 0x82, bulk i jeden przerwaniowy 0x81. Używam biloteki ST... zauwżyłem ze problem sie pojawia jak wysyłam dane np wysłam edpoint 0x83; pojawia się przerwanie; gintr_status.b.inepint (OTG_FS_GINTSTS) usb_dcd_int.c od edpointa IN czyli OK, ale to przerwanie zostanie skasowanie dopiero...
Jeden sektor pamięci ma 16 KiB. Jeśli kod przekroczył 32 KiB, to nie możesz używać adresów poniżej 0xC000, bo przy zapisie kasowałbyś zakres 0x8000..0xBFFF, czyli kawałek swojego kodu.
A czy nie lepiej ustawiać zabezpieczenia z poziomu aplikacji "ST-Link Utility"? Po definitywnym zakończeniu programowania uruchomić aplikację i zabezpieczyć procesor?
Jednak dane nadawane przez EEPROM się spóźniają powinny być zatrzaskiwane na zboczu narastającym a one na narastającym się dopiero zmieniają jakby miały być zatrzaskiwane na opadającym choć wyraźnie w manualu jest napisane że pracuje przy narastającym. Coś źle doczytałeś The READ instruction outputs the serial data of the addressed memory location...
Jeżeli użyłeś blokujacej i dostałeś zera to widać ten czujnik tak ma i pewnie pierwszy odczyt jest zły. Sprawdź debugerem co dostajesz i zrób więcej niż jeden o Tak przy okazji sam task z delayem to mało RTOSowe. Trzeba te taski zsynchronizowac.
(at)qaz88 Probuje najprostsza komende CMD19 metoda pulling po ktorej wg. noty powinienem dostac 64 slowa a zamiast tego mam CMD timeout error. Co robie nie tak? To nie jest najprostsza metoda odczytu bloku. CMD19 is defined for Send Tuning Block Command. R1 type response is defined. CMD19 can be executed in transfer state of 1.8V signaling mode while...
Czy można skopiować jakiś program bezpośrednio z jednego urządzenia na drugie (STM32F4 Discovery)? Trochę mało konkretne to pytanie. Jeśli przypadkiem Ci chodzi o skopiowanie programu z jednego Discovery do drugiego (tego samego typu), to nie ma problemu (jeśli akurat nie jest ustawiona opcja blokady odczytu). Programem ST-LINK odczytuje się i zrzuca...
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...
Posiadam STM32F4Discovery z STM32F4VGT6, oraz kilka sampli tego procka. Na ich obudowie widze literką A (to chyba info o Revison). W debugerze odczytuje REV_ID z rejestru DBGMCU_IDCODE i dostaję wartość 0x2000, DEV_ID = 0x411 niestety w RM napisano, że 0x1000 = Revision A (nie napisano jaką wartość reprezentuje Revision Z). W erracie napisano że: ●...
Rozumiem, że bitbanding wykorzystuje się do odczytu flag ustawiana wyjść niż konfiguracji peryferii, które w większości przypadków lepiej ustawiać tradycyjnie? Exactly. No chyba że właśnie musisz w jakimś celu zmienić JEDEN bit (np. najpierw konfigurujesz całe "coś", a potem włączasz to "coś" jednymi bitem), to wtedy również. 4\/3!!
Witam Niestety do tych funkcji w których mialem wstawić breakpoint nie dochodzi, bo wywala się już przy LCD_Init(). A dokładniej przy odczycie rejestru przez FSMC wyzwalany jest HardFault_Handler. A ten adres jest dobry.. [syntax=c]#define LCD_BASE ((uint32_t)(0x60000000 | 0x08000000))[/syntax] jeśli FSMC_Bank1_NORSRAM1 =0 to ja używam 0x60000000 Pozdrawiam
Do SPI wpisujesz dwa bajty, odczytujesz tylko jeden. Kontrolerowi się to nie spodoba... [syntax=C] while( !( SPI2->SR & SPI_SR_TXE )); SPI2->DR = 0xD7; // // TUTAJ dodać "niby" odczyt SPI - choćby tak: // czekaj_na_dane(); // np poprzez sprawdzanie SPI_SR_RXNE // (void)SPI2->DR; // while( !( SPI2->SR & SPI_SR_TXE )); SPI2->DR = 0xFF; while( !( SPI2->SR...
Kod bez STM znajdziesz w jednym z tegorocznych numerów EP. Twój kod ma cały szereg usterek, m.in.: - używanie rejestrów ODR zamiast BSRR i BRR, - niezachowany czas ustawienia danych przed opadającym zboczem E, - zbędne sprawdzanie BUSY po wysłaniu danych, brak odczekania czasu pomiędzy wykryciem niskiego stanu BUSY i rzeczywistą gotowością (z tego powodu...
Możesz też kupić np. którąś z płytek STM32 Discovery, wszystkie mają zintegrowany programator-debugger, niektóre z nich mają USB-OTG. Na przykład STM32F4 Discovery ma USB OTG i akcelerometr, fabryczny program demo udaje mysz komputerową przekładając odczyty z akcelerometru na ruch kursora. Niestety przykład napisany z użyciem badziewiastych bibliotek...
Hehe. Wiem że to dziwne ale robiłem to na szybko. Cały czas eksperymentuje a mam mało czasu wiec mam nie mały bajzel. To ja jeszcze zwrócę uwagę na to, bo w Twoich kodach z innych tematów aż się rzuca w oczy: [syntax=c]USART1->CR1 = USART_CR1_UE; USART1->BRR = 168000000/9600 ; USART1->CR1 |= USART_CR1_TE | USART_CR1_RE; // RX, TX enable[/syntax] Po...
Dzięki za odpowiedz, ale nie w tym problem. Po prostu napisałem już program który nie za dobrze działa, więc chciałem porównać swoje rozwiązanie. Podam więc część kodu. Zegar dla peryferii na 100% do wszystkiego jest włączony. Problem jest w tym, że odbieram ciągle 0x8Z , gdzie Z się zmienia w irracjonalny sposób do tego co jest w datasheet LM2512(układ...
STMicroelectronics to jeden z najpopularniejszych producentów mikrokontrolerów w Polsce. Swoją renomę zawdzięcza nie tylko udanym konstrukcjom, ale i wdrażaniu najnowszych technologii oraz bogatej ofercie. W niniejszym artykule prezentujemy niektóre z ostatnio wprowadzonych układów ST oraz wybrane ciekawe modele, które od jakiegoś czasu cieszą się dużą...
Aby nie zakładać specjalnie nowego tematu to spytam się jeszcze tutaj. Czy powyższa metoda może zostać wykorzystana do odmierzania czasu rzędu 1 mikrosekundy. W teorii tak, ale nie jest to chyba najlepszy pomysł... Wejście i wyjście z przerwania to - z tego co pamiętam - 18 cykli. Do tego sama obsługa przerwania to też kilka instrukcji, powiedzmy więc...
Jak już rzutujesz rejestr DR, to proponuję rzutować na właściwy typ. A właściwym typem jest _VOLATILE_ uint8_t*. W przeciwnym wypadku kompilator może sobie w sumie zrobić co chce, np. zauważyć że skoro przed chwilą wpisałeś tam zero, to po co odczytywać coś z tego adresu skoro pewnie jest tam zero? Tak czy siak jedna i druga funkcja jest słaba, ponieważ...
Witam. Mam STM32F030 i próbuję zabezpieczyć programowo procesor przed odczytem (Level1) - funkcją uruchamianą przy starcie programu. Proszę zwracać uwagę na pisownię. Proszę używać znaczników syntax dla kodu. Poprawiłem post.
Witam mam za zadanie napisać program odczytujący dane z 4 wejść 12-bitowego przetwornika ADC MCP3208 . Przetwornik komunikuje się po SPI. Dane potrzebuję odczytywać z częstotliwością ok. 100-200Hz. Najpierw do układu trzeba coś wysłać, dopiero potem odbieramy nasze wartości. I teraz mam pytanie, czy do tego celu nadaje się DMA? Pytam bo dopiero pierwszy...
Twoja funkcja od I2C to jest wariacja na temat mojej, która po pierwsze postała dla STM32F1, więc nie wiem czy dla STM32F4 nie są konieczne jakieś zmiany, a po drugie korzystała z bit-bandingu, stąd te dziwne odczyty rejestrów statusowych (bo nie byłem pewny czy odczyt przez bit-band liczy się jako odczyt rejestru) - z tego względu u Ciebie powtórzone...
Chciałbym zmierzyć napięcie na końcówce VBAT w STM32F427. VBAT jest podłączone wewnętrznie do kanału 18 ADC1. Napięcie VBAT jest za pomocą wewnętrznego dzielnika napięcia dzielone przez 4. Na potrzeby testów zamiast baterii podłączyłem potencjometr: skrajne końcówki do zasilania, ślizgacz do VBAT. Ogólnie ADC działa, odczytywana wartość zmienia się...
zdalny odczyt odczyt 95040 odczyt ciepłomierz
szczecin maszt serwisowy zmywarka introx kamera
strong srt420 glosnik bluetooth
Różnice między filtrami radiowymi 3D-10A i 3-10A2 Arduino UNO i PMS7003: Konflikt na liniach RX/TX