mov DPTR, .Tablica_instrukcji mov A,{instrukcja} jmp (at)A+DPTR Pomijając fakt, że nie mam pewności czy ten kawałek kodu jest poprawny to mam problem ze zbudowaniem tablicy adresów. Pomysł jest dobry, ale wykonanie złe ;), albo zrobisz pomnożysz A przez 2 albo 3 i pod adresem tablica instrukcji zrobisz serie skoków (bliski ma 2 bajty, daleki...
Masz odczyt i zapis napędów przy użyciu funkcji SFC14 DPRD_DAT i SFC15 DPWR_DAT. Obsługa w bloku FB60, którego wywołania są w FC63. W net.1 tego FC masz wpisane adresy IO do odpowiadającej bazy instance. Dla Twojego przykładu napęd 27 obsługuje baza DB70. W tym przypadku Cross reference niestety nie zadziała.
Pomyliłem się, tablica jet pod adresem 0x480. Przesunąłem bity w niewłaściwą stronę. Taka sekwencja będzie prawidłowa: [syntax=C] LDI ZH,HIGH(C64_Ins<<1) LDI ZL,LOW(C64_Ins<<1) LSL R16 ADD ZL,R16 ADIW ZL, #0 ;korekta dla ZH [/syntax]
Zadeklaruj nową sekcję i w niej umieść tablicę.
A tablicy z kolejnymi cyframi nie możesz zrobić? Potem bierzesz adres pierwszego elementu tablicy (adres tablicy) i dodajesz cyfrę. Edit: Kurcze, znowu za późno ;)
Wielkość tablicy adres musi być znana w momencie kompilacji, lepiej i prościej użyć do tego std::string.
Sprawdź, cza nazwa Twojej procedury obsługi przerwania jest taka sama, jak w tablicy adresów przerwań w pliku startup. Wyrzuć zbędne wywołanie SetPriority.
Tutaj możesz się spotkać z opinią że do zapalenia LED można przecież użyć RPI :D [syntax=vbnet]Dim Tablica(32) As Byte At &HF0[/syntax]
pierwszym (lub drugim nieparzystym) bajcie konkretnej sekcji? Funnkca jest pod adresem parzystym ale w tablicy adres do skoku będzie nieparzysty. A odpowiadając zależy co tam w tej sekcji w pliku linkera napiszesz. Jak będzie wyrównana i nie będzie w niej żadnych operacji przesuwających aktualny wskaźnik to tak.
Te siedem adresów, to adresy kolejnych komórek tablicy - wskaźniki zajmują po 8 bajtów, więc każdy jest o 8 większy. Adresy ciągów tekstowych możesz wyświetlić tak: [syntax=c] for(int i = 0; i < 7; i++) { cout << (void *)(titles[i]) << endl; } [/syntax]
tablica jest wskaźnikiem na tablicę, więc powinieneś użyć operatora dereferencji (jak w przykładzie, który wstawiłem). [syntax=c]bufspc[i] = bufspc[i] * *tablica[j][1] / 100.0;[/syntax]
Poszukaj sobie tablicy adresów do motki i zapisuj po kolei, chociaż na pewno (?) jest jakiś integrator, ale ja nie znam. Konwerter nic ci tu nie da, bo co nim zrobisz? Skonwertujesz po kolei i znowu będziesz miał 5 plików. Tyle, że .bin.
Cześć Jeżeli faktycznie to w tym jest problem to powinno być wystarczające definiowanie w takiej postaci const BYTE USB_ConfigDescriptor[] __attribute__ ((aligned (4))) = { //tu pełno danych } ; W nawiasie podajesz do jakiej granicy chcesz dopasować położenie danych w pamięci 4, 8 , 16 itd. bajtów pozdro
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...
Ok. Przeszukaj pliki w swoim projekcie po nazwie "SysTick_Handler". Znajdziesz tą nazwę w pliku asemblerowym (lub w pliku *.c) w tablicy wektorów przerwań. Ta tablica zawiera między innymi adres funkcji o nazwie SysTick_Handler. Linker umieszcza tablicę pod odpowiednim adresie w pamięci (zgodnie z datasheet procesora).
Żeby obliczyć długość tablicy, umieść jedną etykietę przed tablicą, drugą po tablicy, różnica adresów pomiędzy tymi etykietami to długość tablicy. Żadna funkcja jak widzisz nie jest potrzebna, wszystko wyliczane jest na etapie asemblacji kodu.
No to nie wiem co Ci powiedzieć, bez kodu, ta zmienna ma w ogóle być przez jakieś funkcje modyfikowana czy powinna być nie ruszana podczas działania programu? Ja bym stawiał, że w jakiejś funkcji coś źle z jakimś pointerem robisz (przekroczony zakres) i on Ci pisze po tej tablicy przez przypadek. Same z siebie wskaźniki do funckji to jedynie Ci tyle...
Tablice ARP? Hmm nie mam pojęcia co to jest Już kolego wyżej opisał, że router nadaje urządzeniom adres IP poprzez protokół DHCP. Tablica, w której do adresu fizycznego MAC przypisuje się adres nazwijmy to "wirtualny" zwie się tablicą ARP.
Witam, próbowałeś podzielić odczyt na dwie części, zamiast upychać w jednej linii? Wyciągnij adres elementu z tablicy (&(arrays[iterator])) i odczytane 2 bajty (pgm_read_word()) potraktuj jako adres docelowej tablicy z uint8_t, z którego odczytasz jeden bajt. Pozdrawiam
Ogólnie to jasne, że wiadomo kiedy można sobie pozwolić na usunięcie volatile, jednak zastanawiam się w takim przypadku tablicy adresów portów, hmm. W końcu ten adres nie może się zmienić tylko wartość na porcie. Mogę zadeklarować tablicę typu volatile uint8_t * ale jaki to ma sens? Przecież ta tablica ma specyfikator PROGMEM, więc same adresy nie są...
Jeśli znasz rozmiar tablicy robisz coś takiego: [syntax=c]float (*ptr)[x][y] = (float (*)[x][y]) addr;[/syntax] I potem używasz: [syntax=c]float f = (*ptr)[x][y];[/syntax]
Niestety nie załatwi, co wynika z pewnych założeń języka. Tablice są elementami przekazywanymi przez wskazanie, musi więc istnieć możliwość pobrania adresu elementu tablicy. A jak wiesz, nie da się pobrać adresu pola bitowego... no i mamy klops.
W Twoim działającym przykładzie do rejestru wpisujesz adres tablicy ("&" może być albo może go też nie być - również zadziała wg mnie), natomiast w przykładzie niedziałającym najpierw do funkcji podajesz adres tej tablicy, a potem jeszcze raz wyciągasz adres tego adresu - żeby zaspokoić Twoje potrzeby kompilator zmienną tab umieszcza gdzieś na stosie...
Z tego swojego kodu usuwasz "Odczyt numerów ID czujników temperatury" A w to miejsce wpisujesz odczytane adresy do tablicy z adresem danego czujnika. np. tak będzie to wyglądało dla pierwszego czujnika: Dsid1(1)=&H28 Dsid1(2)=&H65 Dsid1(3)=&HC3 Dsid1(4)=&H89 Dsid1(5)=&H05 Dsid1(6)=&H00 Dsid1(7)=&H00 Dsid1(8)=&H25
Tam gdzie przedłużasz sieć w stronę jednego kompa wystarczy HUB, tam gdzie robisz przedłużenie do kilku kompów SWITCH. Hub nie jest konieczny bo tak jak switch ma kilka portów, a nam chodzi o wzmocnienie sygnału dla jednego komputera. Switch pracuje w warstwie drugiej i to gdzie kierowane są dane zależy od tablicy adresów MAC switcha natomiast Hub...
Z przykazań C: 1. Nazwa tablicy jest adresem do jej pierwszego elementu 2. Tablica znaków, to tablica znaków, a string to wskaźnik do pierwszego znaku w ciągu znaków zakończonego znakiem '\0' dlatego proponuję tablicę wskaników do znaku, gdzie każdy z tych wskaźników inicjalizujemy wartością NULL, a string przypisujemy dynamicznie z kopca char *tablica[34][22]...
bo to nie jest to samo. "sol" zapisane jest we flash i następnie kopiowane do ram w trakcie procedur starutupu. To drugie daje ci adres tego literału. Jest prawdopodobne że kompilator zauważy że te dwa literały są identyczne i zoptymalizuje je do jednego, ale może też tak być że będą one zapisane 2 razy.
No ale jak zrobisz takie przyporządkowanie o jakim piszesz (bez podziału) to funkcja Reset_Handler ma adres w RAM, więc w tablicy wektorów będzie adres w RAM. Oczywiście zanim ten Reset_Handler się uruchomi, to w RAM nic nie ma - tak więc to nie ma prawa działać... 4\/3!!
Optymalna maska dla sieci łączacej te dwa routery - 255.255.255.252
jeśli a zadeklarowane jest jako tablica: char a[128]; to adresem danych w tej tablicy jest: - a - &a[0] &a to ... w sumie nie wiadomo co [; 4\/3!!
unsigned char (*tablica) Źle używasz wskaźnika, ot co jest nie tak. Zauważ, że wskaźnik jak nazwa zobowiązuje wskazuje adres pierwszego elementu tablicy cyfry. Inkrementując wskaźnik przesuwasz się po kolejnych adresach, kolejnych elementach tej tablicy. (at)excray, ekspertem nie jestem, ale sama nazwa tablicy jest wskaźnikiem iirc więc jednakowy jest...
Nie wiem co tu do rozumienia, switch ma tablicę przypisań MAC - port switcha i na podstawie tej informacji kieruje konkretne ramki do konkretnego portu. Jeśli adresu docelowego nie ma w tablicy, pakiet kierowany jest do wszystkich portów poza wejściowym, jeśli źródłowego - adres MAC zostaje zapamiętany. Tablica ARP w ogóle nie ma nic do tego, komputer...
Trzeba stworzyć w skrypcie linkera sekcję pod konkretnym adresem i w tej sekcji umieścić tablicę. 4\/3!!
a jeżeli nie to to proszę jeszcze spojrzeć czy to jest prawidłowy schemat http://zsk.tech.us.edu.pl/dydaktyka/labo... Schemat wygląda na dobry, równania opisujące poszczególne wyjścia są na bank prawidłowe.
Ta funkcja nie realizuje mrugania diody. Realizuje odczyt stanu. Jak większość poprawinie napisanych funkcji ze słówkiem Get w nazwie. Natomiast sposób wywołania funkcji z tymi konwersjami to masakra o pomstę do nieba wołająca. Jeśli to wszystko działa to prawdopodobnie przez przypadek. I jeszcze uwaga do ... trzeciej pozycji tablicy request ... adresem...
W R&G najczęściej padają układy DS485, lubi paść procesor od tak sobie mowa o SAK C509 I możliwa awaria NAND FLASH trzeba programować po RS485, specjalnym programem do konfiguracji. Dla flip dot ETKO jest inny, dla ELLZ inny program. Ale zawsze jest NAND FASCH to w niej jest informacja o rozmiarze tablicy oraz protokół transmisji i adres tablicy.
ad.1 Aby zrozumieć co się dzieje w tej linijce musisz dowiedzieć się co to są wskaźniki i rzutowanie typów. Jeżeli restart to tablica, to: [syntax=c]x=restart[0];[/syntax] przepisze pierwszy element z tablicy do zmiennej x. Nazwa tablicy to jednocześnie wskaźnik (adres w pamięci) do tej tablicy. I na przykład: [syntax=c]x=restart[1];[/syntax] zadziała...
W uip też ten ból występuje, a problemem jest przekazanie gotowej ramki IP do ARP, ARP nie mając adresu IP w swojej tablicy rozpoczyna procedurę pozyskania adresu MAC, a ramkę z IP odrzuca. Może w tym jest problem. Jeśli chcesz to wykluczyć, przed wysłaniem ramki do komputera wyślij cokolwiek do STM32, żeby ten zarejestrował adres IP i MAC w swojej...
komendy mozna zastapic tokenami, ktore sa indeksami do tablicy zawierajacej adres funkcji realizujacej dana komende. Czyli pobierasz token (np. 8-bitowy, jesli komend jest mniej niz 256), odczytujesz adres funkcji z tablicy pod tym indeksem i ja wywolujesz. Dzieki temu nic nie musisz sprawdzac, a kazda komenda jest wykonywana z takim samym opoznieniem....
Bez ampersanda. Nazwa tablicy już jest jej adresem (w zasadzie adresem jej pierwszego elementu): wsk_rejestr = rejestr;
W plikach ".cpp" extern "C" [syntax=c]extern "C" void SysTick_Handler(void) { GPIOA->MODER = 0; }[/syntax]
dnat: (internet) ==== (publiczn-ip router ) ==== (server www wew-ip) Połaczenie do http://publiczny-ip:80/, czyli pakiet ip z dstip=publiczny-ip port = 80 jest modifikowany w routerze na dstip=wew-ip port=80 np publiczny-ip=9.1.2.8 wew-ip=192.168.1.222
Wiesz, tak naprawdę on nie ma pojęcia czy to tablica czy co. Po prostu dostaje adres i pisze po kolei zaczynając od niego po kolejne komórki aż do napotkania \0. Jeśli byś dał mu losowy zakres z pamięci, to po prostu jej zawartość zobaczysz od danego miejsca aż do pierwszego \0. Jeszcze inaczej - jak zrobisz 5 zmiennych i wskażesz na pierwszą, która...
Dzień dobry Mam mały problem ze zmianą kolejności adresów czujników DS18B20. Mam tablicę uint8_t z adresami czujników. Każdy adres zajmuje 8 pozycji tablicy. Napisałem menu ustawień z możliwością zamieniania kolejności. W menu po wejściu w wybrany czujnik mogę przypisać mu adres ze "świeżo" przeskanowanej magistrali. Problem w tym, że o ile po zapisie...
No i już staje sie jasne. Przekazujesz adres zmiennej buffer ( (at)buffer ), co powoduje wskazanie wskaźnika do tablicy, nie zaś samej tablicy! Obowiązkowo masz przekazać adres pierwszego miejsca w tablicy ( (at)buffer ). Wciąż nie zmieniłeś na właściwe typów unsigned long -> longword ?
Co do pierwszych dwóch uwag - zgadzam się, dodałem konkretne cytaty w odpowiednie miejsca. Co do ostatniej, tak, wyjaśniam już, że zwykle jest to początek pamięci flash, jednak w specyficznych przypadkach (konkretnie przy ustawieniu bitu IVSEL w rejestrze MCUCR w procesorach, w których ten bit jest dostępny) przenosi początek tej tablicy pod adres w...
A masz ustawione na interfejsie z dhcp arp w trybie reply-only? Komputer z ustawionym adresem na stałe nie powinien znaleźć się w tablicy arp routera. Musisz go usunąć zanim przeprowadzisz test. Tym sposobem tylko urządzenia pobierające adres z dhcp znajdują się w tablicy arp.
Jeszcze jeden błąd zrobiłeś, w scanf. Pamiętaj, że nazwa tablicy jest adresem na pierwszy element. [syntax=c]#include <stdio.h> #include <stdlib.h> int main() { int A; char b[1000]; printf("A: "); scanf("%999s", b); // wczyta tylko 999 znaków żeby nie wyjść poza tablicę (tysięczny - ostatni - znak to NULL) A = atoi(b); printf("[%d]\n", A);...
Tablice deklarujesz sobie np tak Tablica1: .Db 100, 200, 34, 23, 12, 45, 23, 56, 43, 28, 96, 23, 34, 12, .... aby pobrać element z tablicy używasz komend lpm oraz rejestru Z czyli np: ldi ZL, low(Tablica1<<1) // załaduj do rejestru Z ldi Zh, high(Tablica2<<1) // adres tablicy , element 1 lpm R18, Z // załaduj do R18 element znajdujący się...
VOID_INT_FP myptr = &foo A niby czemu? Przecież foo to nazwa funkcji i użycie samej nazwy to pobranie adresu funkcji. To samo dotyczy np. tablic.
Nie bardzo rozumiem co konkretnie chcesz uzyskać i skąd ta dbałość o tablicę w SRAM ?!? Czyżby chodziło o proces szybkiego przeliczania? C jest chyba po to żeby pisać kod sprzętowo niezależny ?? Natomiast do nawigacji w pamięci warto posługiwać się wskaźnikami tzn. danymi zawierającymi adres wierzchołka tablicy etc. oraz przesunięciem względnym. Co...
Zadeklaruj "dane" jako "int*" i możesz mu przypisać adres dowolnej innej tablicy, podmianka to tylko przypisanie nazwy innej tablicy.
Witam, widzę, że nauka poszła w las :roll: Możesz stworzyć wskaźnik który będzie wskazywał na ową tablicę, gdy zajdzie potrzeba, możesz zmienić adres wskaźnika, tak aby wskazywał na tą drugą tablicę. Pozdrawiam, GSM
Będzie działaj jak HUB gdy przepełni się jego tablica adresów MAC.
Nie. Dodawanie do ZH jest potrzebne, gdy górny bajt adresu jest inny w pierwszej a inny w ostatniej komórce tabeli.. jeśli tablica ma 2 elementy o adresach 0x8FF oraz 0x900, to bez tego dodawania uzyskasz adresy 0x8FF i 0x800 (brak dodania przeniesienia).
Owszem, można do wskaźników w C przypisywać arbitralne wartości: const unsigned char tablica = { 0x86, 0x88, 0x90 }; int i = 2; *((char *) tablica[i]) = 10; /* przypisanie wartości 10 pod adres z i-tego elementu tablicy */ char *ptr = (char *) tablica[1];
Ładny program tylko, po co? do tego służą bloczki FC85 FIFO i FC87 LIFO, do tego FC 84 ATT ( i oczywiście FC 86 jak ktoś potrzebuje ). Zresztą program jest napisany na 300 i jest nieprzydatny bo kolega ma program na 1200 ze starą wersją poniżej V2.0 ( do tego pracuje na 10.5 gdzie jest tylko LAD i FDB a sterownik nie przewiduje adresowania pośredniego...
Czyli w tych routerach tylko to byś wpisał i by działało ? Spotkałem się właśnie z tym, że się tak stosuje, ale nie do końca rozumiem jak to działa, ponieważ jak przeglądałem tablice routingu dynamicznego, to zawsze nawet te routery, które są podłączone tylko z jednym inny to tak samo miały opisane połączenia jak każdy inny w sieci. Na przykład dla...
No chyba jest przyczyna : zmienna scrnhd jest w istocie tablicą 16 bajtową i należało adres następnej zmiennej podwyższyć o 10h.
Definiujesz tablicę 20 stringów (cout wyświetla początkowy adres tej tablicy)... to jest kompletnie źle. Nie wiesz jakie pola może przechowywać klasa string ani w jakiej kolejności - nie możesz całego obiektu (a raczej tablicy) tak po prostu nadpisać. Zrób tak jak wyżej i będzie ok (zamień na tablicę znaków). Jeśli chcesz skorzystać z dobrodziejstw...
Ta funkcja nic nie zmieni, bo parametry przekazujesz przez wartość. Jeśli chodzi o podmianę dla tablicy rekordów, to zasadniczo się tego nie zrobi. Jeśli tablica klas, to można podmieniać elementy w taki sposób (ale elementy, nie całą tablicę!). Jeśli chcesz całą tablicę podmienić - zrób z niej tablicę dynamiczną lub operuj na wskaźnikach do niej. type...
Proponuje użycie tablicy (jej adresu): int wynik[2]; int *funkcja(int par1, int par2, int par3,int par4,int par5) { // jakieś tam obliczenia na przesłanych danych wynik[0]=2; wynik[1]=11; return wynik; } Otrzymanie wyniki można wyświetlić: int *wsk; wsk=funkcja(1,1,1,1,1); cout <<*wsk<<endl<<*(ws...
wszystko jest niby w tej samej sieci ale i tak dlna nie dziala ani apki typu piloty na smartfony. Macie jakis pomysł? Wpływ może mieć maskowanie adresów fizycznych przez APclienta, nie jest do końca przezroczysty. Sprawdź w tablicy ARP jaki masz adres mac pod adres-em IP telewizora lub komputera podłączonego pod tp-linka.
Całość - to deklaracja i definicja tablicy adresów obsługi wyjątków w Cortex-M. Tablica ta zawiera adresy procedur obsługi wyjątków, ale jej pierwszy element nie jest adresem procedury, tylko inicjalną wartością wskaźnika stosu, ładowaną przy starcie procesora. kawałki, o które pytasz, to: Pierwsze - deklaracja tablicy wskaźników na funkcje, czyli adresów...
#STX7E09Kier#CR000#CR1A#ETX Jak tak przyjrzeć się temu protokołowi to powiem szczerze, że ręce opadają. Znałem człowieka który MODBUS konwertował na tekst, robił operacje na tekście i dopiero z tekstu wyciągał dane i wpisywał je do zmiennych. Podejście wysokopoziomowych artystów jest dzisiaj wysoce abstrakcyjne. Co mnie w tym protokole zastanawia to...
A wskaźnika tego to nie traktuję jako adres pierwszego elementu tablicy ?
Oki to zacznę po kawałku od początku... 1) Tworzę sobie tablicę ruchy, która ma być odpowiednikiem planszy do gry... public static int[][] ruchy = new int[15][]; 2) Do tej tablicy tworzę drugą która jedynie przechowuje indeksy do listy - tablica indeksów wypełniona jest kolejnymi liczbami od 0 do 224... public static...
W przypadku tablic niejawny wskaźnik jak i adres samej zmiennej to jedno i to samo. To po prostu nie jest przechowywane w innym miejscu. Inaczej by się sprawa miała z tablicą dynamiczną. Wtedy rezerwowany jest obszar pamięci, którego wskazanie musi być przechowywane w osobnym wskaźniku. W przypadku statycznych tablic - kompilator z góry zna położenie...
Wtedy byłoby tak jak podają wszystkie podręczniki i fora, to znaczy: = WYSZUKAJ.PONOWO(num; nr_i_opis; 2; FAŁSZ) num oznacza komórkę z szukanym numerem, nr_i_opis stanowi teraz jedną tablicę złożoną z dwóch kolumn (adres lub nazwa tej tablicy), 2 oznacza, że wynik będzie z drugiej kolumny, a FAŁSZ (lub 0) oznacza, że funkcja ma znaleźć dokładnie to...
spróbuj tak: register char adres_l asm("r28"); register char adres_h asm("r29"); char tablica[WIELKOSC]; adres_l = tablica & 0x00ff; adres_h = tablica>>8;
Witam, Do pamięci zewnętrznej odwołujesz się przez zwykły wskażnik o adresie większym niż wewnętrzna przestrzeń adresowa RAM'u Więc aby stworzyć tablice musisz odwołać się przez wskażnik char* bufor = (char*)0x8000; // deklaracja adresu początkowego tablicy //--------------------------------------...
Nie musisz, wystarczy do początku tablicy. Kolejne adresy będą wynikały z tego właśnie początku i kolejnego indeksu. Prosta arytmetyka.
(at)BlueDraco No i niby jak miałoby to pomóc? Przecież adres tej tablicy i tak nie będzie miał stałej wartości. Wystarczy lekko zmienić projekt albo dodać jakiś plik ze stałymi do kompilacji i całość się sypie. Może umieścić tablicę w swojej sekcji umieszczonej pod koniec pamięci FLASH.
Kompilowałem podany kod u siebie, przy kompilacji jako c++ kompilator rzucał się do linii "static Which=0;", ale po drobnych poprawkach ruszył. W kodzie asemblera nie widzę znaczących różnic, pod symulatorem wszystko działa poprawnie. 1/ Sprawdź, czy zastąpienie "pgm_read_byte(&g_Cyfry[n%10])" przez stałą (np 164) coś zmieni. 2/ Sprawdź, czy przeniesienie...
Oczywiście w żaden sposób nie zrobisz tak, aby jeden kanał DMA transmitował dane do trzech różnych, niepowiązanych ze sobą adresów. Ja rozumiałem twój opis tak, że przy jednym wyzwoleniu chcesz przesłać dane do 2-4 rejestrów CCxBUF, ale z kolejnych adresów tablicy. Jeśli to wszystko ma być chaotycznie porozrzucane to się nie da. Prościej zmienić ułożenie...
Nie jestem przekonany co do tego, że użycie tablicy z maskami poszczególnych bitów zoptymalizuje dostęp: w moich wstawkach liczenie maski to dokładnie 7 cykli na dwóch rejestrach(załadowanie 1, jeśli bit1 ustawiony to załadowanie 4, jeśli bit0 ustawiony to przesunąć w lewo o 1, jeśli bit2 ustawiony to zamienić połówki), rozwiązanie z ładowaniem maski...
Kolega wyżej podał bardzo fajną pętlę [syntax=avrasm] lpm R0,Z+ ;odczyt st Y+,R0 ;zapis dec R16 [/syntax] Jeśli chcesz kopiować od jakiegoś adresu w tablicy to do Z dodajeszsz offset przed rozpoczęciem petli a w r16 masz ilosc elementów do skopiowania. Jeśli chcesz więcej niz 256 to musisz zrobić licznik na dwóch rejestrach które będziesz dekrementował...
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
W twojej pierwszej deklaracji jest nieszczęście. Spróbuj tak: struct TPole{ unsigned char bit_0:1; unsigned char bit_1:1; . . unsigned char bit_7:1; } bit_field; zdefiniuj dodatkowo takie coś: #define Get_bit(adr) (*( (volatile bit_field*) (adr) ) ); Teraz chcąc wyłuskać jakiś bit piszesz: zmienna = Get_bit (i tu adres właściwy bajtu na którym ci zależy...
Pokaż cały kod - inicjowanie, main, Reset_Handler i tablicę adresów wyjątków. Im dłużej patrzę w te kawałki, które podsyłasz, tym więcej mam podejrzeń.
ponieważ operujesz wskaźnikiem na strukturę musisz wskaźnik wyłuskać (komunikat błędu linia 16) i dopiero możesz się odwoływać. Masz dwie opcje: 1/ (*Bufor1).rozmiar=0; 2/ Bufor1->rozmiar=0; Przy stosowaniu operatora u8 i = 2; char* ch = "test"; char ch2 = i[ch]; // kompiluje się i jest równoważne ch[i] Jednocześnie oznacza...
Sprawdzales czy tablica adresów czujników dobrze jest zapełniania przez program searchrom? Przy czytaniu temperatury nalezy odczytac 72bity i sprawdzic CRC.
Dokładnie, chodziło mi o tablicę adresów IP. Filtracji po adresach MAC nie mam. W pierwszym wpisie dodałem brakujący shemat mojej sieci.
Na każdym switch'u zaczynając od routera trzeba wyświetlić tablicę adresów MAC przypisanych po portów fizycznych. Na Cisco : show mac-address-table
po to jest statyczna tablica DHCP, (str. 47 instrukcji) wtedy automat przypisze dla danego adresu Mac, podany w tablicy adres IP w komputerze masz ustawione pobieranie adresu automatycznie, ale na routerze deklarujesz jaki mam otrzymać adres IP, jeśli nie będzie wpisu w tablicy, to otrzyma pierwszy wolny z zakresu DHCP
pndemon: > zrobiłem dokładnie tak: /.../ > - zacząłem testować model post-place-and-route i nie jest ok co jest wskaznikiem, ze nie jest ok ? widzisz na wyjsciowych pinach danych, ze powinna byc wartosc 'X', a jest 'Y' ? masz jakis uklad, ktory rozpoznaje blad i zapala jakis rejestr ? pndemon: > licznik_a<=tablica(adres_a) > licznik_b<=tablica(adres_b)...
Jeśli komputer z adresem MAC spoza puli dostaje adres IP, to widocznie źle ustawiasz router. Musisz ustawić tablicę adresów MAC i tylko dla tych adresów DHCP ma przydzielić adres.
Próbuje przerobić starą bibliotekę napisaną pod windows na bibliotekę działającą pod linux-em. Biblioteka wykorzystuje "create memory mapped file", szukałem trochę i nie za bardzo znalazłem przykładów w pascalu (fpc, lazarus). Szukam przykładów rozwiązania problemu. Poniżej zamieszczam tą bibliotekę z windows-a. [syntax=delphi]unit Tablice_IN_OUT; interface...
Odpowiednie typedefy są w nagłówku stdint.h Co do podziału pomiędzy przerwanie a program główny to pewnie zapomniałeś modyfikatora volatile przy deklaracji zmiennych, które są dzielone pomiędzy przerwaniem a main(). Co do "tablicy czujników": struct czujnik { uint8_t adres; /* do wyboru czujnika na szynie */ uint8_t ileProbek; uint16_t probki[ROZMIAR];...
Wpisujesz w adres przeglądarki m.tablica.pl i gotowe.
Faktycznie, zapomniałem o tym żeby zwracana zmienna była tego samego typu. Już wszystko gada, dzięki.
Witam, Ale nie chce przekazywać do funkcji całej tablicy dwuwymiarowej I tego nie robisz. Przekazujesz tylko adres. my_fb1 (pNumberChecked:= ADR(checked_options Powinno zadziałać. Pozdraiwam,
Wynika ze sposobu działania sieci IP. Dobór trasy przez poszczególne urządzenia pracujące od warstwy L3 (czyli m.in. routery i komputery, ale nie switche i huby) dokonywany jest indywidualnie na podstawie posiadanej tablicy routingu (mniej lub bardziej rozbudowanej). Tablica routingu tworzona jest przede wszystkim na podstawie adresacji przypisanej...
Jaki router z dużą tablicą statycznych adresów IP. Posiadam RT-AC1200G+ i on może statycznie zaadresować maks. 64 urządzenia. Szukam urządzenia z nie mniejszą funkcjonalnością. Mile widziane: - Możliwość nadania urządzeniom własnej nazwy. - Możliwość przypisania zdjęcia do urządzenia. - Sortowanie listy po nazwie i IP.
Masz rację. Moja pomyłka, przepraszam (było rano). Powinno być: nr_bajtu_pamięci_ekranu = (x div 8 )+(y - 1) * 5 Przy edycji musiałem skasować te kilka znaków. Teraz chyba to działa. y to oczywiście numer wiersz dla piksela. Masz rację, że w asemblerze natywnie nie ma tablic dwuwymiarowych, ale bardzo łatwo jest oprogramować taką strukturę pamiętając...
ok. A jak odczytac taki wpis : 0:d:87:a8:0:5d Broadcast arp 60: arp who-has rbart tell mbart 0:30:4f:30:a:e1 Broadcast arp 60: arp who-has router tell rbart 0:30:4f:30:a:e1 Broadcast ip 92: rbart.137 > 10.255.255.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 0:d:87:a8:0:5d Broadcast arp 60: arp who-has rbart tell mbart 0:30:4f:30:a:e1 Broadcast...
Nadeszła chyba pora zapoznać się , z Bascom-owym helpem :D Dim Adres As Word Dim Pozycja As Byte Do For Pozycja = 0 To 5 Adres = Lookup(pozycja , Tablica) Next Loop Tablica: Data 1% , 10% , 100% , 1000% , 10000% , 65535% Teraz będzie dobrze :?: Piotrek
Czy dobrze się doczytałem że w CortexM0 nie mogę sobie ustawić tablicy na inny adres w pamięci flash?
Tablica Array jest umieszczoną w pamięci, odwołaj się bezpośrednio do adresu Np Array jest od 0.0 w BD1 chcesz adres 10 i 11 L DB1.DBW10 Albo przepisz do tymczasowego: L DATA[1] T LB0 L DATA[2] T LB1 L LW0
Bo tab nie jest wskaźnikiem, tylko adresem tablicy. Tablica dwuwymiarowa w C (C++) to nie to samo, co tablica wskaźników do tablic (trzeci przypadek), chociaż odwołanie do elemntu wugląda tak samo (ale nie działa tak samo). W drugim przypadku tab jest adresem tablicy, której elemantami są tablice. Wobec tego *tab jest adresem pierwszej tablicy (wewnątrz...
adres tablica tablica tablica stringi automapa adres
zamiennik tda7560 kodowanie kluczyka pestki wymiana ogniw bateria laptop
kodowanie immobilizera solar assistant
Wiring Instructions for CKD 212 Device Programowanie radia Toyota Avensis III T27