Mówicie, że STM32 są bardziej warte uwagi? Ogólnie ARMy są bardziej warte uwagi. Ale to wszystko zależy co chcesz robić, jakie masz oczekiwania itd.
Witam serdecznie Czy są jakieś zasadnicze różnice pomiędzy stacjami T12: 1. T12-X Plus 2. Ksger V3.1 Piszą, że Ksger działa na MM32, a nie na STM32. Mówimy o stacjach z Chin. Napiszcie mi, jak wygląda w Ksger sprawa z wersją. Lepsze są 3.1 czy stare, nie pamiętam, 2.4 czy coś w tym stylu. Jeśli chodzi o T12-X Plus, widzę, że obecnie chodzi taniej od...
No ale teraz kilka wątpliwości - biorąc pod uwagę fakt, że STM32 którego używam do tego zadania nie ma żadnego komparatora, Ale przetwornik ADC w STM32 ma funkcje Analog Wachdog(przynajmniej tak mówi Reference Manual jaki mam na dysku), czyli coś na kształt komparatora(dyskryminatora) okienkowego. Można to wykorzystać.
O dziwo jest jak mówisz.
O jakiej symulacji mówisz?
A próbowałeś bez konfiguracji pinu CS tak jak mówiłem?
To akurat zauważyłem z wyświetlaczem SPI, Mega 328 i STM32f103. Różnice minimalne, ale to wina bibliotek jak (at)BlueDraco mówi.
Na pewno więcej niż ESP32-S3. Stawiam, że nie więcej niż 7$ za sztukę :) Ile by nie kosztował, to i tak pewnie mniej niż porównywalny STM32 ;) (jakieś F7?) nie mówiąc już o lepszej dostępności...
w mainie wywołuję funkcję init_USART1 z argumentem 9600. Chyba że o czymś innym mówimy?
Dobra czyli krótko mówiąc STM32 (z rodziny Cortex) :) To już teraz wiem co szukać i kupować :) Dzięki wszystkim, a w szczególności gaskoinowi :)
Ponieważ np. I2C komunikuje się z urządzeniem zewnętrznym przez piny GPIO ustawionymi jako alternatywna funkcja pinu AFIO i dlatego trzeba te bloki włączyć ..najoględniej mówiąc.
Ja mam Seggera i Keila. Kiedyś używałem programatora od Freddiego i CrossWorksa. Szczerze mówiąc, lepiej mi się pracowało na CW, chociaż Segger programuje procesor dużo dużo szybciej ;)
O widzisz, o tym właśnie mówię. Czyli stosujesz :)
Możecie podać nazwę tego chińskiego cuda? Nie spotkałem. HK32F030M. (at)piotr_go chyba zakładał kiedyś o tym temat. Artykuł "porównawczy" nie do końca obiektywny ... Nie ma się co kłócić. Sam jestem fanboyem STM32, ale szczerze mówiąc jednak prościej wystartować z AVR
Co to ma do stylu pisania, bo chyba nie mówimy o tym samym...
Jeśli mam być szczery to nie podoba mi się cały ciąg tego. Może i funkcja sama jest git, ale tryby raz, że nie kompletne bo brakuje GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, Albo ja o czymś nie wiem, albo ty mówisz o innych STM32... Bo opcja o pullup/down jest, ale samo skonfigurowanie czy down czy up nie jest już kwestią tej funkcji, tylko ustawienia...
To się nie nadaje, ja mam sterowanie mikrokrokowe. Moim takim L297 jest tutaj STM32. Chcę podłączyć STM32 do L298. Jeżeli mówisz, że niezgodność poziomów logicznych, to czy mógłbyś zaproponować jakiś układ scalony bufor/translator? Bo ja się pogubiłem trochę.
Czasem tego typu LCD wariują przy 3,3V, ale za to STM32 mają większość pinów 5V-tollerant, więc możesz spróbować podnieść napięcie zasilania LCD. I jak mówi przedmówca - pokaż Swój program.
Specjalistą od SPL i stm32 nie jestem... ale C to C ->jeśli chcesz wypełniać pola struktury to musisz mieć obiekt tego typu :) Kompilator dobrze Ci mówi - nigdzie nie masz definicji "NVIC_InitStruct". Łoj. BlueDraco mnie ubiegł jak zagłębiałem się w Twój załącznik :cry:
Krótko mówiąc - masz wybrany dobry proc? ;) Ja nie używam CCS tylko Eclipse+GCC [przerobiłem pod LM4 migacz Freddiego na STM32] i muszę ustawiać to ręcznie, nie wiem jak jest tu. Zresztą pod CCS dla MSP430 też trzeba odpowiedni model wybrać, także nie do końca łapię w czym problem... Pzdr.
Jakbyś nie zauważyłem to HAL to jest warstwa abstrakcji. To bardzo cienka ta warstwa, w każdym znaczeniu [; (zakładam, że mówimy o HALu do STM32)
Dzięki Mam nadzieję że nie zrażę sie po kolejnych zacięciach. Przy okazji mam jeszcze jedno pytanie bo w różnych źródłach różnie piszą. Jakie instrukcje obsługują uC LPC1114 z rdzeniem Cortex-M0 Thumb, Thumb-2 czy jeszcze inne łączenie? A jakie uC STM32. Dokumentacja uC mówi jedno a opis rdzeni na stronie ARM mówi drugie. I przy okazji wszystkiego najlepszego...
http://obrazki.elektroda.pl/6380606400_1... RM mówi, że można więc czemu takie wielkie oczy? ;p A reszta z 1700 stron ponad mówi co?
Gdy ją od komentuję, podczas debugowania wszystko się sypie. W Zakładając że mówimy o projekcie stm32_blink_led, czyli tym dla F103. Jeśli w config.h ustawisz FREQUENCY na 24MHz max, w funkcji pll_start() wywalisz wywołanie funkcji flash_latency() (w F100 niby nie da się tego przestawiać), to powinno zadziałać, choć niekoniecznie optymalnie (w funkcji...
Zwróć uwagę, że tam komuś działa, ale nie we wtyczce GDB Hardware Debugging, tylko w Zylin. 4\/3!! No kurcza ale to jest z tego linka co Podałeś i pisze że konfiguruje OpenOCD. No ale racja screen mówi co innego to ja już nie wiem ;)
Hmmm.. tu w tych szablonach widzę jedynie dla stm32 f1 i f4, podczas gdy ja potrzebuję f3. Prawdę mówiąc chciałem uniknąć przerabiania wzorców na inne procesory, dlatego szukałem czegoś działającego odrazu
Generalnie już sobie z tym poradziłem. Chyba przesiądę się na STM32 - one mają po conajmniej 5-7 timerów, nie mówiąc już o innych funkcjach, które w AVR-ach są rzadkością :D
jest jakaś prosta metoda na timeout ? Nie wiem jaki masz STM, ale niektóre mają sprzętowy timeout. Wystarczy w rejestrze RTOR podać po ilu nieodebranych znakach ma zostać wygenerowane przerwanie. Ewentualnie musisz się posiłkować jakimś timerem - np. w trybie OPM. Szczerze mówiąc chyba lepiej Ci będzie napisać tę cześć kodu bezpośrednio na rejestrach...
Ten opis tez nic nie mówi. Dalej brak kodu i debugu.
Albert: dość mocno mijasz się z prawdą. Niektóre uC z rdzeniami Cortex mają sprzętowy mechanizm gwarantujący czas odpowiedzi na przerwanie, który umożliwia redukcję drżenia (jitter) przerwania o najwyższym priotrytecie do zera również wtedy, kiedy mamy w systemie inne przerwania. Jeśli użyjesz tego mechanizmu, to sam decydujesz jawnie o czasie od przerwaia...
No i tak i nie, kiedy wpisywałem np. RCC_APB1ENR_PWREN to nie było, a było RCC_APB1Periph_PWREN. Ale być może mam nie te pliki .h dołączone. No chyba, bo w tym pliku o którym ja mówię jest np. #define RCC_APB1ENR_PWREN ((uint32_t)0x10000000) /*!< Power interface clock enable */ stm32f10x.h Co do reszty, to w ostateczności można popatrzeć jak to...
Nie miał powstać gotowy produkt tylko materiał teoretyczny opisujący sposób pomiaru i wyniki prób. Ten wątek więc powinien znaleźć się raczej w "DIY w budowie". Nie jest to żaden zarzut, ale moja opinia na podstawie, tego co już napisałeś. Wtedy trochę inaczej ocenia się taki projekt. Może nawet udałoby się uniknąć rozważania kwestii: "Jaki MCU jest...
Zauważ, że pytanie było niezależne z problemami obsługi portów PA11 i PA12 którymi z jakiegoś powodu nie mogę sterować. Natomiast I2C jest na PB10 i PB11. Stąd zapewne myślałeś, że mówię o tych samych pinach :)
Jakiego końca? Warunek mówi jasno, gdy został jeszcze jeden bajt do odebrania
O nieeeee, znowu FWlib!!! ... Ja wiem że ten post nic nie wnosi, no z szczerego serca chciałbym pomóc, bo potrafię, ale mózg mówi mi "głupocie stanowcze NIE"....
Mówisz o funkcji Tim2Handler(), a pokazałeś TIM_ClearFlag()... 4\/3!!
To nie zadziała w ten sposób... W swoim main() używasz bezpośrednio funkcji z biblioteki FatFs - np. f_open() (zwróć uwagę na podkreślenie). Potem - wewnątrz funkcji VS1003PlayFile() używasz standardowej funkcji fread() (zwróć uwagę na BRAK podkreślenia), a do tego jeszcze zamiast standardowego FILE do funkcji przekazujesz FIL z FatFs... Proponowałbym...
W jaki sposób mogę rozpoznać że transmisja po I2C się zakończyła? Tylko nasłuchując BUSY? Jeśli rozpocznę odczyt zaraz po zapisie to się wysypuje. Muszę chwilę odczekać. Nie widzę żadnej flagi która mówi że STOP został odebrany.
(at)gmp Wybierz wstępnie układ, który zrealizuje zadanie, a następnie zobacz erratę i oceń, czy to co tam jest nie zabija Twojego projektu. W przypadku STM32, errata zazwyczaj(!) nie zawiera nic groźnego. W przypadku SAM, errata to zazwyczaj długi zbiór niedziałających peryferiów lub funkcji. W przypadku PIC, errata to zazwyczaj drugi, właściwy datasheet,...
no dobra, ale dlaczego nie chce działać zwykły warunek: if((GPIO_ReadInputDataBit(SW... SW1) && GPIO_ReadInputDataBit(SW_Port, SW3))==0) { ... } W załączniku załączam kod, ale nie przestraszcie się bałaganu, ponieważ jestem trochę przez tą głupotę w lekkim akcie desperacji - siedzę z lapkiem po ciemku na...
Spróbuj alternate output push-pull - mówię całkiem serio. U mnie działa "po ludzku" - tak jak masz, ale niektórzy na forum tu pisali, że działa im tylko jak WEJŚCIE jest na alternate output ustawione... 4\/3!!
Dla jasności: mówimy o debugu po SWD czy o samym programowaniu?
Uruchomi, ale jak mówisz będzie musiał dołożyć trochę pamięci (tak z 500kB)
Tak, właśnie dla samego edytora. Kompilator Keila daje lepiej skopilowany kod. Jak się używa małych procków to jaki jest problem? mickpr Co masz na myśli mówiąc o Linkerach i skryptach oraz "dziergniu"?
A czytałeś errata sheet do swojego procesora? Jaki to dokładnie model? Np. errata sheet do STM32F103 ma ponad 40 stron i to są głównie takie właśnie bugi (mówię tu o błędach w samym procesorze).
Gość tylko mówił, że sieci 2g maja zostać wyłączone. Tak, pewnie i parę milionów ludzi ze starymi komórkami pójdzie ... do kosza? Gość w innym swoim filmie z lipca tego roku promuje SIM800. Słuchaj ze zrozumieniem to co gość mówi :)
Standard C nic nie mówi o kolejności zmiennynch w pamięci. Przyzwoity kompilator i linker będzie rozmieszczał dane w kolejności malejącego rozmiaru, a nieupywane będzei eliminował całkowicie. Chcesz mień znany rozkład danych - użyj struktury - kompilator nie ma prawa jej zoptymalizować, ale będzei stosował wyrównanie naturalne, czyli np. int32_t będzie...
W skrypcie linkera nie można tego ustawić? Albo zerknij do źródeł NVIC_SetVector i tam dodaj offset. No właśnie. Chodzi mi o to, ile jeszcze podobnych "niespodzianek" można się spodziewać po standardowych bibliotekach STM, przy relokacji kodu. Oczywiście wyjdzie to i tak "w praniu", ale tak sobie pomyślałem że może już to przerabiałeś, więc po co wyważać...
Szczerze mówiąc dużo bardziej pasuje przykład dla STM32, ale to nie jest duża różnica. Skoro program Ci nie startuje po zaniku zasilania, to na 99% masz problem ze sprzętem, a nie z programem. 4\/3!!
W tym zestawie nie masz programatora. Poza tym książka zapewne nie poruszy nawet podstawowych zagadnień, ale od razu będzie mówiła o USB. Ogólnie: Książki po polsku - odpuść sobie. Zestawy - Albo STM32F4Discovery + moduły (Discovery: 56zł, Base Board 116zł, LCD 163zł, Camera: 96zł) i mamy debugowanie i bardzo fajny zestaw. Albo budżetowo: HY-Mini STM32,...
Kompilator mówi co jest nie tak. Dałeś bez sensu definicje -D-Dcośtam
A co mówi debugger? W którym miejscu program grzęźnie? Przecież to się da łatwiutko sprawdzić.
Jeśli wywnioskowałeś, że w tym temacie mówimy o STM32F4 to chyba również musisz nas oświecić jak... 4\/3!!
Usuwając "AFIO, ENABLE" nadal jestem w stanie wysłać dane z płytki Masz rację, AFIO tylko w przypadku, gdy przekierowujesz USART1 na inny port. Mówisz, że nadawanie działa to z pewnością prędkość masz dobrze ustawioną. Może zapal jakiś LED po odebraniu '1'. Skoro pracujesz na bibliotece to przykłady znajdziesz na stronie wydawnictwa BTC jako załącznik...
Szczerze mówiąc na oscyloskopie nie zauważyłem przerwania generacji, ale może mój oscyloskop jest za wolny.
No właśnie, przecież pole masy samo z siebie stwarza pojemność większą niż ciało człowieka (palec). I to znacznie pogarsza parametry takiego układu (o czym już wcześniej mówiono).
Witam tronics , nie chcę się przekopywać przez wszystkie wiadomości, ale staram się mówić prawdę :) , nie ja pierwszy wspomniałem o STM i to w głównym temacie, nawet nie zauważyłem że był przeniesiony, dopiero zwróciłem na to uwagę, to była pierwsza prawda. Tyż prawda że STM32 ma bootloader, nie mówiłem że nie ma, ale nie ma go na USB a nie zawsze ma...
https://obrazki.elektroda.pl/4469230500_... Kilka lat temu media donosiły o układzie GigaDevice GD32. Jest to mikrokontroler oparty o konstrukcję STM32 z rdzeniem ARM Cortex-M3. Do układu wprowadzono szereg usprawnień, między innymi zmodyfikowano pamięci Flash i zwiększono wydajność, więc nie można było mówić o klonie układu, aczkolwiek...
Jak wrócę z pracy (drugie zmiany) to sprawdzę. Z góry mówię że teraz to jest dla mnie jasne i przejrzyste 🙂🙂 i już teraz dziękuję za ten poradnik.
A teraz pytanie - wiesz co to buforowanie strumieni? Jeśli nie wiesz, to proponuję wywołać PO Twoim fprintf() do wyświetlacza funkcje fflush(). I teraz pytanie - czy gdzieś jest kompletna lista funkcji które nie są zaimplementowane w Bare Metal ? Wszystkie są zaimplementowane. Uwierz mi że to wszystko działa tak jak trzeba - używam osobiście do obsługi...
0, przerwanie; 0, przerwanie .... ? Niestety nie.. Z jednej strony dokumentacja mówi, że timer idzie po wszystkich wartościach od 0 do ARR, z drugiej strony mówi, że timer jest zablokowany gdy ARR==0. Moja rada: zamienić PSC i ARR: PSC=0, ARR=23999. Timer będzie szedł z pełną prędkością zegara, a przerwanie i tak będzie co 1ms.
Przy okazji czyżby OpenOCD był programem adresowanym tylko do amatorów hobbystów? A kto tak mówi? Dałem tylko alternatywę na czas kiedy nie będzie dostępny właściwy openOCD
"1" to tak naprawdę dwuelementowa tablica {49 0}. Typ "1" to const char*. '1' to tak jak mówisz 49 i typ to char więc jest z deczka różnica.
Dziękuję za wyczerpujące wyjaśnienie. Rozwiązało mi to problem w paru rzeczach, z którymi się borykałem. Co do wpisywania struktury w pamięć wreszcie udało mi się to zrobić tak jak opisuje ten temat. Funkcja load co prawda przypisuje tej zmiennej zadeklarowany adres, ale już nie wpisuje tam wartości przypisanych w definicji zmiennej. Wpisanie do flasha...
Czyli mówicie, że najrozsądniej zastosować LDO ? OK. Choć z diodą wydaje się to najprostsze i niezużywające energii :)
Witam! Jeśli korzystasz z dołączonych bibliotek do obsługi tego wyświetlacza to muszę Cię zmartwić- są one napisane delikatnie mówiąc mało efektywnie. Mam tu na myśli bibliotekę GLCD dołączaną do zestawów które na pokładzie maja ten wyświetlacz... Pisząc tą bibliotekę samodzielnie można przyśpieszyć działanie niektórych funkcji około 10-cio krotnie.
(at)kamil3211 To o czym piszesz ma się nijak do tematu artykułu. Nawiasem mówiąc bardzo rzeczowy i super. Jeżeli zaś chodzi Ci o graficzne interfejsy użytkownika GUI to istnieją na przykład TouchGFX czy na STM32 GUI library i pewnie jeszcze kilka innych.
Z tego co mi się wydaje przed odczytaniem wartości z licznika należałoby sprawdzić flagi które mówią o tym czy w liczniku cokolwiek sensownego się znajduje... 4\/3!!
Aha :D . Szczerze mówiąc myślałem, że ta funkcja "robi" coś innego. Napisałem gdzieś, że jest błąd w kompilatorze? W STM32 jestem dość początkujący.
Mówimy o tym: http://pl.farnell.com/stmicroelectronics...
Czytasz warningi, czy uważasz je za zbędne zawracanie gitary? Widać przecież jak na dłoni, że to drugie. Tylko to że ta funkcja transmit wysyła nie to co podajemy. Ta funkcja wysyła dokładnie to co jej podałeś. Tyle że nie jest to 200. Kompilator Ci o tym mówił - takimi wiadomościami z żółtym tłem.
Ok, ale skoro plik który staram się załadować do pamięci uC jest większy niż ta pamięć, to nie ma on szans zadziałać, prawda? A to zawęża listę problemów do środowiska, a nie samego programu, dobrze myślę? I cóż tego, że większy? Gdybyś mówił o pliku *.bin to inna sprawa.
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...
Na 32-bitowych architekturach nie ma to praktycznie żadnego znaczenia, zapewne w każdym z tych przypadków będzie tak samo szybko, nie mówiąc już o tym, że kompilator może sam to zoptymalizować w wybrany przez siebie sposób.
Kiedyś starałem się to rozkumać i coś mi z tego wyszło, ale zdążyłem już zapomnieć szczegóły, więc mogę się gdzeiś mylić. Anyway - kluczem jest to, że nagłówek stm32f10x.h powinien być inkludowany ZAWSZE jaki pierwszy i w zasadzie JEDYNY z tej całej "biblioteki" (oczywiście mówimy o Twoich plikach, no bo na bibliotekę nie masz wpływu). Dodatkowo trzeba...
Witajcie, Jak to jest z tym eeprom-em w STM32? Mam przykładowo procesor STM32L010K4, on ma w sobie 128B pamięci eeprom. Chciałbym z tego skorzystać, ale jakoś nigdzie nie mogę znaleźć żadnych przykładów czy filmów, wszędzie mówi się o emulacji tej pamięci w obszarze pamięci flash. W jaki sposób mogę w CubeIDE skorzystać z wewnętrznego eepromu?
Mówimy o tej stronie? (rev. 13) Całkiem inna strona jest np w rev. 11 Screen w załączniku:
Da ścisłości to trzeba by wspomnieć że to o czym mówisz to nie jest częstotliwość PWMa tylko częstotliwość taktowania generatora PWM.
Ja piszę o czasie próbkowania, a Ty o czasie konwersji. To są różne pojęcia. O ile możesz wpływać na czas konwersji, to nie masz kontroli nad czasem próbkowania, który poprzedza konwersję. Ale o czym Ty znowu piszesz? Każdy wie, że to co ogólnie nazywamy przerwaniem od ADC, jest przerwaniem generowanym przez moduł ADC w momencie zakończenia konwersji...
Tylko w zakresie zasilania jeśli już. Niech kolega przyjrzy się dokładniej PDFom, STM32L152RE, STM32L053x6/x8, czy STM32F401, pinowo w obudowach LQFP64 są w 100% zgodne, nie trzeba zmieniać żadnych zworek na płytce nucleo. Wybierasz to co ci pasuje, a schemat mówi o tym jasno, że nawet różnice w zasilaniu istnieją.
Odnośnie płytki STM: Mam wrażenie, że źle podłączyłeś moduł bluetooth. Ściślej mówiąc, pin procka USART6_Tx powinien iść na UART_Rx w module BTM222. Upewnij się, żę każdy pin Vdd jest podłączony do masy kondensatorem ceramicznym 100nF. Nie widzę tego na szybko patrząc. Boot0 powinien chyba mieć opornik 10k. Vcap wyglądają dobrze.
Może nie pisz o czymś o czym nie wiesz. W AVR jest dokładnie taki sam UART jak w innych MCU. Nie ma powodu dla którego miałoby coś działać gorzej. Mają już np fractional baud generator, który dość mocno pomaga w uciągnięciu dłuższych pakietów? Nie mówiąc już o sprzętowych bebechach. Jednak trudno porównywać UART np STM32-a z UARTem Atmegi - zaawansowaniem...
No właśnie o popularności wiem, ale okazjonalnie kupiłem. Jak mówisz że Cortex to Cortex, to czy te przykłady z STM32 będą chodzić BEZ PORTOWANIA na LM? Co do środowiska, to mam Keil'a. A co do pytania, to chodziło mi o tutoriale, książki....
Mówisz o tym by procesor sam zmienił swój program. Czy chcesz program, który będzie wykonywał inny program(skrypt).
Mamy rok 2014. Procesory też składasz z tranzystorów? 5 sztuk BJT to max 50gr kosztów w gratach. Driver który proponujesz kosztuje conajmniej 10 razy tyle, jest mocno na wyrost, a TME ma go tylko w DIPie... Scalak w DIPie nie pasuje do konstrukcji z 2014 roku ;) Sugeruje ona, że nie znane jest Ci pojęcie tłumienia krytycznego, albo siedząc w przetwornicach...
Dokładnie tak jak mówi kolega Piotrus_999. Miałem ten sam problem - dość duży rezystor szeregowy między źródłem sygnału a wejściem ADC. Pomogło wydłużenie czasu próbkowania do maksimum.
Tak, tylko przygodę z STM'ami zacząłem od "Mikrokontrolery STM32 w praktyce", gdzie autor używa już kilkarazy wspomnianych bibliotek. Jak dotąd nie znalazłem innej (lepszej) literatury, która by wprowadziła w programowanie STM'ów. Resztę tak jak mówisz wystarczy z datasheet'a. W moim przypadku (programowanie AVR'ków) to chodził Alt+Tab :P. Może zna...
hmmm, szczerze mówiąc nie jest mi potrzebne skomplikowane rozwiązanie, wystarczy mi rozsądne odbieranie danych po Uart i rozpoznawanie komend...
Czy korzystacie z płytek stykowych, w jakich zastosowaniach sprawdzają się stykówki? Unikam jak się da, w domowym warsztacie nie chcę tego widzieć na oczy. Co innego w pracy - gdy trzeba na szybko sprawdzić np. reklamowany moduł. Na pewno stykówka nie sprawdzi się przy podłączaniu HDD ATA do płytki uruchomieniowej z STM32 - wygodniej po prostu polutować...
mieczotronix pliz wrzuć projekt wraz z biblioteką - ustawiony tak aby można było od razu poprawnie skompilować i mrygnąć LED em. Na pewno komuś to pomoże. Ja skończonym durniem nie jestem ale nie nadążam. Zaczynam. Dopiero dowiaduję się czego nie wiem i czego jeszcze muszę się nauczyć. Nawiasem mówiąc książka uC"...STM32 w praktyce" - polecam lekturę...
->michalko12 Własnie DMA jest niezbędny podczas praktycznie dowolnego RX-a . TX sam decyduje o częstotliwości wysyłki znaków, no bo TY nadajesz, a KTOŚ odbiera - nie musisz dostosowywać w większości przypadków prędkości TX do odbiornika. Pamiętaj, że to RX jest krytyczny, bo KTOŚ nadaje, a TY masz zdążyć odebrać dane! UART zbierający dane przez DMA...
Popatrz dobrze RCC_ APB 2 PeriphClockCmd( RCC_ APB 1 Periph_TIM2 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC , ENABLE); Mówiłem już dzisiaj, że ta biblioteka jest głupia? <: 4\/3!!
W 100% mogę mówić tylko za siebie, ale pozwolę sobie nieco ekstrapolować: nie, nie korzystamy. Generalnie ten kod od ST to przykład, nikt nie zmusza Cię to używania go dokładnie tak.
Wystarczy jednak zmienić choć jedną z tych zmiennych na 32-bitową, aby było dokładnie tak jak mówi BlueDraco. zdaje sie ze autor zadal konkretne pytanie. :)
Posiadam książkę Pana Paprockiego do Stm32, więc chyba będę się opierał na bibliotekach ST. Z tym rdzeniem to chodziło mi jak mu zrobić tzw. Flash/Download, ale nie na płytce edukacyjnej tylko mojej (najprościej mówiąc zaprogramować rdzeń do osobnej płytki). Domyślam się, że będę potrzebował jakąś podstawkę i pewnie będę mógł skorzystać z zestawu edukacyjnego...
wybralem do tego PORT_B_PIN11 i PORT_B_PIN_12, nie jestem pewien czy dobrze to sprawdzilem w nocie katalogowej, ale wydaje mi sie ,ze one powinny byc 5V tolerant. Te są OK (jeśli masz STM32F103x8/B...) - w datasheecie musi przy danym pinie być dopisek "FT" w odpowiedniej kolumnie tabelki. Generalnie piny z przetwornikami ADC nie są 5V tolerant. A ja...
Może pokaż cały kod. Poza tym, przerwania mogą być tak szybko wywoływane, że przy debuggingu się one gdzieś zgubią (bo nie odbierzesz wszystkich znaków z bufora a już przyjdą następne znaki). Mówisz, że nie działa w ogóle, więc może posprawdzaj flagi transmisji ?
Ale uC nie wie co otrzymuje LCD ponieważ w nim nie ma żadnego sprzężenia zwrotnego więc on tylko wysłała surowe dane do LCD i nawet nie wie co on mógł odebrać. Więc jakby to co mówisz miało rację bytu to LCD by się krzaczył a nie program na uC.
Mówisz wszystkie? Przecież tam masz przypisanie do zmiennej wskaźnikowej zmienną uint16_t, to nie ma prawo działać. Zresztą robisz to kilkukrotnie. Wg mnie musisz mocno przemyśleć zastosowanie wskaźników bo ewidentnie mieszasz. Przemyśl sobie poniższy kod, który nie powoduje błędów - jest tylko przykładem: [syntax=c] uint16_t wart[16][16]; //tablica...
Rozmawiałem niedawno z siostrzeńcem i mówił, że na AGH ma zajęcia w oparciu o Kinetis KL46, więc może nie wszędzie króluje 8051.
mikrofon mówić mówić rodzina układ elektroniczny mówić
amplituner przygasa tauron bilansowanie aparat trust
philips senseo sterownik ładowarki akumulatora
Przecięta taśma enkodera w drukarce - co robić? Demontaż i naprawa żelazka Braun FreeStyle 4674