W przestrzeni mając 3 punkty podstawy dowolnego ostrosłupa oraz 3 odległości tych punktów od wierzchołka bez problemu można wyznaczyć wierzchołek, tylko trzeba skorzystać z: wyznacznika 3x3 (czterokrotnie), własności iloczynu skalarnego wektorów, wyznaczenia wektora normalnego do płaszczyzny: a/ Najpierw należy wyznaczyć wektor normalny płaszczyzny...
Przerabiając prostego tutoriala napotkałem na poważny problem. Mianowicie obiekt stworzony przeze mnie ma wektory normalnych odwrotnie niż bym chciał. W efekcie robi się kaszana - miał być zaokrąglony prostopadłościan - jest niewiadomoco. Jak to odkręcić? Obiekt jest ok - bo podczas obracania widać ścianki "wewnątrz"
Linie pola magnetycznego jednorodnego przecinające powierzchnię s = 100 cm kwadratowych tworzą kąt alfa = 30 stopni. Oblicz strumień magnetyczny przenikający tą powierzchnię jeżeli indukcja magnetyczna B = 0,6 T To jest bardzo łatwe zadanie. Jak wiemy strumień magnetyczny jest iloczynem skalarnym wektora indukcji magnetycznej i wektora normalnego do...
Wystarczy w skrypcie linkera ZA wektorami przerwań, a PRZED normalnym kodem wstawić offset (poprzez ". += jakis_offset;") tym sposobem miejsce to będzie zasadniczo puste. Wstawienie konkretnej wartości najprościej zrobić tworząc nową sekcję (uprzednio niestety rozbijając tą standardową na obszar dla wektorów i obszar dla normalnego kodu): MEMORY {...
Ja zrobiłbym to pewnie tak, że wyznaczyłbym wektory normalnych do każdej z prostych (przyczynków) i względem (czyt. wzdłuż ) tych wektorów przesuwał współrzędne. Tam gdzie proste się łączą (wierzchołek) obliczyć wypadkową normalną i też przesunąć wierzchołek względem wektora tej normalnej. Ważne jest tylko żeby obrać jeden stały kierunek "skanowania"...
Udało mi się stworzyć wykres 3D (atraktor Rosslera) przy użyciu ode45. Zdołałem też zyskać przekroje tej funkcji, ale jedynie dla płaszczyzn, które są prostopadłe czy też równoległe do osi x, y czy z. Mam jednak teraz duży problem z zapisaniem warunku, gdy powierzchnia będzie ułożona w sposób dowolny. Póki co próbowałem z płaszczyzną rysowaną w oparciu...
W ramach optymalizacji geometrii napisałem procedurę ukrywania niewidocznych krawędzi. Jest to implementacja back-face cullingu, czyli jednego z algorytmów usuwania niewidocznych ścian. Podczas rysowania wielokątów pomijane są te, które odwrócone są tyłem do kamery. Algorytm ustala czy wektor normalny danego wielokąta jest skierowany w kierunku do kamery....
Zerknij sobie to pliku .lss i sprawdź następujące rzeczy: 1. czy w ogóle jest tam funkcja SysTick_Handler 2. czy adres funkcji SysTick_Handler zgadza się z adresem widocznym w tablicy wektorów (pod adresem 0x800003c) - adres w tablicy wektorów będzie miał nieparzystą wartość (jeśli np. funkcja SysTick ma adres 0x8001000, to w tablicy wektorów będzie...
Zainstalowałem ten program ale nie widze nigdzie możliwości wczytania samych wierzchołków figury aby program je sam wyrysował. Można coprawda importować pliki obj ale oprócz samych współrzędnych program wymaga wektorów normalnych dla każdej płaszczyzny a ja takowych nie mam. Jakieś inne pomysły?
Miałem wpisany niewłaściwy adres przerwania od ADC. Był taki jak w ATtiny85 (0x0008) zamiast 0x000B. 0x0008 w ATtiny261 to przerwanie od USI_OVF. Dobrym rozwiązaniem jest wyznaczenie domyślnego wektora dla nieużywanych przerwań (tak jak to jest zrobione w avr-gcc). Na początku programu dla wszystkich nieobsługiwanych przerwań definiujesz skok: rjmp...
Faktycznie kod mozna i to sporo zoptymalizowac pomijajac juz tablicowanie sin i cos to same obroty punktu 3D sa robione najprosciej jak mozna co przeklada sie na duza liczbe mnozen. Same obroty mozna zoptymalizowac robiac to na macierzach itp. Odnosnie gierek na PC to wiekszosc kodu zazwyczaj pisana byla w asseblerze w celu maksymalnej optymalizacji....
Zakładam, że pytasz o sytuację uruchomienia jednego programu (normalnego) przez drugi (bootloader)? Generalnie dobrze by było, gdyby ten bootloader po sobie sprzątał, tzn np. wyłączał wszystkie układy peryferyjne których używał, doprowadzając całość do stanu jak najbardziej zbliżonego do prawdziwego resetu. Po stronie "normalnego" programu generalnie...
Gdy wydrukujemy jakieś zdjęcie to musi być ono mniejsze niż na monitorze, by miało dobrą jakość (musi mieć większe dpi czyli robi sie większe). Czy da sie tak zrobić by przy dużym dpi zdjęć w pdfie, pdfy nie były na monitorze bardzo wielkie(nie wygodne do czytania)? Można procentowo zmniejszyć np z 100% na 33% podczas przeglądania pdf ale nie o to mi...
Bo ten program jest zły! Cortex-M3 pod konkretnymi adresami oczekuje konkretnych rzeczy - na samym początku flasha - wartości dla SP, potem adresu (adresu! nie instrukcji!) wektora obsługi wyjątku reset itd. Zapomnij o takim prostym programiku - to tak po prostu nie zadziała. Potrzebna Ci jest tablica wektorów, potrzebny Ci jest "normalny" skrypt linkera...
:arrow: Alex2 Ale ja to juz napisalem 3 godziny temu. Za co zostalem odsadzony od czci i wiary :D powtorze zatem: skladowa styczna do pochylni jest rowna sinusowi kata miedzy skladowa normalna i wektorem sily ciezkosci ciala spoczywajacego na tejze pochylni. A ten kat jest rowny katowi pochylni przy podstawie czyli 30 stopni. I co tu jest w tym skomplikowanego...
Potrzebjesz plik hex (lub elf) zawierający bootloader. Wgrywasz go normalnie, tak jak każdy inny program. Po tej operacji warto sprawdzić fuse- i lockbity, a szczególnie fusebit określający położenie wektora RESET. HEX z bootloadere powinieneś uzyskać z firmy produkującej zestaw uruchomieniowy.
I kontynuuję temat. Na razie kod taki: Czyli coś jest nie tak z wykrywaniem kolizji nadal... A moze prosty algorytm wektorowy - mniej wiecej tak z kolizjami radza sobie nowsze gry... [syntax=c] #include <stdio.h> #include <assert.h> #include <math.h> #include <SDL/SDL.h> #include <SDL/SDL_gfxPrimitives.h> typedef struct...
Już szukałem na Google ale nic za bardzo nie mogę znaleść sensownego.Żeby było jednoznacznie na jakiś sposób pomiaru. Przede wszystkim to należy wiedzieć z jakim strumieniem magnetycznym; stacjonarnym, czy zmiennym w czasie, mamy do czynienia. W jakim środowisku magnetycznym, w jakiej przestrzeni? Przecież te trzy wielkości są ze sobą związane zależnością:...
Witam Wszystkich Na samym początku chciałbym podziękować osobom które pomogą w rozwiązaniu mojego problemu. Wrzesień już za pasem, nauka się zaczęła a wraz z nią nowe wyzwania i niestety nowe problemy, to tyle tytułem wstępu :-D Pozwolę sobie teraz przejść do opisania mojego problemu: Programuje hobbystycznie w Delphi jednak ostatnio postawiono mi...
(at)denis2k1 normalny działający interfejs Agilenta, to wydatek około 200-400zł. Szkoda zachodzi na samoróbki.
Corel Draw X6 właśnie kupiłem i nie ma 5 płyt To nie jest wersja pelna (jak np na obrazku ponizej wersja suite) - co nie znaczy ze zla czy nie legalna. Corel kazda wersje ma w kilku wydaniach. Od wersji OEM (legalna, ale bez pomocy i z ksiazka w postaci PDF - tylko programy) do wersji rozbudowanych w wydaniu od 1 CD do 5 CD. Kiedys widzialem wydanie...
Korzystasz w ogóle z przerwań? Bo jeśli tak, to musisz raczej dla przerwań zadeklarować jakiś rozmiar stosu w skrypcie linkera. Jeśli nie, to możesz olać poprawki tablicy wektorów. Zasadniczo do projektu musisz dodać jeszcze startup (startup.S + jeden wymagany nagłówek hdr_cpsr.h) i tablicę wektorów (vectors.S), zastępując nimi Twój startup. Swoją drogą,...
Nie nie rób się kaczką albo sie prześpij ahahahahahaha :D OCIE1B zamieniasz na OCIE1A OCR1B zamieniasz na OCR1A zamieniasz wektor TIMER1_COMPB_vect na TIMER1_COMPA_vect kasujesz wszędzie to TCNT1=0 bo nie ma sensu Dla Timer0, w przerwaniu, pod linijką "dot ++ ; " dopisz TCNT0 = 6; To też można na palcach policzyć: 8MHz to jest na sekundę a sekunda ma...
Nie zrozumiałeś, o co chodzi, a chodzi o ograniczenie liczby operacji kasowania. Nie wiem, jak to robi ST, ale typowo robi się to tak, że Flash przechowuje wartości elementów wektora, który może być unią "narzuconą" na strukturę. Przy każdej modyfikacji pola struktury do pamięci Flash zapisuje się indeks zmodyfikowanego elementu wektora i jego nową...
No właśnie na przerwanie USART nie mam wpływu (korzystam z gotowej biblioteki), przerwanie Timera1 wywołuja normalnie na rejestrach i w wektorze przerwań. Czy mógłbym jakoś je poprawić aby nie przerywało przerwania USART?
Nie wiem jak wygląda Twój projekt. Ja mam w pliku port.c gdzieś tam dopisane tylko 3 linijki: [syntax=c] void PendSV_Handler(void) __attribute__ ((interrupt, naked, alias("xPortPendSVHandler"))); void SysTick_Handler(void) __attribute__ ((interrupt, alias("xPortSysTickHandler"))); void SVC_Handler(void) __attribute__ ((interrupt, naked, alias("vPortSVCHandler")));...
Witam, Popełniłeś kilka błędów: - aby odblokować przerwania od przepełnienia timera 1 trzeba ustawić bit 2 a nie 5 w rejsestrze TIMSK - wektor przerwania od przepełniania timera 1 to nie 0x12 a 0x24 Dobrze jest przy pisaniu w C korzystać z funkcji dostarczanych wraz z kompilatorem "intrinsic function" takich jak __interrupt_enable, __interrupt_disable,...
Powiedz mi skąd u ciebie wektor przerwania wynosi 10 ? Czy to jakis Egzotyczny procesor czy jak ? Bo dla przerwania Timera 0 dla normalnego uK jest to inna wartość Patrz np Atmel strona http://www.atmel.com/dyn/products/tools_... C51 Timer1 in Mode 1 with Soft Gated Timer (20 KB, updated 06/04) /** * FUNCTION_PURPOSE: timer1 interrupt...
O czym zapomniałem w konfiguracji ? Zapomniałeś o tym, że AVR Studio z gałęzi 4 (AS5 nie używam) miały pewne ograniczenia w przypadku programowego symulatora. Nie wiadomo w jakiej wersji to próbujesz symulować. Ten fragment uruchomiłem w AS4.19 b716 i licznik zachowuje się normalne.
Cześć, Mam problem ze zmianą położenia tablicy wektorów przerwań na STM32F417. Potrzebuję dostępu do pierwszych 4 sektorów pamięci, więc rdzeń musi od początku szukać wektorów pod innym adresem. Odpalenie programu normalnie, a potem ręczne przesunięcie wektorów nie wchodzi w grę. Potrzebują początkowych sektorów do przechowywania nieulotnych danych...
Witam. Robię projekt w oparciu o Matlaba. potrzebuję zapisać równanie różniczkowe tak, aby można było wykorzystać funkcje ode... do rozwiązania.. sprowadziłam równanie do takiej postaci: xq2=(-WT*D*W.*(diff(xq,2,t)) + WT*U*W.*(diff(xq,t)) + WT*F)\(WT*E*W); jednak dostaję bład w formie ??? Error using ==> sym.diff at 43 Do not recognize argument number...
Witam. Piszę BootLoader na procesor ATmega32 i nie wiem dlaczego układ nie chce zaprogramować pierwszej strony pamięci Flash. W symulatorze wszystko działa. Druga strona programuje się bezproblemowo więc wykluczam możliwość pomyłki w programie. Czy ma to związek z wektorami przerwań umieszczonymi na samym początku? Trzeba je jakoś wyłączyć? Program...
Wstawiasz tak jak masz, bo liczba w Twoim napięciu to wartość maksymalna czyli długość wektora napięcia. Mierniki w programie podają wartość skuteczną, tak jak normalne mierniki.
Strzelam - startup inicjuje pamięć ustawia wektory, itd., itp.
:arrow: jankolo - eksperyment wykonany, ładuje się na YT. Co do wskazań innych osi magnetometru to nie mają one tu znaczenia. To bardzo czuły czujnik - rozdzielczość: 1µT - wykorzystywany w telefonie jest jako kompas mierzący pole Ziemi i wyliczający wektor w przestrzeni 3D. :arrow: Jarkon2 - najlepiej zrobić tak jak ja czyli nawijać od lewej do...
Więc w takim wypadku akumulatora nie ładujemy prądem stałym a zmiennym, no chyba że zamontujemy kondensator, tak wynika z twojego opisu. Nie kolego: przeważnie pulsującym, czasami stałym i nigdy zmiennym (w potocznym, normalnym znaczeniu). Czasami napięciem zmiennym nazywa się napięcie o dodatnim (lub ujemnym) wektorze i zmiennej wartości - poprawna...
Jeśli chodzi o sprzęt jeste dobry, sprawny, sam USART jak już wspominałem działa dobrze, ale normalnie bez przerwań. Odnośnie stosu i tablicy wektorów nic nie robiłem, tym zajmuje się kompilator, czy sam muszę o to zadbać?
Tylko w tym przypadku - brak 2 faz. W przypadku pracy normalnej, jeżeli obciążenie jest symetryczne w N nie płynie żaden prąd. Jeżeli fazy sa obciążone różnie (co do wartości i kata wektora prądu) to w N mogą się generować wysokie prądy.
Zła wiadomość: nie da się tego zrobić operacjami wysokiego poziomu (czyli operatorem wyciągania ze strumienia ">>"). Dobra wiadomość: nie jest to takie trudne! Musisz wczytać całą linię na raz, za pomocą funkcji getline() i wpakować ją do strnigu. Potem ten string trzeba "poszatkować" na pojedyncze wyrazy. Procedurę "szatkującą" nazywa się zwykle...
Po drodze na stosie zachowuje aktualny adres licznika programu zeby wiedzial w ktore miejsce ma wrocic po wykonaniu instrukcji reti informujacej o zakonczeniu obslugi przerwania.Dexter W procku nic się nie dzieje "po drodze" tylko po kolei. Jak układ przerwań odbięrze przerwanie, które jest aktywne to w pierwszej kolejności na stos odkładany jest licznik...
Na to wskazuje także tablica wektorów z początku pliku hex: :10 0000 00 1EC0 37C0 36C0 35C0 34C0 33C0 32C0 31C0 66 Widać najpierw wektor resetu skaczący pod adres 0x3E (0x1E * 2 + 2) a potem ciągłe skoki pod ten sam adres (0x72 - np. 0x37 * 2 + 4, 0x36 * 2 + 6 itd) - normalnie jest to __bad_interrupt, skaczący na początek (do wektora resetu). Wektor...
Jak sam napisales funkcja obslugi przerwania jest w zasadzie normalna funkcja tyle ze zakonczona instrukcja RETI. Takie makro instruuje kompilator aby adres tej funkcji wstawil w odpowiedni wektor przerwania oraz zastapil instrukcje RET instrukcja RETI.
W odpowiedzi na pytanie zdane prywatnie: Chodzi o mojego ostatniego posta z drugiej strony watku. Mianowicie czy w przypadku gdy silnik nie generuje sinusoidy po rozkreceniu ale sygnal sinusoido podobny czy dla poprawnego sterowania FOC powinienem mu podawac na wejscie taki sam ksztalt przebiegu czy moze cos innego. A moze to calkowicie niemozliwe aby...
Czegoś tutaj nie rozumiem. Mówisz, że umiesz programować a borykasz się z jakimiś podstawowymi problemami i to może nawet nie natury programistycznej a zwykłej logiki. Zastanów się, skoro podczas przepisywania programu z pamięci zewnętrznej do FALSHa procka wystąpił jakiś błąd to przecież na boga nie będzie zgadzać się suma kontrolna i boot nie powinien...
Genario , jeżeli chodzi o matlaba, to nie za wiele pomogę, bo nie używam. :( A z tym skalowaniem to chodzi o coś takiego, że nie znasz częstotliwości próbkowania, ale mimo wszystko możesz przedstawić na skali częstotliwości poszczególnych prążków, właśnie w postaci znormalizowanej. mając widmo sygnału (rzeczywistego) o N próbkach składające się z N/2+1...
jezeli dobrze zrozumialem - to pytales co bedzie jak wspolrzedne x, y, z akcelerometru ustawi sie na sztywno odpowiednio na 0,0, 1 - wówczas w rezultacie otrzymuje kwaternion nan-ów :) a powinieneś? przecież to normalna sytuacja coś leży płasko, na osi yaw czyli z u Ciebie jest tylko wektor grawitacji nie ...
Witam, mam takie pytanie do bardziej doświadczonych forumowiczów. Pisze bootloader w C na uC jak w temacie, czy możliwe jest zrobienie 2 tablic wektorów przerwań? Jednej dla bootloadera, a drugiej dla normalnie wykonującego się programu ? Pytam ponieważ chcę wykorzystać DMA+SPI w bootloaderze i później w normalnym programie. Gdzieś przeczytałem, że...
Jeśli chodzi o to że kompilator nie przyjął Ci w funkcji linijki kodu którą masz w komentarzu to normalne, bo w funkcji dodaj_punkt() zmienna "nowy" jest obiektem typu shared_ptr, a to nie jest to samo co wynik zwrócony przez funkcję "new Punkt(X, Y, czas)". Bo zmienna typu shared_ptr to wskaźnik na obiekt, który posiada dwa parametry "counter i object"...
Normalnie ARM startuje z adresu 0x0 i tam powinien być cały wektor przerwań do 0x20. Ty jednak skaczesz do aplikacji z ofsetem więc twój wektor przerwać powinien być odpowiednio przesunięty, a ARM o tym poinformowany. Jeżeli nie poradzisz to poszperam powinienem mieć przykład. [url=http://www.at91.com/forum/viewtopic...
Od zera chyba nie przejdzie. Autotransformator przypomina normalny dzielnik napięcia - regulowana przekładnia a z silnikiem masz tak, że po pierwsze musisz go hamować i pozycja wirnika ma wpływ na napięcie wyjściowe a w zasadzie na sumę wektora napięcia sieciowego (zasilającego) plus wektor napięcia wyindukowanego w wirniku. I tu możesz się spodziewać...
Albo tryb CTC i przerwania od niego albo normalny tryb pracy i przerwanie od przepełnienia. W porównaniu do ostatniej wersji zmieniłem ISR (TIMER0_OVF_vect) na ISR (TIMER0_COMP_vect) i działa. Po prostu w zestawieniu nazw wektorów przerwań z których korzystałem nie było TIMER0_COMP_vect i stąd te zamieszanie. Dzięki wielkie :) Problem rozwiązany
Jest to normalne bo przy obciążeniu symetrycznym nie ma spadku napięcia na przewodzie neutralnym. Wystarczy narysować sobie w układzie współrzędnym 3 wektory tak aby kąt między nimi wynosił 120 stopni. Następnie sobie je pododawać i zobaczyć co się dzieje. Prąd w przewodnie neutralnym będzie równy sumie tych wektorów, a spadek napięcia proporcjonalny...
Falownik wektorowy przy prędkości 0Hz będzie hamował silnik z normalnym momentem. W Twoim przypadku start stop mogłoby polegać na zmianie progów częstotliwości przed podawanie sygnałów na wejście np. 50Hz i 0Hz. Nie mniej - nie polecam takowego rozwiązania choćby z tego powodu, że jest nieuzasadnione ekonomicznie -falowniki wektorowe są drogie. Najtańszym,...
W przypadku LPC po resecie domyślnie jest włączony remap pamięci na wektory bootloadera. Po "monitor reset halt" dopisz "monitor mww adres wartosc", przy czym adres to będzie adres rejestru odpowiedzialnego za remap pamięci (MEMMAP chyba), a wartosc uzupełnij tak aby włączyć normalny "stan" pamięci - bez remapu. Możesz też poeksperymentować z innym...
A ja się zastanawiam jak w takiej "odwrotnej" wiertarce zrealizować trzymanie płytki podczas wiercenia. Przy wierceniu "normalnym" (od góry wiertło) płytka jest przez nie dociskana do stolika, a przy odwrotnym ustawieniu podnoszona. Ręczne trzymanie może powodować możliwość przesunięcia (wynika to z wektorów sił dociskających - które nie zawsze są idealnie...
Co to jest "bt_vector_read"? Zamiast 1 dodaj 4 i po problemie. Swoją droga to problemem jest cały sposób, bo można to zrobić 100x prościej i wygodniej... Stwórz sobie strukturę zawierającą dwa wskaźniki na te dwie funkcje, następnie stwórz stałą poprzez zrzutowanie adresu twoich wektorów na typ tej struktury. Albo po prostu nazwy funkcji ustaw jako...
Widzę, że zadałem trudne albo głupie pytanie. Pewnie GCC jest tak toporne, że nie podoła zadaniu. Akurat GCC nie jest tak toporne jak narzedzia komercyjne ;). Wiec: Na czym polega mój problem? Jak zmusić gcc, aby w module: - program zaczynał się od zdefiniowanego adresu Ustawiasz to w skrypcie linkera: MEMORY { CODE (rx) : ORIGIN =...
Pomysł BlueDracko żeby to bootloader przestawiał offset tablicy wektorów jest bardzo dobry (; (a przynajmniej tak jest w normalnych Cortex-M, nie wiem, jak w STM32F1, który całkiem normalny nie jest). Może Freddie jako ekspert od F1 potwierdzi albo zaprzeczy. Obecny! Tutaj nie ma co zaprzeczać, ale przy okazji jakichś tam dociekań dowiedziałem się w...
Dajemy 'reset' a program nie uruchamia się z bootloader-a i co wtedy? A nie uruchamia się ponieważ: włączony jest remap, przeniesiona tablica wektorów, zawiera 'byle co', nieustawiona 'power domain' itp. Mieszasz sprawy. Reset to reset. Skoro Twój układ uruchamia się po podaniu zasilania, to po resecie tez się uruchomi. Jeśli po resecie się nie uruchomi,...
robi się łatwo, wystarczy połączyć cewkę z rezystorem ;) Jak normalnie sformułujesz post, to potem będziesz mógł tam poszukać http://www.elektroda.pl/nauka/laboratori...
Co do kodu - w obu assembler wygeneruje praktycznie to samo. Różnica polega na tym, że w pierwszym wypadku adresy etykiet są w znanym Ci miejscu, a w drugim tam, gdzie wygodniej assemblerowi - Tobie to miejsce nie jest znane. Biorąc pod uwagę fakt, że ten element jest w sekcji .vectors, której raczej nikt normalny nie będzie używał w swoim kodzie,...
Ok, chyba zrozumiałem Twój kod, ale mam jeszcze 1 mały problem. Gdy kompiluję Twój kod, kompilator przyczepia się do operacji: bits <= bits + 1; Dokładny error brzmi następująco: "Operator "+" is not defined for such operands." W pierwszej chwili dodałem dodatkowe biblioteki. Gdy dodałem IEEE.std_logic_unsigned.all lub IEEE.std_logic_unsigned.all...
Chyba idealnym materiałem na lustra są arkusze polerowanej stali nierdzewnej. Odporne na wszystko, względnie tanie: 160zł za arkusz 2mx1m o ile dobrze pamiętam. Ktoś testował tą polerowaną stal nierdzewną? Może wystarczyłoby od czasu do czasu tylko lekko odświerzyć wyłożone czymś takim zwierciadło, które prawdopodobnie będę miał tak czy inaczej zabudowane....
BoskiDialer -> dokladnie robie tak jak piszesz, ja tylko koledze opisywalem na czym to polega. Problem jest innego typu, jak przenies wektory przerwan do BLS to wiem (3 post tak jak pisales), nie wiem tylko jak poinformowc kompilator zeby wektor od UART_RX umiescil w sekcji .bootloader bo procedurke do obslugi bootloadera pisze np tak: void BOOTLOADER_SECTION...
Po jednej stronie (Rx3i) mamy urządzenie z dedykowanym systemem operacyjnym czasu rzeczywistego, w którym synchronizację zapewniają osobne światłowodowe moduły komunikacyjne z przepływnością >2Gbps. Producent wspomina o dwukrotnej synchronizacji całego wektora stanu w każdym cyklu PLC. Po drugiej, urządzenie pracujące pod Windows CE, z VGA, Ethernetem...
Tzn, że program może działać dalej poprawnie a debuger wskazuje na to, że jesteśmy w np HardFaultHandlerze ? Mógłbyś nieco rozwinąć myśl ? Czasem może być jakiś problem sprzętowy/programowy/systemowy, który może spowodować wywalenie się debuggera, który będzie np. uparcie twierdził, że jesteśmy wciąż w jakiejś linii, choć mikrokontroler sobie wtedy...
Czy bez falownika (silnik wpięty bezpośrednio do sieci) też jesteś w stanie zatrzymać? Jeśli tak to silnik do wymiany. Jeśli z podłączonym falownikiem zatrzymuje się przy niskich prędkościach, to objaw normalny dla falownika skalarnego (sterowanie U/f=const). Do tokarek stosuje się falowniki wektorowe, które utrzymują stały moment obrotowy.
Kod w asemblerze można normalnie kompilować w BASCOMie. Trzeba tylko będzie „EQU” pozamieniać na Alias, Labelom podopisywać wykrzykniki na początku i jeszcze wektory przerwań inaczej zadeklarować. Ale może się okazać że kod nie zmieścić się do procesora bo BASCOM dorzuca swoje kilkadziesiąt bajtów do kodu. No i zostaje jeszcze ta część w...
1. Kod, tak jak pokazałeś, to proste/czyste C nie C++, więc właściwie powinieneś się dookreślić... 2. Jeżeli C - przekazywanie tablic do funkcji odbywa się przez wskaźnik i funkcja operuje bezpośrednio na przekazanej tablicy, a nie na jej kopii - nie ma zatem potrzeby (i możliwości) jej zwracania. Tym bardziej funkcja typu int nie może zwrócić wyniku...
Witam, kolego Ch.M. też obejrzałem twój program tak jak Dar.El. Ja również pierwsze co powiem to potwierdzę to co mówi przedmówca - GDZIE MASZ INICJALIZACJĘ STOSU???? ;) .... GDZIE WEKTORY PRZERWAŃ??? ...ok nawet jeśli w twoim programie nie ma ani jednej instrukcji "rcall" która potrzebowałaby użyć stosu to jednak rozpoczęcie programu w każdym normalnym...
No coż, zajrzyjmy do dokumentacji. W papierach od LPC2129: UM10114 LPC21xx and LPC22xx User manual Rev. 03 — 2 April 2008 na str. 22 mamy opisaną pamięć, tablicę wektorów i jej mapowanie. W papierach od LPC1343 (Cortex M3) UM10375 LPC1311/13/42/43 User manual Rev. 2 — 7 July 2010 na str. 53 mamy coś takiego jak: 47 0xBC USB IRQ interrupt...
Rzeczywiście... Maksymalna prędkość w tym przypadku to 125kb... i całość nie ma sensu. 250kb będę miał w trybie przy kwarcu 16MHz, trybie 2 i SMOD = 0 I tak mi się timer zwolnił. Tak apropos tych priorytetów. Jak to się ustawia?. Czy można „je” przestawiać tylko o jeden stopień czy można też priorytet od przerwania portu przesunąć na 1-sze...
Ja mam zestaw z STM32F0 wygrany w konkursie organizowanym przez kamami. Wcześniej programowałem już ARM'y ATMELa. W przykładzie jak powyżej wykorzystywany jest System timer tick. U atmela normalnie ustawiałem zezwolenie na przerwania od SysTick, a tutaj tego nie widzę. W RM od tego procesora µC w tabeli wektorów przerwań nie widzę, żeby SysTick...
Chce zaimplementować emulację EEPROMu za pomocą FLASHa w mikrokontrolerze STM32F429. Te mikrokontrolery mają taki podział sektorów: https://obrazki.elektroda.pl/6074785200_... (tabelka jest z F41x, ale dla F42x i F43x jest tak samo). No i jak widać używanie ostatnich sektorów jest niewygodne, bo są one bardzo duże. Trzeba użyć któregoś...
Kurcza. Jak zobaczyłem że Freddie Chopin odpowiedział to już się szykowałem na niezłe lanie ;) Ale widzę że są ładne odpowiedzi. No to tak: Pisz_32x32_transparent_ram - nie wiem o co chodzi. Gdy nie ma atrybutu to wszystko jest ok. Gdy go dodam to już lipa. Owszem, atrybut dodaję tylko w prototypie funkcji. Ale to chyba nie podów żeby wywala takiego...
W kodzie użyj normalnych dyrektyw org ustawiających adresy. Co rozumiesz przez "normalne"? Przecież te dyrektywy tam występują. W pliku w linii 444, mam ustawiony początek kodu: Sprawdź też, czy plik sterujący knsolidatora ma zadeklarowane odpowiednie obszary pamięci. Jak to zrobić? Który to plik? ;) Wygeneruj Intel HEX i obejrzyj, czy jest dobry -...
Chciałbym ulepszyć pewien produkt zbudowany w oparciu od STM32F101. Udało się zrzucić pamięć FLASH procesora, nie był zablokowany. Zawartość pamięci wygląda na poprawną, widać napisy wyświetlacza, można wyodrębnić funkcje. Mam problem ze zrozumieniem wektora startu. Obszar pamięci FLASH zaczyna się następująco: 0x08000000: 0x20000400 0x08000004: 0x080586F5...
Kolega R-MIK ma racje. Natomiast ja się zdziwiłem. Zazwyczaj nie czytałem/nie zapisywałem flagi związanej z przerwaniem tylko pisałem obsługę przerwania gdzie flaga sama była kasowana. Jako "Appendix" chciałbym przypomnieć, bo może kiedyś kolega użyje Xmegi serii E, że tam wejście w procedurę obsługi przerwania nie kasuje flagi "sprzętowo" czyli samym...
Przerwanie napisałem w taki sposób, bo zawsze w głowie mi siedziało, że musi ono być jak najkrótsze, a że potrzebuje sygnalizacji o wykryciu przerwania to mi czas w wektorze przerwań się znacznie wydłuża do ponad 1s. Dlatego też skacze sobie z przerwania do funkcji alarmującej a stamtąd do menu() w którym jest wyświetlana godzina. Po drodze dlatego...
Sprawdziłem w godbolcie, opkod się zgadza. Może to kwestia endianess? Zapisz bajty do pamięci w odwrotnej kolejności i sprawdź. Próbowałem różnych adresów oraz wprowadzania instrukcji beq w Big Endian i Little Endian. Zawsze jest wyjątek. Zauważ, że eCos był ładowany od 0x80000180. Może znajduje się tam tabela wektorów przerwań, inicjalizacja wskaźnika...
Normalnie Pozorną A od kiedy moc pozorną liczymy z iloczynu wektorowego prądu i napięcia? Od zawsze - tylko nie koniecznie jest to takie oczywiste. Generalnie większość zna postać zespoloną używaną w liczeniu układów prądu. I tu chyba nie masz obiekcji że moc w postaci liczb zespolonych to P = U * I I teraz rozpisując liczby zespolone na płaszczyznę...
tplewa: Zobacz, jak długi jest kod wygenerowany przez kompilator dla typowych, prostych operacji w C, np. dodawanie liczb 16-bitowych, sumowanie wektora takich liczb itp.. AVR jest przyjazny dla kompilatora (chociaż kompilator niekoniecznie w to wierzy), 51 i PIC (8-bitowy) to nie są architektury, na które daje się normalnie generować kod z języka wysokiego...
Jak to kaleczy biednym C :/ Wszędzie if..if..if... Zrób coś takiego jak maszyna stanów, w sposób normalny: jedno czy tam dwu-procesorowa na case i type dla czytelności. Szukaj pod hasłem FSM . A ten DBx, zrób formie wektora, kto to będzie później mapował te porty ? I po co raz IN, a później INOUT ? Skasuj i zajrzyj tutaj: [url=http://www.elektroda.pl/rtvforum/to...
Po pierwsze znaczniki SYNTAX do kodu Po drugie wcięcia Po trzecie, normalne, mówiące nazwy do sygnałów, procesów etc... Po czwarte, jaki to błąd, jaki syntezer, i tak dalej, brak szczegółów... Po piąte, jeśli chcesz wykonywać też mnożenie, to wynik musi być zapisane na co najmniej sumy długości wektora A oraz B. Do reszty operacji użyj sklejania wektorów,...
No więc tak wektory przerwań ok, lvd włączony ale znalazłem byka i teraz na kolanach przepraszam panów z ST :D Walnąłem się w jednym miejscu - w konfiguracji portu. Otóż wpisałem: ._reset ld A,$FF ld PBDDR,A ld PBDR,A ld PBOR,A Na pierwszy rzut oka niby ok gdyby nie brak # przed $FF :!: Głupia literówka a jaki ciekawy objaw. Program działał ok tylko...
Rozumiem ze programujesz za pomocą SAM-BA. Na pewno po kompilacji otrzymujesz plik bin, a nie przypadkiem hex?? Zauwazylem ponadto ze w tym przykladzie z tej strony ktora podales sa biblioteki dla SAM7S64,a ty uzywasz SAM7S256. W zasadzie nie ma prawie zadnych roznic poza tymi bibliotekami, ale moze to jakas przyczyna. W opcjach kompilacji wybrales...
....Blad jest taki iz neonówka w chwili zamykania obwodu nie moze rozblysnac, a to ze rozblyskiwala to efekt blednie przeprowadzonego eksperymentu, musialo nastepowac rozlaczenie obwodu, ciekawe ze nikt tego nie poprawil i drukowano to na cala Polske, ... A dlaczego blad? ... W momencie zalaczenia zródlo "widzi" tylko rezystancje cewki dlatego stosunek...
Ogółem są to dwa magnesy płaskie, między którymi jest magnetyczne pole jednorodne (teoretycznie). Po bokach zaś są dwie elektrody węglowe (wydłubane z baterii AA niealkalicznych). Jak podłączyć prąd do elektrod, to jony w wodzie zaczynają wędrować do tych elektrod (kationy do -, a aniony do +). Pole magnetyczne zakrzywia trajektorie 'lotu' jonów (odchyla...
Jest to sytuacja bardzo częsta. Nalezy tu rozróżnić dwa stany procesora: - stan gdzy aktywny jest sygnał resetu - i stan normalnej pracy Nie są to dwa identyczne stany. Bardzo często jest tak że w procku albo są dwa układy (jeden normalny rdzeń i rejestry) a drugi to domontowany automat do programowania. ISP to tylko transmisja synchroniczna (zegar+dane)...
Cóż, silniki spalinowe o sprawności 50+% są faktem, choć to dopiero sfera badań laboratoryjnych. Mamy głowice z zaworami, które nie są sterowane przez wałek a przez komputer. Diesle zasilane LPG, gdzie uzyskuje się ekwiwalent 1L LPG = 1L oleju napędowego. Silniki spalinowe mają jeszcze bardzo dużo do powiedzenia. Do tego ciepło odpadowe ma w sporej...
Czyżby? Czy dla AVR ktokolwiek przejmuje się skryptami linkera, startupem, tablicą wektorów i Makefilem? Przecież dla tej platformy jest DOKŁADNIE TAK SAMO jak dla ARM, a jakoś nikomu nawet na myśl nie przyjdzie zajmować się tymi plikami - każdy korzysta z gotowców zawartych w pakiecie avr-gcc. Te pliki tam fizycznie są, nikt nie zajmuje się tym jak...
Stan procesora sprawdzam podglądając pin procesora (cyklicznie zmieniany), po zawieszeniu wszystkie piny przechodzą w stan HiZ. Czyli chyba normalny stan pinów po resecie. Przypominam że ze stanu zawieszenia/zatrzaśnięcia nie da się wyprowadzić procesora za pomocą zewnętrznego resetu ( zwarcie wejścia reset do masy) .... Nie da się wyprowadzić z tego...
Mam dwa pytania odnośnie układu 8259A: 1. W książce "Anatomia PC" Piotra Metzgera jest następujący opis wejścia ~CS(Chip Select) - "wejście umożliwiające procesorowi wprowadzenie układu w tryb programowania" - co to właściwie oznacza? 2. Rozkaz OCW4 przy programowaniu uładu 8259A ma układ 7 - bitowy: bit7 bit6 biy5 bit4 bit3 bit2 bit1 bit0 i tak bit...
Nalegałbym na FIQ. Trzeba sobie uświadomić jak działają przerwania. Przychodzi przerwanie jak ARM jest w normalnym trybie, dostaje sygnał na linii IRQ, przerywa wykonanie programu i skacze pod wektor przerwań, tam ma skok do obsługi przerwań. Fajnie, tylko pierwszą rzeczą jaką robi ARM w chwili otrzymania przerwania to je wyłącza! Tak, że wykonując...
Udało mi się odpalić symulację (co oznacza, że udało mi sie przywrócić Atmel Studio do życia, Eclipse powoli mnie dobijał, nie znalazłem rozwiązań problemu z Atmelem nigdzie na necie, więc jakby co, mogę pokrótce opisać rozwiązanie ;) ) Do rzeczy: Z symulacji przeprowadzonej na ostatnim zamieszczonym w temacie kodzie wynika że: 1. Symulacja zatrzymuje...
Kupiles uszkodzony dysk? Gdzie tu logika? Komputer jest stary i obciazenie bedzie raczej normalne, nie wazne co uruchomisz. Jezeli obciazaja akutalnie uruchomione programy to nic na to nie poradzisz. Zamiesc screen calego okna z CrystalDiskInfo Portale oraz Process Explorer. Nie zaszkodza tez logi z FRST, ze skanowania (zamiesc addition oraz frst.txt...
napięcie nie może być zerowe, bo wirnik się obraca. Przy hamowaniu prąd jest o wiele większy niz np. przy rozruchu. Dlatego wydaje mi sie ze napięcie jest większe, choc od strony wektorów wydaje się to być przeciwne Proszę spojrzeć na wzór: E2=4,44* k2* Z2 *f2 *Φm = s*E2 2-indeks (strona wirnika) E- napiecie wirnika k-wspołczynnik wirnika Z liczba...
Odnośnie czujników to tak jak pisali przedmówcy żyroskop jest najrozsądniejszy do zapewnienia krótkookresowej stabilności ruchu we wszystkich osiach. Niestety żyroskop ma dryft, który w dłuższym czasie będzie zakrzywiał trajektorię ruchu. Dryft kasuje się filtrami łączącymi dane z dwu różnych czujników (filtry komplementarne, filtr Kalmana itp). W osiach...
W sumie nie ma tu nic szczególnego w tym przerwaniu, poza nieco nieoptymalnym kodem (Mój był lepszy :D ): IntN1: inr2, SREG pushzl pushzh pushr24 pushr25 sbisPIND, 3 rjmpL0003 L0004: ldszl, poz ldszh, poz+1 sbiwzl, 0x01 stspoz, zl stspoz+1, zh ldsr24, poz ldsr25, poz+1 ldizl, byte1(0) ldizh, byte2(0) cpr24, zl cpcr25, zh breqPC+0x02...
https://obrazki.elektroda.pl/4143333300_... Witajcie moi drodzy. Zaprezentuję tutaj prosty sposób na dopasowanie do siebie dwóch dowolnych obiektów 3D, przykładowo zaimportowanych z formatu STL. Dopasowanie odbywać się będzie automatycznie i pozwoli wydrukować nam elementy które można ze sobą skleić i/lub zamontować na ścisk. Dopasowanie...
długość wektor wektor przerwać wektor przerwań
lexmark reset daewoo ustawienia serwisowe komora rezonansowa
Komunikat "Podłącz do komputera" na Samsung WB600 Samsung WB600 - Komunikat "Podłącz komputer" po podłączeniu USB