Do edycji źródeł od dłuższego czasu używam darmowego programu Crimson Editor. Obecnie jest kontynuowany jako Emerald Editor. Rozpoznaje składnie, umożliwia zaznaczanie kolumn tekstu, ogólnie posiada wszystkie potrzebne do tej pracy funkcje. Instalujesz Crimson Editora, rozpakowujesz ASEM'a do dowolnego katalogu, nie polecam spacji i polskich literek...
Niestety to, co chcesz zrobić nie jest wspierane przez architekturę 8051. Dostęp do SFR jest możliwy tylko przez adresowanie bezpośrednie, tak samo jak dostęp do pamięci adresowalnej bitowo. Dlatego też nie ma możliwości implementacji wskaźników do poszczególnych bitów. Deklaracja sbit = sfr ^ nr_bitu to tylko statyczna deklaracja, a nie instrukcja,...
sbit dotyczy deklaracji bitów w bajtach w przestrzeni SFR[/u]
Chodziło Ci chyba o : 7 oznacza, ze 7 bitów na pole.
Na wypadek, gdybyś nie zauważył: przy takich deklaracjach i treści procedury konfiguracji DMA, jakie masz obecnie, do rejestru adresu pamięci DMA wpisujesz wartość bajtową odczytaną z pamięci ze zmiennej TxBuf, rozszerzoną zerami do 32 bitów, czyli wysyłasz przez UART zawartość tablicy wektorów wyjątków.
Hej Według User's Guide sbit może być użyty jedynie do definiowania bitów w SFR. Pozdrawiam
Jeżeli chcesz uzyskać pomoc, to wstaw właściwy program. Deklaracja zmiennej nie ma nic wspólnego z tym co wysyłasz. W podanym programie wysyłasz tylko 8 bitów. Rejestr sprzętowego SPI nie przyjmuje więcej niż 8 bitów, a w funkcji programowego SPI inicjujesz "licznik" na 8 bitów, przez co nie możesz wysłać więcej. Najprostszym sposobem jest wysłanie...
Do deklaracji robisz kod danych: .dseg .org 0x60 Kolejna linijka to przejście do początku SRAM. Następnie definiujesz zmienną bajtową: Nazwa: .byte 1 No i masz deklarację. Do poszczególne bity musisz wyłuskiwać komendą iloczynu bitowego z liczbą stałą np. dla pierwszego bitu będzie: lds r16, Nazwa andi r16, 0b00000001 I w r16 masz tylko wartość...
IMHO jeżeli przykładowo opóźnienie 500ms nie wynosi tyle lub nawet nie jest do tego podobne to widocznie jest rozbieżność pomiędzy ustawieniem fuse bitów a deklaracją częstotliwości w programie. Jeżeli zaś te rozbieżności ciągle się zmieniają to być może oscylator się rozkalibrowuje. Istnieje rejestr OSCCAL który umożliwia "dostrajanie" oscylatora.
Witam, Mam projekt, w którym steruje 2 wyświetlacze 7 segmentowe oraz 4 diody LED używając do tego 3 rejestry przesuwne 74HC595. https://obrazki.elektroda.pl/4261338800_... Moje pytanie brzmi: Jak zadeklarować 24 bit'ową liczbe (unsigned long int?)? Jak budować taką liczbe (mówimy tutaj o operacjach OR) oraz jak ją wysyłać do 74HC595?....
Teraz kwestia sprzętowa. Porównanie dotyczy F1 oraz F4, a to dość różne epoki. STM32F103, to jeden z pierwszych uC ze rdzeniem ARM Cortex-M3, jakie zostały opracowane i wprowadzone na rynek przez STMicroelectronics. To było w 2007 roku i możliwości technologiczne, dostępne w latach 2004-2005 określiły wiele parametrów. Kiedy rozpoczęto implementację...
Znając życie to twój problem polega na złym ustawieniu fuse bitów, nie ustawieniu ich bądź złej deklaracji zegara.
U2X podwaja prędkość transmisji - nigdy z tego nie korzystałem więc niem czy w ogóle działa (choć powinno :) U Ciebie problem leże w deklaracji długości znaku (5 - 9 bitów), za którą odpowiadają bity UCSZx. Jak już napisałem - użyłeś niedozolonej konfiguracji tychże bitów (str. 160)! A jak ustawiłeś UART w tiny?
typedef struct { char start; char type; uint8_t konfiguracja[4]; char Conf_End[2]; }__attribute__((packed)) Conf_Frame_Array; Wygląda na to że rzeczywiście chodzi o kolejność bitów. Odwracając kolejność inicjuje się prawidłowo, tz. odpowiednie pola bitowe mają odpowiednią wartość.
Podobnie jak robiłeś. Zobacz deklaracje Bx, tam jest AND, które jest nie wyprowadzone na zewnątrz. Aby zakodować $1C (najwyższą wartość), potrzebujesz tylko 5 bitów, czyli A4..A0. Czyli w Bx pozostaw A7, A6, A5, a resztę zakoduj wyjścia, jak robiłeś poprzednio. Zwyczajnie bity A7, A6, A5 zawsze mają taką samą wartość, więc zrób z nich jedną bramkę i...
No nie jestem biegly w assemblerze, ale z tego co widze, sa tam odpowiednie operacje na bitach (moze moja wersja kompilatora tego nie obsluguje, sprawdze). Mam w takim razie jeszcze tylko jedno pytanie: czy przy deklaracji zmiennej typu pole bitowe jest niezbedne slowo struct? (jak u Ciebie struct biciki pole) czy wystarczy deklaracja biciki pole? Dzieki...
Nie ma 24bitowych procesorów. To, że procesor dysponuje 24bitami wewnętrznej magistrali nie czyni z niego od razu 24bitowego procesora. Ile bitów magistrali adresowej jest w stanie obsłużyć rdzeń zależy od jednostki generującej adres. 8bitowy procesor ma prawo obsługiwać 16bitową magistralę adresu - patrz propeller czy nawet '51. Magistrale adresowe...
Jeśli mogę poprosić o ocenę oto on: Przemyśl to :|
Przy deklaracji więcej niż jednego bitu np słowa rzeczywiście kolejność będzie niejednoznaczna , zgodnie z listą alarmów najpierw bedzie to starszy bajt w słowie potem młodszy. np deklarcja mw80(kolejność bitów na liście 81.0/81.1/81.1....80.0/80.1../80.7).
Nic nie wiemy o typie mikrokontrolera. Poszczególne serie STM32 mają różne możliwości programowania (16/32/64 bity). Nie pokazałeś deklaracji zmiennych, a od tego wiele zależy. Podejrzewam problem ze zmienną Address.
Może ktoś wie jak założyć tablicę 66 elementową ( każdy element to bit) w obszarze adresowanym bitowo, tak by można było odwoływać się do poszczególnych bitów poprzez współżędne w tablicy np. bit22=Tablica(22). Bascom co prawda przyjmuje deklarację Tablica(66) as bit, ale traktuje to jak zmienną 1 bitową tzn. zapis Tablica(22) = 1 ustawia na 1 wszystkie...
W pierwszej wersji kodu wektor wy ma rozmiar 9 bitów (8 downto 0) a przerobionej na generic ma już rozmiar 8 bitów wiec brakuje 1 bitu na przeniesienie. Kwestia poprawy deklaracji sygnału wyjściowego. Poza tym taka lekka modyfikacja kodu raczej nie będzie prawidłowa dla mnożenia liczb o dowolnej ilości bitów(problem stanowi tutaj ilość linijek - przypisań...
Ale to wymaga deklaracji tego bitu, który chcemy zmieniać. A nie ma takiej funcji zmieniającej dowolny bit z obszaru adresowanego bitowo bez jego wcześniejszej deklaracji w sbit.
Witam, Dużo rozkazów jest niepotrzebnych: ustawioanie pojedynczo bitów a potem przez zapis całego rejestru (rejestr IE), nie powtarza się konfigurowania liczników w przerwaniach jeśli zostały skonfigórowane na początku, to samo z aktywacją przerwań, więc po okrojeniu: $mod51 ;istotne dla kompilatora asm51 pre0equ10h;deklaracje komórek zmienne "set"...
Masz rację. Oczywiście popełniłem wcześniej bład. Zamiast Dim Flagi as Byte Flaga1 As Flagi.0 Flaga2 As Flagi.1 Flaga3.... itd chodziło mi o Dim Flagi as Byte Flaga1 Alias Flagi.0 Flaga2 Alias Flagi.1 Flaga3.... itd by łatwiej odwoływać się do poszczególnych flag będących bitami w bajcie flagi. Chyba jednak nie ma to znaczenia, bo kolejne wystąpienia...
1. framesize ustawiasz na 8 2. softstack ustawiasz na 16 Najprawdopodobniej twoją pamięc w tiny zapychaja stos i frame, zmniejsz te wartosci eksperymentalnie. Zmienna bit w bascomie jest definiowana w innym obrzarze pamięci, poza tym rezerwuje od razu cały bajt pozostawiając 7 pozostałych bitów na inne zmienne typu bit. Nie mozesz wywalić "$regfile",...
Pamiętaj, ze w arudino masz szybki dostęp do bitów dzięki bitRead() i bitWrite() definicję portów można też wykonać w pętli for... ale choć oszczędza miejsce to raczej mało eleganckie
Tak jak sivex napisał,zadeklarowałeś A jako integer. Nie pamiętam jak jest w języku basic (odległe czasy), ale w Qbasic są takie deklaracje: INTEGER A 16-bit signed integer variable. LONG A 32-bit signed integer variable. SINGLE A single-precision 32-bit floating-point variable. DOUBLE A double-precision 64-bit floating-point variable. STRING * n% A...
cbi sbi to odpowiednio makra ustawiające bity, nie ma ich już w nowym avr-gcc od kilku lat i to dlatego. Komunikat o tym wyrzucało Ci już poprzednio. Spójrz:[url=http://www.avrfreaks.net/ind... Generalnie są dwa wyjścia: 1) Jakieś stare avr-gcc. Skompilujesz, wgrasz do procesora i po sprawie. 2) Pozmieniać...
O! Znów zaczynam lubieć asembler... bo mi program działa tak jak ma. Ale i w tym przypadku nie obyło się bez kłopotu (problem już rozwiązałem). Jak deklaruje zmienne to byłem nauczony robić to w ten sposób ZMEINNA EQU 20H ZMEINNA1EQU 21H . . . ZMIENNAxEQU 29H ZMEINNAyEQU 30H—i tu jest błąd!. Ja adresuje w hex’ie a myślę w dec’ach....
Jeśli upierasz się przy 8MHz wtedy musisz "zanegować/odhaczyć" informacje przy bicie CKDIV8. Albo po prostu zmień deklaracje w programie na 1MHz.
Problem rozwiązany, winny był kod describtor. Przy powiększeniu długości ciągu danych, zapomniałem określić co komputer ma robić z "pustymi" bitami. Dlatego przy prawidłowej pracy kursora, komputer zgłaszał błąd urządzenia (komunikat usb hid był dłuższy niż deklarowany) lub kursor działał nieprawidłowo przy sztucznie wydłużonym komunikacie. [syntax=cpp]tatic...
A słyszałeś kiedyś o połączeniu unii ze strukturą ? w ogóle o unii ? np: [syntax=c]typedef union { uint8_t bajt; struct { z0: 1; z1: 1; z2: 1; z3: 1; z4: 1; z5: 1; z6: 1; z7: 1; } bit; } polebitowe;[/syntax] i potem w kodzie gdzieś deklaracja zmiennej: [syntax=c]polebitowe PB;[/syntax] a potem [syntax=c]PB.bajt := PORTA;[/syntax] natomiast dostęp do...
W deklaracji PSRAMu powinien być " unsigned char". Nie wiem czemu mój kompilator nie miał z tym problemu a działało poprawnie na Arduino 2.0.1 i wczoraj zrobiłem aktualizacje do 2.3.4 i też działało. Poprawnie ma być: unsigned char * psramData; psramData = (unsigned char *)ps_malloc(PSRAM_lenght * sizeof(unsigned char)); A czym...
[syntax=vbscript]#If VBA7 Then Private Declare PtrSafe Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Integer, ByVal dwFlags As Long, ByVal lpWideCharStr As LongPtr, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As LongPtr, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As LongPtr #Else Private...
Prawdopodobnie gdzieś wyżej w programie masz deklarację zmiennej Reg jako Long a poprzez Reg.idx pobierasz kolejno wartości bitów zmiennej Reg od 24 bitu do 0 i wystawiasz na Portc.3. Idx to numery kolejnych bitów zmiennej Reg pochodzące z pętli for. Czyli wysyłasz szeregowo kolejne bity zmiennej Reg. Tak przy okazji to będzie ich 25. Ciekawe czy nie...
extern uint8_t get_data(uint8_t * data) oznacza deklarację procedury zdefiniowanej w innym pliku, a Ty właśnie ją tu definiujesz. To jest nieprawda. Każda deklaracja (nie statyczna) funkcji podlega linkowaniu zewnętrznemu. Więc extern przy deklaracji funkcji jest zbędne aczkolwiek nie jest błędem. dane wysyłane po SPI mają po 8 bitów,a Ty deklarujesz...
Witam, zaczynam z WinAVR i chciałbym dowiedzieć się jak zapisać poniżej przedstawione operacje ustawiania bitów. W Bascom wyglądało to np w ten sposób [syntax=basic4gl]Portb.2 = not Portb.0[/syntax] czyli ustawiam portb.2 odwrotnie do stanu portb.0, w C mogę zapisać [syntax=c]if (PORTB & _BV(PB0)) PORTB&=~_BV(PB2); else PORTB|=_BV(PB2);[/syntax] ale...
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
Witam! Poniżej prezentuję najprostszy chyba z możliwych listingów odczytujący wskazania ADC i wysyłających je do PC przez RS232. Problem w tym ze nie da się wysłać nic z częstotliwością powyzej 4800 bps. zamiast konkretnych wartości jakieś krzaki przychodzą. ' osiągnieta rozdzielczosc: 5V/1024= 0,00488V= 4,88mV $regfile = "m8def.dat" $crystal...
Najbardziej łopatologicznie to było by coś w tym stylu, choć ani to pożyteczne ani wydajne, po prostu po wciśnięciu przyCisku RAZ wykonuje 256x2 operacji jako zwłoka przed kolejnym sprawdzeniem, żeby było to funkcjonalne należy rozbudować! Najlepiej było by timer zaprzęgnąć do pracy - jest taktowany zwykle fosc/4 + prescaler albo jakoś tak (sprawdź...
buffer<<=18; można też rozumieć jako przesunięcie o 18 bitów :D bo docelowe dane nie znajduja się na początku ramik Tylko czy aby we właściwym kierunku? Funkcja TC_GetTC1() nie wykonuje konwersji tylko rzutowanie i moim zdaniem jest zbędna. Spróbuj tak buf w funkcji RD_AD() bo zmienne lokalne nie są domyślnie zerowane podczas deklaracji i mogą...
drawBitmap oczekuje ostatniego argumentu typu unsigned int *, a Ty próbujesz przekazać PROGMEM unsigned char *. Największy problem to ten PROGMEM. Proponuję zmodyfikować drawBitmap tak, żeby jej argument był wskaźnikiem na PROGMEM, czyli odwołania do obrazka w funkcji wykonywać przez prog_read_byte albo prog_read word. Funkcja chce mieć piksele 16-bitowe,...
OK widzę, że na forum napisali, że zakres wyjściowy nie ma znaczenia https://forum.arduino.cc/index.php?topic... , bo w opisie funkcji z Google (pierwsze dwa wyniki jest przykład tylko przejścia z 16bit na 8bit. Dodano po 8 Program podaje dobry wynik w jednej na cztery pętle. W innym wypadku podaje 4294948652 lub coś koło tego jako wynik mnożenia,...
Czy ktoś wyjaśni taki wynik prościutkiego programu w Verilogu? Ha, ciekawe pytanie, aż sprawdziłem - czego to człowiek nie zrobi, żeby się oderwać od roboty :) 1. Deklaracja integer x jest raczej oczywista, domyślnie 32 bit "signed" we wszystkich językach o jakich słyszałem (co nie znaczy we wszystkich ;]). 2. Deklaracja reg domyślnie "unsigned" -...
Szukam w avrlibc i w opisie typów danych w C. No i nie mogę znaleźć jakiegoś całościowego opisu. W <stdint.h> jest opis chyba specyficznych dla avrlibc wielkości zmiennych. Ale w programach spotykam deklaracje int- co w opisie standardu- musi mieć co najmniej 16 bitów. Czyli co- int16_t to jest to samo co int? Podobnie z double- czytałem że traktowane...
Witam ! Przyklad dla zmiennej 8 bit unsigned char dana=0; //deklaracja zmiennej 8bit unsigned char a,b; //wartosci odczytane z przetwornikow signed char x; //roznica dana=dana<<1; //przesuniecie bitowe w lewo if( (a-b)>x) //sprawdzenie warunku dana=dana|1; //wpisz "1" Mysle ,ze o to chodzilo. Pozdarwiam ogr
Zwykły algorytm uzyskiwania rozwinięcia binarnego liczby dziesiętnej działa "od końca", czyli od najmniej znaczącego bitu. Dlatego też fragment kodu , który Ci wysłałem najpierw zlicza ilość tych bitów ( nie zmieniając liczby ) nastąpnie porównuje każdy bit z jedynką i wypisuje wynik. Co do tabeli ( deklaracje i wybór tabeli pozostawiam Tobie ): i=0;...
Witam Jak powinien być zadeklarowany sygnał danych w I2C, tak aby przypadkiem czegoś nie uszkodzić? Ponieważ jest wysyłane 8 bitów a 9 odczytywany w dodatku należy podać stan wysoki i jeśli będzie potwierdzenie to zostanie ściągnięty do masy. Czy można zrobić dwa sygnały - jeden jako wyjście a drugi jako wejście i połączyć na płytce? Prosiłbym o przykład...
Chciałem wykorzystać popularną przetwornicę XL4015 do regulacji prądu LEDów 0-3A poprzez PWM. To jest przetwornica a nie PWM. W datasheet jest napisane, że PWM liniowo reguluje prąd, ale niestety po przetestowaniu 2 sztuk XL4015 zaczynam powątpiewać w deklaracje chińczyków. To jest przetwornica, i prąd być może reguluje liniowo dla obciążenia rezystancyjnego....
Czym ty to odbierasz? Chyba nie opisałeś drugiej strony. Jeśli druga strona jakaś niedopracowana, nawet na PC ale kiepski program, to może tam mamy problem? A działa bądź nie bo przykłady które wałkujemy mają różny czas wykonania pętli. Prosty odczyt tablica[1] jest szybki, przy indeksowaniu już trochę czasu upływa. Może też tak być, że różna liczba...
tworzymy typ - strukturę [syntax=c] typedef struct{ uint8_t x:2 uint8_t y:3 uint8_t z:3 uint8_t a } boo boo wuu [/syntax] Czy da się zrobić tak by do funkcji przekazywać argumenty wuu.x (dwa bity) i wuu.a (osiem bitów) a w wyniku funkcji otrzymać a/ wuu.x ? b/ wuu.a ? Innymi słowy czy deklaracja funkcji musi w tym wypadku być : [syntax=c] boo foo(boo...
Lader przyjmuje z zewnątrz tylko rejestry 16 bitowe, ale jest na to sposób. Tworzysz: - zmienną symboliczną typu float w "Symbol Variable" - zmiennafloat - skrypt globalny "Global D-Script" z deklaracją długości danych 32-bit ze znakiem lub bez w zależności czy będziesz operował na liczbach ujemnych i triggerem Continous Action i w nim robisz przypisanie...
(at)trol.six okropnie skomplikowałeś, wystarczy: To nie jest dobry przykład dla kogoś kto się uczy C. 1. Deklaracje w pętli nie dotyczą każdego standardu języka C. 2. Nie zauważyłem żeby kolega pisał o typie tablicy. Może ma tablice typu int?
Nie da się deklarować pól bitowych w postaci tablicy. Pola bitowe może zawierać tylko struktura (lub unia, co na jedno wychodzi). Wniosek z tego taki, że możesz zadeklarować dobie strukturę z 128 polami bitowymi - ale nie będziesz miał możliwości ich indeksowania, za to zajmie Ci to 16 bajtów. Druga możliwość (chyba lepsza) to deklaracja tablicy 8-bajtowej,...
To jedziem: 1. warning: "F_CPU" redefined - redefinicja stałej preprocesora. Masz już wpisane w konfiguracji projektu na jakiej częstotliwości będzie pracował µK, więc z reszty plików możesz usunąć tę definicję. 2. main.c:10: warning: suggest parentheses around arithmetic in operand - mieszasz operatory binarne o różnych priorytetach (BIT-OR i...
Swoją drogą DR jest 16-bitowy, tylko teraz jest skonfigurowany do transmisji 8 bitowych, stąd różnice w naszych deklaracjach, ale to drobiazg. To moze byc drobiazg albo i nie w zaleznosci od procesora. Te, których SPI mają FIFO rozpoznają jaką ilość informacji mają zapisać po szerokości operacji. Czyli jak zapiszesz 16 bitów to zapiszą 2 wartości 8...
Potrzebuję wyłączyć aktualizacje programu Adobe Acrobat Reader. Problem w tym, że mam Windows 10 64-bit, a korzystam jeszcze czasami z programu e-Deklaracje (wiem, że nie jest już wspierany, ale muszę mieć dostęp do starych deklaracji). Program e-Deklaracje wymaga Acrobat Readera w wersji 32-bit, tylko wtedy działa, natomiast Acrobat Reader bez przerwy...
W CodeVisionAVR (C) możesz to zrobić tak: deklaracja zmiennej eeprom unsigned int knastawyCRC; i zapis lub odczyt: knastawyCRC = 23; kakas_zmienna = knastawyCRC; BTW to raczej nie używaj komórki o adresie 00 z EEPROM w AVR, bo możesz się nabawić kłopotów;-). W asm trzeba wykonać kilka poleceń (wpisy do odpowiednich rejestrów i ustawienie bitów), ale...
Witam, proszę o pomoc w interpretacji kodu. Proszę rzucić okiem na moją interpretację. Architecture RTL of JKFF is <- deklaruje blok architektury o nazwie RTL w jednostce JKFF Signal FF : bit; <- deklaracja sygnału wewnętrzego o nazwie FF i typie danych bitowym (0,1) Begin Proces (CLK, RSTn)- deklaracja procesu, lista wrażliwości z nazwami sygnałów...
Buehehehehehe. OK zum beispiel: Pojedyńcze bity #define PkT PORTD.7 //deklaracja wyjścia #define D_L PINB.1 //deklaracja wejścia PkT = 1; Jakis_bit = D_L; ofkorz możesz pisać od razu PORTD.7 = 1, ale to wyżej jest bardziej czytelne. Co do całych portów to tak samo tyle, że nie nie dopisujesz pinu z portu i dana musi być 8 bitów (np. unsigned char) To...
Problem w tym, że układ jest wlutowany na pcb i podpięty pinem W na wejście wzmacniacza operacyjnego. Przy zasilaniu 9,5V, na wyjściu jest ciągle ok 5,8V, niezależnie od deklaracji zmiennej send. To jest fabryczny układ, który sterował wyświetlaczami poprzez wysyłanie danych przez układ M5451. Sterowanie atmegą odbywało się po RSie. Próbuję wykorzystać...
Pilot na pewno jest w standardzie RC5 bo już go używałem wcześniej wykorzystując ten standard. Spróbowałem ten program wgrać tak żeby sprawdzić swoje czujniki temperatury ale na wyświetlaczu pojawia się za każdym razem napis temperatura i wartość 0. Próbowałem wszystkie czujniki jakie mam. Dwa są na pewno dobre bo działają w innym układzie. Próbowałem...
Źle robisz, że zakładasz nowy wątek, zamiast przeszukać forum. Fuse bity ustawiłeś właściwie? Deklarację rezonatora w programie masz prawidłową? To wskazówki - resztę znajdziesz na forum.
ARM7, Cortex-M3 to - powiedzmy - "handlowe nazwy" architektur, odpowiednio ARMv4 i ARMv7-M. Oczywiście nowsza jest ARMv7 czyli własnie Cortex. ARM7 jest już nieco przestarzały, a układ LPC2106 to w ogóle antyk - NXP od czasu tego układu wypuściło bardzo wiele fajnych układów z tym rdzeniem, dokładnie chodzi o rodziny LPC23xx i LPC24xx - LPC2106 to chyba...
No właśnie że nic sie nie ustawia, wszystkie bity sa wyzerowane.Czy może mieć to jakiś związek z UBRRH? Tzn czy przy deklaracji UBRRH można było tak ustawić bity że teraz zmiana UCSRC nic nie powoduje?
W żadnym miejscu programu ni ustawiasz stanów na portach. DDRA oznacza rejestr kierunku (wyjście lub wejście) portu. Jeżeli chcesz maskę obejmującą wszystkie 8 bitów (pinów) portu, to będzie to 0xFF (binarnie 11111111). Użycie DDRA w tym kontekście jest bez sensu. W szczególności operacja [syntax=C]DDRA |= LED_PIN;[/syntax] jest bez sensu, preprocesor...
Chcę obliczyć współczynnik b = 256*(x1-x2)/(y1-y2) A mnożysz przez 255 :P wsp_b = wsp_b*0xff; Jeżeli nie jest Ci potrzebny wsp_a, możesz zrobić tak: long int wsp_b; wsp_b = (((long int) (x1-x2))<<8) / ((long int) (y1-y2)); Nie wiem, jakiego typu są zmienne x1, x2, y1 i y2, a jeżeli jest...
Witam. Mam pytanie natury trywialnej ale nie mogę sobie z tym problemem poradzić. Mianowicie chcę sobie zamurgać wyjściem np. Q0.0. Tyle. W sterownikach s7-200 z którymi mam najwięcej styczności wstawiam przed wyjście bloczek SM0.5 i gra muzyka. Wyczytałem, że w ustawieniach S7-1200 trzeba zaznaczyć "system memory bits" i "clock memory bits". Zrobiłem...
Tdv: Wiem, że jest normalna deklaracja zmiennej w asemblerze dlatego wcześniej słowa 'deklaracja' użyłem w cudzysłowiu, a dlaczego korzystałem EQU, chyba dlatego, że chciałem mieć większy wpływ na organizacje pamięci RAM procka. Wadą tego rozwiązania jest możliwość popełnienia głupiego błąde (a widział ktoś mądry błąd :D ), ale wyobraź sobie, że musisz...
Dostałem odpowiedź na bug-trackerze Free Pascala (za co dziękuję Develperom!): zachowanie jest prawidłowe, gdy deklaracja rekordu zawiera słowo kluczowe Packed. Bez użycia Packed, elementy rekordu są rozkładane zgodnie z "word alignment" (jak to przetłumaczyć?) dla danej architektury. Aby wyłączyć to zachowanie kompilatora, należy przełączyć "word alignment"...
Witam Mam mały problem z odczytem danych po SPI.A konkretniej konwersją bitów. Przetwornik działa, odbiera i wysyła. [url=http://ww1.microchip.com/downloads/... MCP3004 [syntax=c]ADC_ON; adc[0] = spiTransfer(START,0); adc[1] = spiTransfer(CHANEL1,0); adc[2] = spiTransfer(PUSTE,0); // adc[2] = spiTransfer(PUSTE,0); ADC_OFF;...
Szukając ... rozwiązań natknęłam się na ... https://www.elektroda.pl/rtvforum/topic5... Gdzie mam pytać, jeśli nie na forum? : ) ... można na przykład w przeglądarce forumowej się "popytać" ... : ) https://www.elektroda.pl/rtvforum/find.p... https://www.elektroda.pl/rtvforum/find.p... itd. Poza tym pojęcie pobrania...
Otrzymuję poniższy błąd w vs2022 podczas próby zbudowania rozwiązania z ustawieniami domyślnymi. Szybkie google wskazało mi ten kierunek, czy to wygląda na właściwe podejście do konfiguracji IDE? https://stackoverflow.com/questions/4169... 1>------ Kompilacja rozpoczęta: Projekt: openBeken_win32_mvsc2017,...
Coś mi się tu nie podoba. Masz w ustawianiach Pwm = 8 Czyli rozdzielczość to 8 bitów Więc czemu pakujesz tutaj 500 Pwm1a = 500 Skoro rozdzielczość to 8 bitów? Ja bym to zrobił tak, Zostawił tą rozdzielczość 8 bitową (czyli max wartość PWM1a to 255) NIE MOŻESZ DAĆ TAM 500! Teraz wartość 1 to ok 0,4% 127 - to 50% 255 to 100% I Zamiast tego Lcd "PWM1a...
1. Zbędny atrybut volatile w deklaracji AdcVal. 2. Czy AWD jest jedynym źródłem przerwania ADC? 3. Kasować bit zgłoszenia przerwania należy na początku procedury obsługi przerwania. nie wiem, aj to jest W STM32, ale w wielu innych Cortexach Zgłoszenie przerwania nie zdąży się w takiej sytuacji skasować i powtórnie wejdziesz w obsługę przerwania.
No teraz się przyjrzałem programowi i faktycznie jest zbudowany trochę inaczej. Ponieważ Ty masz podłączoną kompletną szynę danych to proponuję skorzystać z interfejsu 8-bitowego, możesz użyć załączonego pliku (to mój stary program na '51), wystarczy zmienić pliki nagłówkowe i deklaracje LCD_RS, LCD_RW i LCD_E, dodatkowo tam gdzie ja odnoszę się do...
No, a wiec tak. Jesli wszystko co bylo napisane na gorze jes umieszczone w pliku glownym /main/ to dziala jak nalezy. Jesli : uint16_t S1D13781_ReadData( uint32_t adr) { ..... Jest umieszczone w innym pliku, to niedziala....( nie dzialalo ) Problem juz rozwiazany, a mianowicie nie wpisalem deklaracji uint16_t S1D13781_ReadData( uint32_t...
Udało mi się wreszcie zapisać i odczytać 16 bitów w eepromie, zrezygnowałem z funkcji, oraz uprościłem instrukcje do niezbędnego minimum: [syntax=c]//reklaracja zmiennych uint32_t address = 0x8080014; //adres eepromu, poczatek jest pod adresem 0x8080000, ten adres to 0x8080000 + 20 uint16_t data_read = 0; //dane do odczytu dwa bajty uint16_t data_write...
Przy takiej deklaracji nie skompilowało się, ale wpisałem coś takiego: main.c:204: warning: pointer targets in passing argument 1 of '__eerd_word_m8' differ in signedness main.c:204: warning: pointer targets in passing argument 1 of '__eewr_word_m8' differ in signedness
Jeżeli dobrze rozumiem to koledze chodzi o wyszukiwanie frazy w plikach które są zamknięte i leżą gdzieś w katalogu. A to nie to samo, co szukanie w pliku już otwartym. Option Explicit 'Deklaracje 32-bit API Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath...
Komentarz w trzecim wierszu cytatu jest mojego autorstwa i jest to wytrych-obejście, który spowodował, że SPI transmituje od razu po wejsciu w przerwanie T3 bez czekania na zakończenie impulsu synchronizacji poziomej generowanego przez OC3; przepraszam za nie skomentowanie tego faktu. Gdy uruchomię framed slave mode, tak jak jest w oryginale, SPI nie...
Ten nowy sub pracuje mało optymalnie bo na stringu i potem z tego stringa robi dopiero wartość. Stary pewnie sobie przesuwał bity w lewo. [syntax=vbnet]S16 = Mid(sensor_data , 17 , 16) T = Binval(s16) T = T / 10 Ti = T Mod 10[/syntax] Lepiej zmień deklarację T As Word na T As Integer i nie resetuj bitu 15. Na Lcd to trochę mordęga bo po serialu bys...
Witam! Oś x i y porusza się za sprawą funkcji advanceCircleByFixedAngle(); która zatacza koła. A co kierunku to trzeba pokombinować, ale najpierw radzę odczytać co jest przesyłane tzn. jakie dane i eksperymentalnie sprawdzać, ale nie pamiętam czy hat nie jest zanegowany. [Edit] Jeszcze taki szczegół to to, że ty masz raport w takiej kolejności: 1. Throttle...
LPC1768 posiada 32 priorytety czyli bity konfiguracyjne zajmują 5 bitów. Cortexy-M3 są zaprojektowane do obsługi 255 priorytetów ( 8 bitów), ale od producenta uC zależy ile bitów zaimplementuje. NXP dla LPC17xx przydzieliło 5 bitów. Każdy wektor przerwania ma swój rejestr do konfigurowania priorytetu i jest on 8 bitowy, z tym, że jeśli mamy zaimplementowane...
Ja mam podobny problem, w żaden sposób nie mogę uruchomić programu e-deklaracje. Używałem go do na tym komputerze przez kilka lat wcześniej. Wczoraj zainstalowałem od nowa WIN 7 64-bit i próbuję zainstalować e-deklaracje. Domyślna przeglądarka Firefox 78.8.0esr (64 bity) 1.Pobrałem środowisko uruchomieniowe Adobe Air 2. Był duży problem z pobraniem...
To właściwie jest oddzielna funkcja, którą należy okresowo wywoływać. Albo przez pooling, albo z przerwania generowanego przez encoder i wtedy można ją jeszcze dodatkowo uprościć. Co do operacji, którą pokazałeś - w moim programiezmienna EncoderState na starszych bitach przechowuje inne wartości, np. stan przycisku enkodera itd. Stąd takie nieco dziwne...
$crystal=3000000 '3MHz '---------------------------------------... On Int1 Przerwanie_int1 On Timer0 Przerwanie_timer0 Tmod = &B00010001 'tajmer0: 16 bit i tajmer1: 16 bit Tcon = &B00000101 'zbocza opadajace Ie = &B10000110 'wlacz przerwania i timer0 i int1 '---------------------------------------...
Witam. Od końca: Kwarce najlepiej użyć takie, by odchyłka prędkości transmisji była jak najmniejsza (poniżej 5% powinno być ok.). Bascom ułatwia ich dobór. Wybierz z głównego menu Options => Compiler => Communication. W okienku które się otworzy wpisz/wybierz pożądaną prędkość transmisji, oraz częstotliwość rezonatora, a poniżej możesz odczytać jaka...
Jeżeli chce ustawiać wartość początkową timer0, to oczywiście ma problem. Ale pytanie brzmi - po co? Timer powinien chodzić na okrągło z lub bez preskalera przepełniając się i zerując. A program ma zliczać przepełnienia i wprowadzać kalibrację, która i tak jest konieczna ze względów, które opisałem powyżej. dla 8 bitów: 4MHz / 4 / 256 = 3906,25 przerwań/s,...
Czy to jest avr-gcc? Jakoś nie kojarzę zapisu interrupt SPDR = dana_spi[dana_i]; while(!(SPSR & (1<<SPIF))); dana_spi[dana_i] = SPDR; to wszystko może być w pętli. Nie wiem czy piszesz w avr-gcc, tak więc nie wiem czy obowiązują w innych językach takie słowa jak volatile i takie traktowanie zmiennych.
A co jeżeli któraś ze zmiennych podana w warunku zmienia swoją wartość podczas jego sprawdzania? Warunek nigdy nie będzie spełniony. Po za tym wydaje mi się że lepiej byłoby najpierw wykonać operacje matematyczną i zapisać jej wynik do zmiennej a następnie porównać ją w warunku z inną. Lecz to tylko moje zdanie. Właśnie tak robię. y0yster : Pokaż jakiego...
uint8_t EEMEM uk_mem 1. W tablicy zapisuje wartości hex w formacie '0x00' do '0x0f'. Może lepiej będzie zapisywać je w formacie int 0-15, bo zajmie to mniej miejsca w pamięci? Co to są "wartości hex w formacie '0x00' do '0x0f'"? Łańcuchy znakowe, czy liczby 0 - 15? 2. Zmienna 'czujnik_mem' mówi czy w układ będzie włączony czujnik i przyjmuje wartości...
Właśnie pożądane byłoby uporządkować dyskusję ustalając, co może się posypać, a co nie podczas stosowania pól bitowych. Wydaje mi się, że po zastosowaniu poniższych zasad zmianie może ulec co najwyżej big/little, ale w ramach kompilatora jest to ściśle opisane: 1) 32-bitowy rozmiar kontenera pola, w przypadku enum sprawę załatwia deklaracja rozmiaru...
Samo stosowanie volatile jest oczywiste: zawartości rejestrów nie można buforować (co natomiast może robić kompilator w stosunku do zwykłych zmiennych - załadować raz do rejestru i tam trzymać jej kopię). Wprowadzenie __IO i innych poprawia czytelność - od razu wiadomo, że używa się rejestru IO, ewentualnie można zmienić define'a tak aby nic nie podstawiał....
a co to za plik nagłówkowy goodnies.h w tym załączonym pliku - deklaracja nagłówka pliku wav???
1. Maksymalna pojemność licznika wynosi 255 +1 na przepełnienie. 2. Żeby odliczyć 125 impulsów taktujących do przepełnienia trzeba wpisać wartość początkową 131, ponieważ 131 +125 impulsów = 256 - czyli dla 8 bitów =0 i przepełnienie. 3. Częstotliwość taktowanie, jak napisałeś wynosi 15625Hz, czyli przepełnienia licznika występuje co 125 impulsów 15625Hz/125...
TAk panowie dzisiaj nadszedł czas na opublikowanie softu do pilota na TINY25. Ale najpierw krótki opis zmian. Więc zrezygnowano ostatecznie z opcji latarki, ponieważ okazało się że dwie diody połączone szeregowo to za dużo dla małej bateryjki 3V i zasięg jest niedopuszczalnie mały, a i świecenie samej latarki pozostawiało dużo do życzenia, więc wywaliłem...
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...
Masz gotowca [syntax=c][code] #include <avr/io.h> #include <util/delay.h> unsigned int pomiar; // Zmienna do przechowywania wyniku pomiaru // LED #define LED_PIN (1<<PD5) #define LED_TOG PORTD ^= LED_PIN //makrodefinicja zmiany stanu diody //Klawisz #define KEY_PIN (1<<PD7) // definicja pinu do którego podłączony jest klawisz...
sekwencja bitów zamiana bitów bitów bascom
miska olejowy wymiana toyota prius bateria elektrownia wodna regulator
pralka stuka podczas wirowania złącze baterii
Toyota Starlet 1998 - Przyczyny dużego spalania Kompatybilność wiązki RD4 z radiem RNEG w C4 Picasso