Wg mnie nie trzeba nic zmieniać. Konfiguracja układów peryferyjnych typu RCC czy GPIO raczej się nie zmieniła, w startupie na pewno nic się nie zmieniło (przecież to wciąż Cortex-M3). Rozmiary pamięci można zmienić, ale nie trzeba (w końcu kod zajmuje ułamek flash i ułamek RAM, więc nic to nie zmienia w zasadzie). Adresy pamięci na 99,666% się nie zmieniły....
Pierwsze pytanie czemu używasz wersji 0.5? Drugie pytanie wgrałeś plik hex do uC? Bo na screenach nic takiego nie widzę. Po za tym dajesz linka do tutoriala, według którego "niby" robisz, a masz co innego w Initialization commands.
Twój problem może wynikać z "-specs=nosys.specs" Nie ma wpływu - masz układ w którym jest FPU, a nie podałeś nigdzie opcji, która by to FPU włączyła/użyła; Tu myślę że jest pogrzebany
... lub unie. ... o czym wspomniałem w poście #2 :)
Skompiluj sobie nowszą wersję OpenOCD (wprost z repozytorium). 4\/3!!
Poszukaj w necie jakiegoś programu który to robi. np Hexpolorer.
Jeśli Board jest w podkatalogu w stosunku do pliku z kodem, to tak musi zostać dołączony: #include "../inc/Board.h" Jak ja lubię (i rzadko mam okazję ;-) ) nie zgadzać się z kimś inteligentnym ! Oryginalne włączenie jest poprawne, ze względu na obecność parametru -I./inc w linii poleceń arm-elf-gcc (patrz pierwszy post w wątku). Do tego wszystkie includy...
Co do samego toolchaina, to nie lepiej po prostu ustawić go sobie w systemowym PATH i wywoływać bez żadnej ścieżki? Nie jest to dobre rozwiązanie, jak masz wiele toolchain-ów. Ja bym się kilka razy zastanowił zanim wstawię backslasha do Makefile'a (; Pomyliłem się... Masz rację. Backslash to znak kontynuacji obecnego wiersza w następnym. Należy użyć...
(at)michalko12 , myślę, że (at)Freddie Chopin chodzi o kwestię czysto teoretyczną.
Artykuł był pisany w 2009 roku i teraz nie widzę do pobrania "Sourcery G++ Lite Edition for ARM" Katulanie jakiego toolchain się używa?
Nawet jest tutaj temat o tych układach i ich kosmicznych erratach rosnących jak na drożdżach... Czytałem ten wątek i dotyczy on głównie nowych układów. Te z serii LM3S6xxx stosuję od lat i nie mam z nimi problemów. Chociaż mają jeden znaczący feler - moduł hibernacji jest uwalony i jeśli się chce mieć RTC to trzeba dołożyć zewnętrzny. A da się w LwIP...
Freddie Chopin , ale przycinanie szpilek chyba nie wyeliminuje zakłóceń :) ... również ciekawy jestem jak można zminimalizować zakłócenia na takiej magistrali. :)
o a w tym jest juz napewno i tego wlasnie kolega Freddie Chopin uzywa http://pdf1.alldatasheet.com/datasheet-p...
Podepnij sobie np. sondę do CAN-H, a masę sondy do CAN-L. Do tego uważaj z masami oscyloskopu...ale chyba wiadomo o czym mowa.
1. Tak 2. falling-rising owszem ale jeżeli impuls jest większy i następuje przepełnienie licznika to ov_counter podaje liczbę tych przepełnień. edit: zmienna counts nie jest nigdzie zerowana. ale nie musi być zerowana skoro występuje tylko jedno równanie, przy kolejnych impulsach counts przyjmie ich wartość/długość. 0xFF * ov_counter faktycznie powinno...
Ja np. nie mam polotu w byciu pilotem Boeinga 777, ale czy to znaczy że koniecznie muszę nim latać? Ze co? bez praktyki samo nie przyjdzie. Potrzebuje w domu przerobić instalację hydrauliczną, dosłownie dorobić kilka rurek. Sięgając do internetu po porady stwierdziłem, że jestem w stanie sam sobie to zrobić (taką mam ochotę). W całym życiu raz jeden...
A nie prościej dąć laser półprzewodnikowy bez soczewki? Tylko soczewka w takim laserze daje wiązkę równoległą. Bez soczewki dioda laserowa daje światło rozbieżne. Ale mało rozbieżne (kilka *). Jakoś światła z takiej diody laserowej będzie dużo lepsza niż ze zwykłej diody i soczewki skupiającej. Pewnie prościej, ale: - naklejka ostrzegawcza + normy...
Ja bym dodał dodatkową sekcję i przy pomocy attribute w gcc jawnie umieścił zmienne i funkcje w tej sekcji. Potem tylko wywołując linker należy określić gdzie ta dodatkowa sekcja ma wylądować. Inne rozwiązanie wskazał już kol. (at)Freddie Chopin .
W ten sposób obsługiwany jest tylko hex albo tylko bin Tylko bin. Są więc ograniczenia dotyczące adresu, pod który jest ładowany program. Nie ma kontroli CRC, więc jeśli plik jest uszkodzony to taki zostanie załadowany.
Przeczytaj ten wątek i kup sobie inną płytkę. Co ma płytka wspólnego z tym problemem. Jak tablica wektorów jest zła to nic nie pomoże. Nawet zrobiłem porównanie STM-owego nagłówka z tym autora.
Za stówę można kupić podróbę (; Ale działajacą OK. w manualu do JTAG-lock-pick (i JTAG-lock-pick Tiny 2) jest opisane jak uruchomić tenże programator pod Keilem. Ten od Kamami jest podobnego typu jak JTAG-lock-pick (czy JTAG-lock-pick Tiny 2). Chętnie zobaczę :) ... Sprawdziłem. Działa (testowałem na Amontec JTAG key 2) tak samo dobrze, jak ULINK-2....
Nie ma w tym nic dziwnego, skoro nie zrobiłeś nagłówka dla pliku z dodatkowymi funkcjami i nie dołączyłeś go do pliku który ich używa. Dlaczego muszę się powtarzać? 4\/3!!
Być może to kwestia preferencji, być może ma to jakieś znaczenie. Zaproponowanym przeze mnie format jest - moim zdaniem - bardziej czytelny i bardziej "oczywisty". Dzieki, czyli generalnie nie ma jakiegos wpływu na sposób linkowania (w tym przypadku kiedy mamy ten sam obszar "MEMORY")
dzięki za podpowiedź. Można (chyba) również w np. SRCS_DIRS +=lib_user/src SRCS_DIRS +=inne
Przecież to są poważne firmy Pytanie wynikiem tematów no podróbkach. Poza tym nikt nie podrabia układów Microchipa,... To nastraja pozytywnie :) Uprzedzając pytanie - kupowałem w obydwu które wymieniłeś i w wielu innych - polskich i zagranicznych - nigdy żadnego problemu. A czy możesz jakiś polecić?
zasadniczo taska który to odbiera non-stop, bez żadnych delayów. Albo DMA RX z włączonym CIRC i w kółko odbierać to do zdefiniowanej globalnie tablicy. Serwer natomiast brałby sobie z tego miejsca zawsze najświeższy pomiar... UART nie ma w sobie żadnego magicznego buforowania - jak nie odbierasz, to dane lecą do śmieci Albo wywołują OVR i UART się...
Witam Szybko sklejone ale powinno działać Źródła FreeRtos6.1 (katalog RtosV611) + Freddie Chopin (katalog Setup) i makeFile w Tasks\task1 powinien ci się uruchomić vTask1. Jak rozpakujesz dodaj folder out i skompiluj Pozdrawiam
Ciekawe podejście, ale przy dwóch sekcjach nie ma co kombinować. Może w kolejnej wersji przykładów ją zaadaptuję, jeśli autor nie ma nic przeciwko (; To też nie jest moje dzieło, więc nie mogę mieć do niego żadnych praw. Ja tylko dostosowałem to co miałem.
michalko12 napisał: uint32_t *_fb = (uint32_t*)((uint32_t)fb & 0x03); Ta linia wcale nie robi tego co oczekujecie. Robi coś dokładnie odwrotnego. No masz rację, dla mnie już późnawo było i już kiepsko wczoraj myślałem. Nawet jak to poprawicie, to kod ten _NIE_ jest poprawny, ponieważ w pewnych wypadkach będzie on pisał poza danymi z tego całego "fb",...
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.
3. Napisałem obsługę I2C na przerwaniach samodzielnie Nie napisałeś obsługi I2C na przerwaniach tylko masz polling I2C w przerwaniu timera. To jest klasyczny przykład na to jak czegoś nie należy robić. Obsługa I2C w przerwaniach polega na obsłudze przerwań przychodzących z tego waśnie peryferium. i zastanów się jak połaczyć przerwania I2C z przerwaniem...
(at)Freddie Chopin Dziwie się, że jeszcze nie polecano keila i nie wyśmiano odpalania make z linii komend. W keilu byłoby jeszcze lepiej niż tutaj - tam wszystko działa nawet nie od razu, tylko jeszcze zanim o tym pomyślisz (;
Przy niskich zadziała na pewno wewnętrzny, przy wysokich - już niekoniecznie. Kwestia uznania co oznacza duża prędkość a co mała :). Na F4 F3 (z każdego po iles tam modeli jakie miałem w ręku) bez kwarcu ok 1M przy ramce rzedu 4k problemów nie zauwazyłem
Dużo już naklepaliście w tym temacie, ale wyrywkowo moje przemyślenia... Request jest generowany w momencie pojawienia się wolnego slotu, ale to może być 8-bit, zamiast 16-bit. Nie wiem, czy dokładnie to masz na myśli, ale dla SPI FIFO TX o długości 4B i aktywowaniu DMA zasysane są tylko 3 bajty i znika flaga TXE, podobno właśnie po to, by następny...
Tylko ja nie mowie o żadnych flagach sprzętowych, a o zmiennej "straznik". Sorry. Źle zrozumiałem. Faktycznie 'straznik' jest tylko zainicjowany z wartością 1, a później tylko zerowany w przerwaniu. Tego nie zauważyłem :)
Użyję popularnego ostatnio RTFM!:D hehe, moze kiedys to bedzie klasyka dzialu Niestety wszystko na to wskazuje. STFW też się pewnie zadomowi.
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ć.
Jak więc tego dokonać? Jak to zrobić w CooCox czy w Keilu - no idea (; CooCox: Menu Project->Configuration, panel "Memory Areas", radiobutton "Debug in RAM" zamiast "Debug in Flash". Będzie widać, jak zmienią się adresy w polach powyżej radiobuttonów. Pozdrowienia, MKi
Freddie Chopin ciekawe, czy Ty jak zaczynałeś to też byłeś taki mądry ? Tylko trolujesz forum i nikomu nie pomagasz! Rozwiązanie można znaleźć tutaj http://lmgtfy.com/?q=site%3Awikipedia.or... Zanim napiszesz, że nie chce Ci się czytać elaboratów - wchodzimy na pierwszą stronę listy, naciskamy Ctrl+f i wpisujemy ->
no i ok, ja mowilem o dodatkowym podziale czestotliwosci na 2, 4 i 8 (domyslnie 8 ) . no i czas sciagnac nowe wersje, bo we wszystkich jakie mam logo jest niebieskie 4\/3!! No własnie. Domyslnie jest 8. Ustwiasz 8MHz, a to chodzi na 1MHz. I zdziwka. Ja też kiedyś miałem z tym problemy. A jak kolega Robgie programuje? Z BASCOMa? no i ok, ja mowilem...
pytanie dodatkowe - do owego generatora moge podpiac dwa odbiorniki tego zegara, czy lepiej zbuforowac i dopiero dzielic tak jak na schemacie powyzej? RTFM ;-) http://obrazki.elektroda.net/11_12113135...
(at)Freddie Chopin - używam Keila + ST-Linka. Tak, właśnie debugger mi pokazał, że program tak się zatrzymuje, ale z drugiej strony nie zaglądałem dlaczego. Spróbuj postawić breakpointa na linijce z tą funkcją, a potem "wejdź do niej" - step into - zobaczysz coś więcej może. 4\/3!!
(at)Freddie Chopin Ad1. Takie rozwiązanie jest z powodzeniem stosowane na płytkach ewaluacyjnych Atmela *-ek dla procesorów AT91SAM926X jak i innych podobnych konstrukcjach. A że schematy są ogólnie dostępne to można podejżeć rozwiązanie. Ad2. To raczej pytanie do datasheeta albo pomocy technicznej NXP. Przyznam się że nie miałem okazji do zabawy z...
ping pracuje na baaaaaardzo niskiej warstwie protokołu, a Ty chcesz przecież używać jednej z wyższych (TCP) Taka ciekawostka, niby ICMP jest w warstwie 3 (czyli tej samej co IP) a TCP w 4, ale tak na prawdę oba protokoły "sa opakowane" bezpośrednio w pakiety IP, więc ICMP to jakoś niżej od TCP to nie jest.
No ale kto by tam zaglądał do oficjalnych dokumentów, przecież jest EP... 4\/3!! Przecież w tym artykule z EP również informacja o kodzie daty jest zawarta, więc o co to larmo? Wada ta występuje w przypadku mikrokontrolerów oznaczonych kodem daty produkcji mniejszym niż 937
(lub ewentualnie zignorować, tracąc minimalnie dokładność) utrata dokładności jest i tak mniejsza niż w przypadku podanym prze mnie. Jeżeli występuje prawdopodobieństwo wystąpienia wielokrotnych przepełnień bez przerwań i licznika przepełnień się nie obejdzie. Zresztą użycie flagi ma (może nie w tym przypadku jak jest to robione raz na godzinę) dodatkowe...
Nazwa tablicy jest jednocześnie wskaźnikiem na jej pierwszy element. No zgadza się jest wskaźnikiem na jej pierwszy element ale nie można na nazwie tablicy wykonywać operacji arytmetycznych tak jak na wskaźniku, chyba że o czymś nie wiem. Ale ja to właśnie sprawdzałem. chyba żeby zrobić tak: char *tablica8 = "ala i as poszli w las"; to wtedy da radę...
Tyle, że kolizja z ETH :-( I to nie jedna: wielkie mycyje.... Wybrałem Ci najtańszy. (at)Freddie Chopin No początku kupiłem tu: http://www.proto-advantage.com/store/ Ale ponieważ ostatnio nawet do prototypów zamawiam też stencil to dodatkowo zamówiłem taki stencil w allpcb - po prostu dałem wiele różnych obudów na dużej formatce. Tak że mam praktycznie...
Ramka MODBUS: 0103004400011FC4 (na widoku poprawnie). No ale przecież wszystko się zgadza - w pamięci masz 00 44, po poskładaniu w uint16_t wychodzi 0x4400 (little endian). 4\/3!! A jemu chodzi o to żeby było 0x0044, no ale w tym przypadku tak się nie da i nadal nie wierzę, że w takiej postaci struktura działała na 51 i AVR.
Funkcja opisana obrazkiem diody, to własnie ta której poszukujesz. Świnto prawda. No ale nie piszczy. W takich miernikach. W nieco droższych piszczy jak jest zwarcie. Ta dioda robi to samo co "brzęczyk" ale producent na "piszczydełko" poskąpił. OT. Kiedyś to się nazywało "przedzwanianie" układu. Brało się dzwonek na 12V i zasilanie 12V. Nazwa pozostała....
Wystarczy dołożyć funkcję, która zwróci wartość zmiennej. Tak jest zrobione - ta funkcja też nie ma dostępu do tej zmiennej, bo jest wywoływana przez wątek który ma taką a nie inną konfigurację MPU. Ja nie mówię o "dostępie" w znaczeniu widoczności zmiennej w kompilatorze, tylko o prawach dostępu w Memory Protection Unit. To jest specjalny port FreeRTOSa...
Twoj hex ma wlaczonego watchdoga a powinien byc wylaczony - dokladnie tak jak mowi Freddie Chopin. Natomiast na koncu listingu watchdog nie jest "dziwacznie wylaczany" jak ten Kolega pisze tylko podany jest w komentarzu (za srednikiem) opis jakie fuse-bity ustawic ; Fuses (CP=Off, PWRTE=Enabled, WDTE=Disabled, OSC=XT) BF
Witam, Raczej wartość 4 czyli FLASH_COMPLETE. No właśnie, ta funkcja jest coś nie teges, bo może zwrócić jedynie FALSH_COMPLETE, albo FLASH_TIMEOUT. Nie wnosi to co prawda nic do opisanego problemu, ale... Edit: W sumie to wynika z tego jedynie tyle, że ta funkcja zwraca zawsze FLASH_COMPLETE, niezależnie od poziomu optymalizacji, czyli nie tu leży...
1. W projekcie który zaimportowałeś jest poprawnie skonfigurowany "indexer". 2. Ścieżki dodaje się w Makefile, to co pokazuje Eclipse nie ma żadnego znaczenia. Dodając do powyższego, czego widać nie przeczytałeś, dodawania toolchainowi jego własnych ścieżek jest zupełnie pozbawione sensu. Zaimportuj któryś z projektó z mojej stronki (ten który będzie...
np. zgodnie z teorią zawsze będzie dzwonienie i odbicia Zgodnie z teorią nie zawsze (wszystko dopasowane) Ale to tylko teoria ;-) Co do drugiego to moim zdaniem odległość źródło - odbiornik. Tą drugą część linii możemy interpretować jako zwiększenie niedopasowania. Chociaż pewności, że to akurat będzie zwiększenie nie ma ;-) Albert
Freddie Chopin : Może zedytował post, bo było żeby dodał, potem że się do tego zastosuje, a teraz jest że coś tam dodał, ale ile i gdzie to faktycznie nie wiadomo. chrobek : Jeżeli masę i PD6 podłączyłeś tak jak piszesz to jest dobrze. Podłącz te piny. AVCC do VCC. AREF kondensatorem 100nF do masy. Można też do VCC, ale wtedy musisz ustawić napięcie...
Freddie Chopin : To nie jest aż takie proste. Z tego co ja zrozumiałem, to chodzi o zadeklarowanie typu zmiennej, coś pokroju: Nikt nie mówił, że to jest proste, jednak przykład który podałem się kompiluje i jestem prawie pewny, że robi to co trzeba. Niestety trzeba pamiętać, że argumentem i wartością zwracaną przez taką funkcję jest... wskaźnik na...
Może zamiast struktury IF lepiej w tym przypadku użyć SWITCH? No i co to zmienia, poza zajmowaniem więcej miejsca i wymaganiem dziwnych słówek? Przede wszystkim możliwość wrzucenia obsługi default'a. Oczywiście powinno się dać na samym końcu tego łańcuszka "if else" dodatkowy "else", który by był właśnie tym deafault value, ale jakoś programiści o...
... P.S. Prędkości ST-LINKa nie da się zmienić, bo ona jest "automatyczna", OpenOCD podaje 1MHz, ale równie dobrze mógłby podawać 1THz - chodziło by tak samo. No ale dla niektórych ważniejsze jest żeby było setki opcji w menu w których można sobie zmienić rzeczy których nie ma sensu zmieniać... 4\/3!! To jak wytłumaczysz fakt ZAUWAZALNEJ różnicy w...
widze tutaj pelny chaos. do AREF podlaczacie kondensator, czyli odniesieniem moze byc jedynie 2.56V wewnetrzne, za to nagle wartosci liczycie wzgledem 5V... sorry, ale napisaliscie juz 15 postow, przy czym 100% informacji o ktore tutaj pytano jest do znalezienia w ... wiadomo czym, wiec RTFM. 4\/3!! Kolega zna Bascoma? Reference = Avcc
mirekk36 :takie coś nie zadziała. Tak jak pisze Freddie Chopin rezystor możesz dać co najwyżej zamiast diody Zenera. A nie obok. A tak jak narysowałeś nie może być bo napięcie owszem ograniczysz, ale od góry (Będzie 0...14,4V zamiast 0...24V.) a trzeba od dołu (Ma być 4...24V zamiast 0...24V. A najlepiej jeszcze więcej (w stosunku do masy), np: 12...24V....
kod warunku sie nie wykonuje, bo niby czemu mialby to zrobic? jesli PORTx sluzy do tego co mysle, to na pewno nie jest zadnym wlaczaniem pullupow, i jego zmiany gdy port jest ustawiony jako wejscie sa... bezcelowe... Tu się kolega myli. W mikrokontrolerach AVR ustawienie bitu PORTXn dla linii skonfigurowanej jako wejście aktywuje rezystor podciągający....
Ruszają. Potwierdzam. Jak odznaczysz auto: https://obrazki.elektroda.pl/8943127600_... Jak nie to masz wpływ tylko na prefiks: https://obrazki.elektroda.pl/3827189900_... Nr zmienisz w każdym układzie, który ma wbudowany eeprom. Jeśli ma zewnętrzny, to musi on być podłączony. Są tez układy, gdzie nr (i nie tylko) możesz...
Jeśli założy nowe konto, to w max tydzień-dwa go zidentyfikujemy Tak, trzeba czasu aby zidentyfikować "delikwenta". A ten czas można przeznaczyć na coś innego niż "tropienie trolla".
Na potwierdzenie tego co napisał powyżej Freddie Chopin, zamieszczam poniżej programik ilustrujący problem: [syntax=c] #include <stdio.h> #include <stm32f4xx.h> #include <stm32f4xx_rcc.h> int main(void) { printf("stm32f429i\n"); printf("GPIOA\n%8.8X\n", (unsigned int)GPIOA); printf("RCC_AHB1Periph_GPIOA\n%8.8X\n", (unsigned int)RCC_AHB1Periph_GPIOA);...
Choć zwykle nie zgadzam się z czasem wrednymi i głupimi uwagami Freddie Chopina at your service [; 0x41 0x56 0x45!!
Co innego gdybyś pisał jakiś sterownik albo coś równie niskopoziomowego... W tej sytuacji korzystanie z JTAG tez jest niewskazane. Używa się kgdb, który jest po prostu implementacją gdb pracującą na poziomie kernela i pozwalającą go debugować (zwykłe gdb pozwala jedynie na debugowanie aplikacji użytkownika). A że się tak spytam, miałeś przyjemność...
Witam, na początek to niech kolega zerknie na płytkę i nie jest tam zainstalowany 25MHz tylko 8MHz rezonator kwarcowy. Druga sprawa, po nazwie pliku domyślam się, że to CoCoox. Jeśli tak to musisz zmodyfikować dwa pliki startup aby przed main wywołać plik konfiguracji zegarów (SystemInit czy coś takiego). Dodatkowo musisz zmodyfikować obliczenia pll...
Czy ktoś może naprostować mój tok myślenia lub potwierdzić moje obawy? Może inne CPLD (inny producent / inny model) nie mają takiego "ograniczenia", że trzeba wybrać to napięcie banku? Masz rację, ze względu na specyfikację wybiera się zakres w czasie konfigurowania CPLD z standardu JEDEC, ale... ...zawsze jest jakieś ale: [url=http://www.xilinx.com/products/sili...
Mylisz się, da się to zrobić bez przerwań. Na przerwaniach też się da, więc żeby poczuć różnicę i na coś się zdecydować po prostu zrób jakiś projekt, bo z filozofii nic nie wyniknie. Po to mikroprocesor ma te wszystkie timery, przetworniki itp. żeby z nich korzystać. Używając przerwań sprzętowych. Bo jak nie- to używasz "wykastrowanego" procesora....
W pierwszej części warunku odbierasz pierwszy znak i sprawdzasz czy jest większy niż '0'. W drugiej części warunku odbierasz kolejny znak Jest jeszcze inaczej. Po starcie programu zakładając że odebrał pierwszy znak (bo nie sądzę aby zapełnił sobie bufor w ciągu us), drugi będzie == '\0' i tak w kołko Macieju. Tak że do trzeciego odczytu nie dojdzie...
CrossStudio 1.7 build 3, jtag Freddie Chopina, target generic FT2232 device z ustawieniami podanymi przez Freddiego, procesor LPC-2378 na plytce LPC-2378STK
Są, wszystkie tak samo beznadziejne ponoć Popieram, uważam niestety, że STM32 dla osoby szukającej polskiej literatury może być trochę drogą przez mękę. (osobiście do STM polecam dokumentacje bibliotek po angielsku) Na początek polecam jednak AVR (http://atnel.pl - super książki do nauki dla początkujących i fajne zestawy, http://and-tech.pl - fajny...
Dokladnie o to mi chodzilo BoskiDialer. Narazie cicho i nie słychać Freddie Chopina wiec mam nadzieje że Twoje uwagi mi pomoga :]... Skoro RTC działa niezaleznie to da sie spokojnie wysterowac zergareczek na tym procku :)... pozdro
Skąd pewność, że autor tematu używa SWD a nie JTAG? Bo marudzi, ze ma problem ze stanem pinów PB3 i PB4? Czyli je do czegoś podłączył i nie jest to JTAG. ;) A swoją droga, bo właśnie sprawdziłem, jest jeszcze jedna metoda na zaprogramowanie z wyłączonym debugiem, przycisnąć reset i: stlink -HardRst -c SWD -Halt -P build/firmware.bin 0x8000000 -Rst...
Dodadając do tego napisał (at)Freddie Chopin to jeżeli już chcesz sprawdzać flagę BSY to najpierw musisz poczekać aż dane z rejestru zostaną przesunięte do "shift register". Samo zapisanie do DR od razu nie włacza flagi BSY ponieważ SPI nie zaczeło jeszcze transmitować. W Twoim przypadku np czekaj na flage TXE po zapisaniu do DR. Ale BSY raczej służy...
Głupi może pomysł, bo ja tylko asm, ale może to? #include <avr/io.h> avr/interrupt.h inkluduje go. Ja od razu mówię Ci, że używa tego starego skoro Ci nie działa. Naprawdę go wywal i będzie po problemie... Po co Ci tak stary kompilator? 4\/3!! Też tak myślę - interfejs przerwań się zmienił jakiś (spory) czas temu a tutaj ewidentnie ISR() nie...
podpinając się bezpośrednio pod nóżki. Tak się nie robi. Czy masz go na jakiejś płytce testowej, czy "goły chip" ? Oprócz tego co napisał Freddie Chopin (pull-up-y) konieczne jest jeszcze: - stabilizowane źródła (dwa) !!! napięcia zasilania (3,3V, i 1,8V). - kondensatory filtrujące owe zasilanie - przydatny jest kwarc + jego kondensatory - oraz (najlepiej)...
W pierwszym fragmencie kodu też wypadałoby zawsze odczytywać DR po nadawaniu. 4\/3!! W jakim celu. Co to da? Coś się stanie jak odbiornik parę razy przepełni się?
Plik nagłówkowy mikrokontrolera można wyłuskać np. z paczki SPL pobranej ze strony ST. Dla Twojego STM32F103VBT6: [url=http://www.st.com/web/catalog/tools... (przycisk download na dole strony). Po rozpakowaniu archiwum: Libraries -> CMSIS -> CM3 -> DeviceSupport -> ST -> STM32F10x -> stm32f10x.h...
Wydaje mi się, że przykład ze strony podanej przez (at)Freddie Chopin rozwiązuje problem nawet w przypadku zagnieżdżonych sekcji krytycznych: Sprawdzałeś do czego sprowadza się disable_irq? To [syntax=c] __STATIC_FORCEINLINE void __disable_irq(void) { __ASM volatile ("cpsid i" : : : "memory"); } [/syntax] enable [syntax=c] __STATIC_FORCEINLINE void...
(at)Freddie Chopin Szkoda. Bo niedawno robiłem coś takiego w XMEGA128 i jest tam ekstra strona z 512 bajtami pamięci (.user_signature) i na etapie linkowania dało się sprawę w elegancki sposób załatwić. To może utworzysz sobie sekcję umieszczaną na końcu pliku wynikowego ze znanym patternem dla bootloadera (np jakaś unikatowa 64 bitowa wartość) a za...
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 ;)
To zrób to w dwóch operacjach: ISR(ADC_vect){ static unsigned int liczba_dotychczasowych_pomiarow; ADC_sr = (ADC_sr *(liczba_dotychczasowych_pomiarow... + ADC)/(liczba_dotychczasowych_pom... + 1); liczba_dotychczasowych_pomiarow++; } Zobacz, czy tak działa. Najmądrzej jednak będzie mimo wszystko zrobić średnią...
Nie, to nie dyskusja polityczna. Chodzi o to, by wyjaśnić to w miarę dokładnie. Wiele błędów programowych, które z wielką cierpliwością wyjaśnia mirekk36, Freddie Chopin i wielu innych bierze się z niezrozumienia jak zmienne funkcjonują. A do mirekk36. Pisząc "obojętnie gdzie" miałem na myśli, że gdziebyśmy ich nie użyli, nie sugerując jak często i...
unsigned int value[128] __attribute__ ((section("moja_sekcja&... = {1,2,3,4,5,6,7,8,9}; Tak zadeklarowana zmienna wyląduje w pamięci RAM (brak atrybutu PROGMEM). Dziwne wartości biorą się z tego, że zmienna ta nie znajduje się w sekcji data ani bss (wkońcu została wymuszona inna sekcja), a więc taka...
Chyba już wiem o co biega. Porcedurka EEPROM_read() powinna wyć podobna jak w pliku eeprom.h: /** \ingroup avr_eeprom Read one byte from EEPROM address \a __p. */ __ATTR_PURE__ static __inline__ uint8_t eeprom_read_byte (const uint8_t *__p) { do {} while (!eeprom_is_ready ()); #ifE2END <= 0xFF EEARL = (unsigned)__p;...
Dokładnie - jeśli potrzebne są jeszcze większe procki jak wspomniany ARM to ja też powiem, że warto zainwestować w programator od Freddie Chopina ;) .... sam go mam, wygląda solidnie i profesjonalnie. Tylko też jeszcze czeka na swój czas. Ale przynajmniej od dawna też wiem że mam już dobre narzędzie ;) gdy będę zmuszony sięgnąć po lepszy procek niż...
Ale komu? R-MIK Nie można by odblokować tematu w dziale DIY? Chętnie bym się dowiedział o tym jak dokonano przełomowego przekroczenia prędkości światła (; OK, ale to ja zadam pytanie, by nieco ostudzić emocje kol. R-MIK.
Ponadto gdyby ktoś miał hexa jakiegokolwiek programu który startuje z 0x08000000 to mógłby sobie wrzucić bez problemu. ARM to nie AVR co wyjaśnił (at)Freddie Chopin.
Dużo ludzi rozprawia nad tym co jest mało istotne, schemat złożony, nie działa a jedyne co się da usłyszeć "to się naucz"....przykre, nie będę dewagował po co jest to forum , na pewno nie po to żeby pisać głupoty, tylko pomóc mniej doświadczonym :) Dlatego proszę Freddie Chopina o nie komentowanie tego postu a użytkownika sgh o poradę :) Dzięki
Jak zaczynałem "montowanie" STM32 do "starego" Eclipsa to w "C/C++ General > Paths and Symbols > Include" były jakieś 3 ścieżki, ale teraz znikły i zostały tylko dla WinAVR. Możecie mi je przypomnieć ? No bo właśnie usunąłeś PATH z Eclipse'a i teraz w tamtejszym PATH nie ma nic. Proponuję usunąć projekt i zaimportować od nowa projekt pobrany z mojej...
Niestety Freddie Chopin w całej rozciągłości ma rację. Tracisz czas na coś co nic, w sensie wydajności, ci nie da. Umieszczanie odczytu klawiszy w pętli głównej programu wcale nie jest jakimś błędem, nie w każdej sytuacji trzeba wszystko pakować w przerwanie. W dodatku wejście i wyjście z przerwania trwa trochę, pomijam ok. 4 cykle na wejście, to jeszcze...
Ustawiasz w skrypcie linkera tak aby wszystko trafiło do RAM, a nie do flasha i to wszystkie zmiany jakie musisz wykonać, jednak ja wciąż sugeruję nie przejmowanie się żywotnością pamięci Flash - więcej z tym problemów niż "korzyści". 4\/3!! Jeszcze musi przestawić zworkę ! :P
Dziękuje za pomoc. Zrobiłem najpierw jak radził technics6 - dodałem linie kodu i sprawdziłem projekcik ale nie pomogło. OSC jest zdeklarowane bo uzywam w całym duzym programie go (tak jak powiedziałem zamieściłem fragment sprawiający problem). Rozwiązaniem problemu okazała się rada Freddie Chopina ze zmienna typu volitile. Dziękuje Wam za help
Maciek4141 --> przecież Freddie Chopin opisał ci jaki błąd robisz pisząc coś takiego: int main(void) { .... .... .... while(1) return 0; } a ty to usprawniasz jeszcze "lepiej" - lepiej piszę w cudzysłowiu ;) while(1); { return 0; }; posłuchaj jeśli masz gołą funkcję main, czyli int main(void) {...
A tak, mówił mi również gość, że mógłbym podczas cięcia psiknąć jakimś sprayem chłodzącym, ale niezbyt wiem o co dokładnie mu chodziło. Fajnie, że to potwierdził. To będę teraz używać. Nawet WD-40 mozna użyć. Analogicznie jak przy wierceniu w stali. W ogóle to jest ciekawe, do czego dokładnie jest w takim razie ta tarcza (; Evolution nie ma żadnej...
(at)A.T. To jak przekazuje sę argumenty znajdziesz w opisie ABI kompilatora. Ma to znaczenie tylko jeśli całą funkcję C napiszesz w asemblerze - to znaczy umieścisz ją w odpowiednim pliku .S i wyeksportujesz za pomocą .global. Natomiast jeśli definiujesz funkcję w C i w jej ciele umieścisz wstawkę to odwołujesz się nie poprzez rejestry lecz nazwy zmiennych/argumentów....
Strasznie nie czytelne masz ustawianie GPIO, same cyferki mnie zrażają, zapewne nie tylko mnie. Freddie Chopin napisał bardzo fajną funkcję do portów. Ja Ci daję mój przykład: [syntax=c_loadrunner]#define APB_CLK 42000000 #define BAUDRATE 9600 void init_usart( void ) { RCC->APB1ENR |= RCC_APB1ENR_USART3EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; gpio_pin_cfg(...
Ale jemu nie brakuje całego retarget, tylko sbrk, bo w newlib większość funkcji które robi coś z liczbami float alokuje dynamicznie pamięć. Dobrze, ale skoro mówimy o atoi i atof, to kolega bimbarabam pewnie nie wie, że może używać printf - powiedzmy z portem COM w roli głównej, albo zrobić sobie dostęp przez systemowe funkcje w stylu fopen/fread.......
freddiego chopina linker freddie freddie interrupt
nagłośnienie plenerowe kabel optyczny słuchawki bezprzewodowe naprawa struktury dysku
Schemat CR-9902 Roberts Radio i Clarus – brak dokumentacji, zamienniki, typowe usterki Saker Portable Welding Machine 110V 120A IGBT Review: Specs, Performance, Durability