dzień dobroci. #include "konfig.h" // sugerowalbym nazwy typu "config.h" volatile char Temp; // skoro odbierasz znak, to po co komu 16-bitow? ISR(USART_RXC_vect) { //Temp=0; // zbedne Temp=UDR; if (Temp=='1') // przynajmniej wiadomo o co chodzi { UDR=Temp; //echo tego co wysyla } } int main(void)...
O coś takiego chodzi? [syntax=c]char * Hex2Ascii( unsigned char *data, char *AsciiBuf, int length ) { while( length-- ) { *AsciiBuf = (*data >> 4) + '0'; if( *AsciiBuf > '9' ) *AsciiBuf += 7; AsciiBuf++; *AsciiBuf = (*data & 0x0F) + '0'; if( *AsciiBuf > '9' ) *AsciiBuf += 7; AsciiBuf++; data++; } *AsciiBuf = '\0'; return AsciiBuf; }[/syntax]
Funkcja "serialPort1_DataReceived " pobierze tylko 1 bajt. Zostanie on skonwerowany do postaci liczbowej - czyli do zakresu 0..255 i coś takiego wyświetlisz. Jeśli odebraną daną jest kawałek tekstu, to będzie to wartość liczbowa kodu ASCII odebranego znaku. Co w zasadzie chcesz odbierać? Tekst, czy liczby? Pojedyncze znaki ASCII można odebrać przez...
po jakimś czasie nad kodem doczytałem się, że konwencję 'liczby' masz jako znaki, jedno z trudniejszych do obliczeń (a tradycyjnie konwersja jest serią mnożeń rzez 10). Bez wódki tego nie wyobrażę sobie :) jak mawiali starożytni Rosjanie. Gdybym ja robił, wyznaczył bym sobie trzymanie liczby binarnie, w rejestrze, skonwertował do/z (nie ukrywam, mógłbym...
Chyba nie zrozumiałem pytania... Jak "napisać tablicę"? Normalnie: bierzesz długopis, kartkę i...piszesz :] Nie rob obslugi tekstów w C na sztywno zdefiniowanych tablicach. Znacznie lepiej robi się to wskaznikiem... Nie wiem jak ci pomóc, bo skad mam wiedziec co to jest 0x26 lub 0xB? Co to są za liczby? Nie są na pewno w ASCII (obok masz w komentarzu...
, jak wyglądałby napis "ELWRO", zakodowany na ośmiobitowej taśmie dziurkowanej? Układ dziurek zapisz jako zera i jedynki. W celu zakodowania napisu "ELWRO" na ośmiobitowej taśmie dziurkowanej, należy przypisać każdej literze odpowiedni kod ASCII, a następnie ten kod zamienić na zapis binarny. Dla litery "E" w kodzie ASCII odpowiada...
Liczba to kod hex ASCII minus hex30. Czyli np kod liczby 7 to hex37 Czyli prosta matematyka.
Jak byś pisał program do procka w C, to byś w prosty sposób sobie to "naprawił" ;) wynik = UDR - '0'; po prostu wysyłasz z delphi przecież panie kolego nie liczbę a znak ASCII - nie prawdaż ??? Zatem znak ASCII w postaci cyfry np "2" będzie miał wartość 50, znak cyfry "1" będzie miał wartość 49 - to chyba normalne. Zatem musisz od odebranej liczby (znaku...
Czesc Chcialem zapytac jak pobrac tekst z komponentu edit, by pozniej dokonac na nim zmieny na bitach. Chodzi o to, ze pobieram sobie jeden znak z ciagu np z:=edit1.text Przeniosłem z działu Komputery Software
W kodzie ASCII liczby te oznaczają "Konkurs" :) (at)Arkwyl - byłeś szybszy .
Problemem była by tylko konwersja ascii<->liczba, trochę długo by to trwało :D Wcale nie bylaby takim problemem :) zalozmy ze mamy liczbe 357, chcemy ja rozpisac na jedynki i zera. robimy sobie zatem kolumny, w kazdej kolumnie dokladnie jedna cyferka zapisana w czterech bitach 0011 || 0101 || 0111, sa ladne trzy kolumny, teraz przesuwamy o jeden...
nie wiem na jakim procku to robisz. Jeżeli masz możliwość podzielenia go z resztą przez 10 to dostaniesz wtedy wynik w postaci ilorazu i reszty, czyli 2 i 5. Potem do każdego z nich dodajesz 30h i masz ASCII
Witam. Nie znam bascoma (mogę pomóc w asm) ale z tego co już śledziłem tematy transmisji to bascom lubi "domyślnie" przekonwertować dane pomiędzy zmiennymi typu BAJT i ASCII i np wysyłając liczbę 23 w żeczywistości bascom wyśle kod ascii liczby 2 i liczby 3 czyli dwa bajty.... sprawdź czy w jakiś sposób nie są te dane powiązane (konwertowane).
Sposób który pierwszy narzuca się aby liczbę przedstawić w postaci tekstu to znaleźć ilość jednostek, dziesiątek, setek, tysięcy, itd... w danej liczbie (dzieląc przez 1000,100,10). Następnie te znaki pozostaje już tylko "przesunąć" do znaków ASCII, a wiec dodać 0x30. Dla przykładu mamy liczbę 123, liczba setek: 1, liczba dziesiątek 2, liczba jednostek...
Znalazłem program na odczyt w ASCII. Odczyt podobnie tylko wywołanie SVCREQ z 0 (odczyt) w R500 i 3 (ASCII) w R501. Dalej przesuwanie, zerowanie bitów wyższych od 16 (AND 255 bo operacje na słowach) i odejmowanie 48 (bo w kodach ASCII liczby zaczynają się od 48, patrz tablica kodów ASCII). Generalnie HELP z Cimplicity może dużo pomóc w zrozumieniu programów.
(at)oscil1 (at)excray Sądzicie że podpowiedzi mu coś pomogą ? Zerknijcie w historię (jak ja teraz). To kolega od zamiany Bascoma na ASCII
Witam, zastanawiam się czy jest jakiś sposób żeby w PicoBlaze wydzielić poszczególne cyfry z danej liczby. Potrzebne jest mi to do wyświetlenia tej liczby na LCD (a on obsługuje tylko możliwość wyświetlania przez kody ASCII pojedynczych znaków). Czyli np. mając liczbę 255 musiałbym wysłać na LCD sekwencję ASCII(2), ASCII(5), ASCII(5) Problem pojawia...
Myślenie trochę błędne. ASCII to standard który przypisuje liczby znakom alfabetu. Zgodnie z tablicą ASCII tekst "Artur Drozdz" będzie się przedstawiał następująco: HEX: 41 72 74 75 72 20 44 72 6F 7A 64 7A 0D 0A DEC: 065 114 116 117 114 032 068 114 111 122 100 122 013 010 Przejrzyj tablicę ASCII np. [url=http://pl.wikipedia.org/wiki/ASCII]... Nie...
Nie chcę Cię martwić (bo jeżeli Twój kod działa jak powinien to OK), ale to co robisz w pierwszym poście 1 i 3 nie jest sobie tożsame. Kod w #1 jest jak najbardziej prawidłowy. Typ char to dla platformy .NET tak naprawdę 16-to bitowa liczba z zakresu 0...65535 Więc taki kod: znak o kodzie ASCII = 4 . Do tego w zasadzie typ char został stworzony. Jeżeli...
Ord, Chr, DecToBin (to już specyficzne dla kompilatorów niektórych)
Kod ASCII służy jedynie do wyświetlania wyniku. Kolejne elementy tablicy tab zawierają kolejne cyfry wyniku. Tablica jest typu znakowego, a do wyświetlania typu znakowego służy ASCII - np. liczba 48 jest wyświetlana jako '0', liczba 49 jako '1', 50 jako '2', itd. Gdyby tablica była typu int, to liczby by były wyświetlane normalnie, czyli 1 jako 1, itd.,...
No cóż, wiesz jak zmienna char przechowuje znaki? Raczej nie zapiszesz w pamięci komputera np 'A' albo 'C'. Zmienne typu char przechowują znaki własnie w postaci liczb (Tu poczytaj trochę o ASCII). Wiec wniosek jest proty, losujesz liczbę z odpowiedniego przedziału (jesli rzuciłeś okiem na tablice ascii to bedziesz wiedział o co chodzi :) ), zamieniasz...
1 to liczba o wartości jeden. '1' to także liczba, ale reprezentująca kod znaku ascii cyfry jeden, czyli 49: http://obrazki.elektroda.pl/8342818400_1...
Witam. Mógłby ktos doradzić jakiej funkcji uzyć i w jaki sposób,aby zamienić ciag znaków ASCII z LCD na liczbe typu int ??? Dziękuje z góry pozdrawiam:)
Nie wiem po co ci takie udziwnienie, zobacz tabelę ASCII. Liczby są od 48 do 57 w dziesiętnym. Zanim skonwertujesz zmienną Dana najpierw sprawdź czy nie znajduje się w tym przedziale przy pomocy np. Select case Patrząc na Twój kod w linku co podałeś to w ogóle nie wiem na co Ci ta konwersja do wartości liczbowej ? Przecież by wyświetlić jakąś liczbę...
Jeśli chcesz gotowy kod to masz go w przykładach do książki do ściągnięcia za darmo z ftp helionu. Możesz sobie tam zrobić dowolną liczbę wyświetlaczy, o ile pamiętam kod jest okomentowany, więc nie powinno być problemów. W powyższym kodzie żeby zwiększyć liczbę cyfr trzeba dodać kolejne case w ISR, co jest pomysłem takim sobie. Warto też wyświetlaną...
Jeżeli zmienna2[0] == 0x31; //znak '1' zmienna2[1] == 0x32; //znak '2' //czyli liczba w ascii 12 to robisz zmienna1 = (zmienna2[0]-0x30)*10 + zmienna[1]-0x30; lub jeżeli zmienna2[0] ==1; zmienna1[1] ==2; //czyli liczba 12 to robisz zmienna1 = zmienna2[0]*10 + zmienna[1];
Ależ w funkcji lcd_int() nie masz nic wspólnego z rzutowaniem zmiennych a szczególnie float. Jest tylko zamiana liczby binarnej na ASCII za pomocą wbudowanej funkcji ITOA (Integer To ASCII) zastanów się jakie zakresy liczb może pomieścić typ int (czytałeś o typach ? - spróbuj zajrzeć do tabelki bo masz taką w książce na 1000%) to po pierwsze wyjaśni...
...Gdy z terminala wysyłam 2 to procek zwraca mi 50 gdy 1 to 49 gdy 3 to 51 itd Pewnie gdyby a była single to by było O.K. "Kłaniają się" typy zmiennych. Kiedy do terminala wpiszesz 2 , to po łączu szeregowym do uC , jest wysyłany kod ASCII cyfry 2 , czyli dziesiętnie 50.Instrukcja print , "przetwarza" owe 50 na ciąg znaków ASCII reprezentujących liczbę...
dzięki, tylko to"ORL A,#30H ;ZAMIENIAM JA NA ASCI " wystarczy żeby zamienić liczbę 4bit na ASCII? A i jeszcze czy żeby wyrzucić na port nie trzeba zrobić jakiegoś Out'a?dzięki i pozdrawiaam
No tak, ale to jest char "0" A to jest char: '0' . Widzisz drobną różnicę? Próbowałaś tego drugiego sposobu? A co do tego z samymi liczbami - możesz równie dobrze podać jako liczbę, ale nie '9' tylko kod ASCII dziewiątki.
W asemblerze wstawiasz : etykieta: .db "Jakis napis",0x0a,0x0d,13,12,0 .db "dalsza czesc tego samego napisu" itd. a wyciagasz z flasha: ldi zh,HIGH(etykieta<<1) ldi zl,LOW(etykieta<<1) lpm acc,z (lub z+) Ten napis w "" zostanie przekonwertowany na znaki ASCII. Jesli kody twoich liter nie sa...
Też się przyłączam do gratulacji. Nic nie cieszy bardziej niż pytający, któremu się chce samemu rozwiązać swój problem, a nie tylko czekać, aż ktoś to zrobi za niego. :-) Przy okazji zaznaczę, że napisanie kodu, który działa, to tylko połowa sukcesu. W dodatku ta mniejsza połowa. ;-) Naprawdę ważne jest by kod działał prawidłowo w warunkach brzegowych,...
znaczy się problem jest z zamianą zmiennej typu int na zmienną łańcuchową? jeśli tak to coś w tym stylu powinno zadziałać: char tmp[6]; // dla zmiennej int wystarczy int ile_cyfr = 0; while (liczba>0) { tmp[ile_cyfr]=(liczba%10)... // 48 - kod ASCII zera; zmieniamy pojedyncza cyfrę na znak liczba = liczba / 10...
Witam. Nie wiem czy nie popełniasz błędu w rozumieniu co to jest DB. Jest to miejce w Twoim programie, a więc nie możesz napisać: <DB zmienna>, bo byłaby to stała, zapisana w EPROM programu. Na zmienne wykorzystaj komórki RAM, np. rejestry. Umieść w R0 wartość ASCII liczby 2: MOV R0,#50 i wyślij go do LCD swoją procedurą wysyłającą. MOV A,R0 ;jesli...
można by generować losową liczbę, której odpowiada kod ASCII. wylosowaną liczbę jak zapiszesz w zmiennej typu char to możesz bez problemu wyswietlić (np. w konsoli) losowy znak z klawiatury. A dalej to odmierzanie czasu np. używając jakiejś pętli z licznikiem z równoczesnym sprawdzaniem bufora klawiatury. To tylko jakaś koncepcja tego programu :)
0x30 + 5 i masz kod ASCII liczby "5" to wysyłasz do LCD i masz piątkę na ekranie. Nic prostszego nie da się wymysleć. Na marginesie pytanie przypomina mi to które dawno temu zadal mi przyszły pracodawca i poprosili mnie aby wydrukować literę "a" z poziomu dbase na drukarce. Udało sie choć nie bez problemu, bo zapomnialem o znaku końca karetki i trzeba...
Da sie to zrobić oszczędniej. Mój pomysł: void print (unsigned int data) { unsigned char l,t[5]; for (l=3;l<4; l--){ t[l]=data%10; data/=10; } //t[4]=0; //wedle uznania :) //w stringu t bedziesz miał swoją liczbę podzieloną na 4 cyfry // ale nie ascii - zeby bylo ascii to dodaj 0x30 //...
Napisz sobie sam ta funkcję 1) instrukcją MID rozetnij stringa na 3 znaki ascii 2) liczbę w ascii przypisz do bajtu 3) odejmij od bajtu 48 4) teraz bajt setek pomnóż przez 100, bajt dziesiątek przez 10, a bajt jedności zostaw jak jest 5) dodaj te 3 bajty A wogóle to staraj sie unikać konwersji string<>liczby bo to zżera tylko pamięć. Nie możesz...
(51) napisz program konwersji 4 bitowej liczby z akumulatora (0-15) na znak ASCII. Zapisz wynik w: pamieci pod adresem 8000h, wyslij na P0, wpisz do pamieci ostatniej komorki (najstarszej) pamieci wewnetrznej RAM Zeby przeprowadzic konwersje wystarczy dodac odpowiednik zera z tablicy ascii do tej liczby (48). HEX 0x30
jest tam przeliczenie QW na system dziesiętny i konwersja na ASCII
53 - to kod ASCII '5' 54 - to kod ASCII '6' 55 - to kod ASCII '7' 56 - to kod ASCII '8' można odjąć od każdej liczby kod ASCII '0' czyli 48.
Zaczynasz wprowadzanie znaków od najstarszych pozycji, nie? Jeśli zaczniesz od 0, to będziesz miał (na starcie) liczba = 0 liczba = 0*2 + '0' - '0' // kody ascii objaśnił Łuk_F czyli liczba się nie zmieni, ciągle będzie wartość 0. Gdy trafisz na pierwszą jedynkę dostaniesz liczba = 0*2 + '1' - '0' czyli w liczbie pojawi się 1. Kolejna jedynka liczba...
Pisząc o dodawaniu masz na myśli, że jeżeli base jest np. 2 to jak przekształcamy na dziesiętnt to musimy dodawać wartości wymnożone i odpowiednio podniesione do potęgi drugiej? Nie.... Przykładowo masz ciąg "124" reprezentujący liczbę 124, a więc Bierzesz pierwszy znak z lewej (1 - kod ASCII 49) taka jest wartość bajtowa zmiennej char. Odejmujesz...
Dla wyjaśnienia: 48 to numer porządkowy cyfry "0" w tabeli ASCII. Kolejne cyfry mają kolejne numery, więc w ten sposób przeprowadzana jest konwersja z liczby na znak.
Oki, jest wstępna wersja programu. Program: 1. Odczytuje plik z serwera 2. Pobiera linię zawierającą stan wyprowadzeń urządzenia (zer nieznaczących nie trzeba wpisywać) 3. Sprawdza poprawność danych 4. Wysyła dane do urządzenia w formacie: Wx , gdzie W -komenda zapisu do uC; x -znak ASCII reprezentujący liczbę od 0-255 (stan wyprowadzeń) 5. Wysyła R...
Witam, przesyłam wartość zmiennej z jednego uc do drugiego po rs232. Wykorzystuje printf("%u", zmienna); jeśli do "zmiennej" wpisze wartość np. 7 do drugi uc wyświetla mi nie 7 a 55 co odpowiada cyfrze siedem w kodzie ASCII. Mo je pytanie, jak wysłać wartość "zmiennej" jako liczba a nie kod ASCII. Dodam , że wysyłając z terminala 7 jako kod ASCII na...
Ustal sobie po stronie uC jakiś format ramki, np. 0xFF - początek ramki [asci] [asci] [asci]-3 cyfrowa liczba w formacie ascii - PWM1 [asci] [asci] [asci]-3 cyfrowa liczba w formacie ascii - PWM2 0xFE - koniec ramki i potem w programie rozkodowuj wg. tych znaczników
Jak masz liczbe juz na BCD przekonwertowana to wystarczy dodac do kazdego znaku liczbe 48 i otrzymujesz kod ASCII i to mozna juz na LCD wyslac np Oczywiscie jezeli chodzi o liczby od 0 do 9 :) masz np liczbe 236, w BCD masz 3 liczby wiec 2,3 i 6 do kazdej dodajesz 48 i gotowe tj. 2+48=50 a to w ASCII jest '2' itd. czyli zeby licze 2 na LCD ptrzy mac...
Usart działa dobrze. To co otrzymujesz do wartość acsii pierwszej liczby. Innymi słowy - terminal nie wysyła liczby, którą wpiszesz, tylko znak. W kodzie ASCII '0' = 48, '1' = 49, itd. Otrzymujesz więc tylko pierwszy znak jaki wyślesz. jak wyślesz z terminala 'p' to powinieneś otrzymać 112
Witam! Sądziłem, że skoro został wywołany plik cstdlib.h to funkcja atoi jest Koledze znana. Funkcja int atoi(char *), zawarta właśnie w cstdlib.h, przetwarza liczbę zapisaną w formie ciągu znaków ASCII na liczbę typu int. Komplementarną do niej jest funkcja itoa. A oto prymitywna wersja atoi: [syntax=c]int moje_atoi(char *s) // prosta funkcja przetwarzająca...
Według mnie Jeśli chodzi o wysyłanie ascii (7bitów ) + bit parzystości, to problem jest prosty do rozwiazania. Co prawda piszesz ze chcesz wysylac 7 bitow plus bit parzystosci ale go nie wysylasz, wysylasz tylko 7 bitow o parzystosci zapomniales Jeśli chodzi o wysylanie liczby 1+ cyfrowej to wystarczy ją podzielic na np tysiace setki dziesiatki jednosci...
Te liczby to są kody ASCII, przykładowo 65 dziesiętnie w ASCII to "A", 84 to "T".
int modulo (char * t) { // t[0] MSB int p=0; while (*t) p= ((*t++)-'0' + p * 2) % 3; // 2 bo dwójkowo, // 3 bo modulo 3 // '0' albo 48 bo kod ASCII return(p); }
Ten układ używa sterowników portu wirtualnego szeregowego COMx. Jeśli wyśle sie jakiś znak ASCII lub liczbę HEX do tego portu to wówczas zostanie wystawiony na wyjściu równoległym zakładając że sygnały są połączone jak pisałem wcześniej. Rysunek Twój jest dobrym rozwiązaniem :)
Z kontekstu wynika, że funkcja uart_puts(x) powinna przyjmować argumenty typu char, czyli znaki. Wysyłając zwykły bajt dostajemy jakiś znaczek rozszerzonego kodu ASCII - czyli zwykle "kwadracik". Chcąc dostać liczbę należy wysłać kolejne znaki ASCII reprezentujące cyfry. Czyli przed wysyłką należy zamienić liczbę na tekst. Można to zrobić funkcjami...
Tak jeżeli twój terminal obsługuje znaki sterujące. Kompletne polecenie wysłania wiadomości SMS wygląda następująco: AT+CMGS="+48XXXXXXXXX" <CR> Tekst wiadomości <CTRL+Z> <CR> - „Carriage Return” w tablicy ASCII ma numer 13 (0x0D). W terminalu ten kod będzie wysyłany po naciśnięciu klawisza [Enter]. <CTRL+Z> - "Substitute"...
Tablica znaków mieści się w zakresie 256, czyli w 4 bitach kodu maszynowego. No chyba jednak nie - potrzeba 8 bitów aby wyrazić 256 różnych wartości (2 do potęgi 8 = 256, 2 do potęgi 4 to jest tylko 16). Przemyśl różnicę między adresem a datą w mc - chodzi o rok/miesiąc/dzień czy o dana w pamięci? Mieszasz nazwy i pojęcia więc trudno zrozumieć. Stosujesz...
Nie widzę tu jakichś prawidłowości. Ja widzę, pierwsza - regularnie występują bajty synchronizacyjne 7f, 7f a po nich wartości binarne. Jedno jest pomieszane - część bajtów jest HEX a część jako ASCII a to strasznie miesza - trzeba te ASCII zamieniać na HEX i potem dekodować liczby. Problem jest jak pojawi się spacja bo słabo ja widać a też ma swój...
Witam Jeśli dobrze rozumiem zdanie: "na zmienienie wartości string odczytanej z eeprom na zwykły tekst" masz na myśli zamianę liczby (zapisanej w kodzie ASCII ?) na jej odpowiednik znakowy. Program, który wykorzystałeś bazuje na kodach ASCII znaków, (komentarz przed tabelą znaków Fontlookop), dlatego też po mojemu niepotrzebnie stosujesz zapis: Czytaj_str...
No właśnie nie potrafię. Nie wiem jak zamienić ciąg znaków na liczbę. Generalnie to wszystko się sprowadza nawet nie do zamiany ascii hex tylko liczby dziesiętnej na hex. Ale coś mam dzisiaj kłopoty z myśleniem. Szukałem na google i znajdowałem jakieś rzeczy ale nie do końca mogę zaskoczyć o co w tym chodzi. Zastanawia mnie po prostu jak zamienić hex...
Dopytam jeszcze korzystając z wątku nt. CRC - dlaczego w modbus'ie ASCII liczymy LRC a nie CRC? Przecież zasadniczo ASCII to są liczby, więc CRC można dla takiej ramki bez problemu policzyć. Skąd ta różnica w podejściu?
Napotkałem na dość dziwny problem. Gdy przez SerialPort wysyłam liczby od (char)0-127 to wszystko jest ok. Gdy liczba jest mniejsza od 0 lub większa od 127 to jako odpowiedź otrzymuję liczbę 63 (ASCII: "?"). CO zrobić, żeby dało się wysyłać liczby od 0 do 255?
Niżej głupoty :P Lepiej w wiki sprawdzić :] nie 100% głupoty ale mija się z prawdą, (Link post niżej dał kolega) HEX jest zapisany jako liczba 16 w ASCII czyli 8 bitów zajmuje 16 + do tego adresy komórek początkowych co jakiś czas (bynajmniej tak mi się wydaje) :1000000012C02CC02BC02AC029C028C027C... Tak wygląda 1 linijka pliku HEX Adres: :10000000...
Problem jak w temacie. Pobieram rozmiar pliku do edx i w jaki sposób taką liczbę przekonwertować na ASCII?
Witam poszukuje procedurki zamiany 3 bajtowego hexa na ascii np FFFFFF >> 16777215
Chyba się udało :D Podsumowanie i przykładowe kody w Pythonie - wykorzystywany algorytm CRC MAXIM czyli wielomian x8+X5+X4+X0 jako generator ciągu pseudolosowego [syntax=python]# Define a function `crc8()` def crc8(x): if x & 0x01: x = (x >> 1) ^ 0x98 else: x = x >> 1 return x [/syntax] - obliczanie ograniczyłem tylko do obszaru danych...
Tu nie ma co konwertowac - liczba jest ta sama - kwestia tylko sposobu wyswietlania. Pokaz Twoje funkcje do wyswietlania i ta tablice. BF
Rozumiem, że chodzi o to, aby liczby 0-9 zamienić na kod ASCII znaków 0-9 ? Jeśli tak to wystarczy do każdej z wartości dodać liczbę 48 (dziesiętnie), czyli 30 (hex). 30h to kod ASCII zera - patrz tabela znaków ASCII.
Mogę przełączyć licznik na ASCII wiec spróbuje. A liczbę (sumę?) kontrolną wylicza się z zapytania czy jest ona z góry ustalona ?
Jakoś znakami ASCII zrobić? tzn? To jest program, który losuje duże litery z tablicy ASCII, zapisuje je do tablicy i potem drukuje. PS. na podstawie tego zrób reszte, to nie jest trudne.
Głównie masz taki problem, że robisz coś, tak naprawde nie wiedząc co robisz (mówię o pierwsyzm programie). Gotowca nie dam, za to podpowiem: przy rzutowaniu typu char na int, czyli: (int)s[i]; Dostajesz liczbę, która jest kodem ASCII tego znaku. I tak: kody ASCII cyfr to liczby 30-39, dużych liter 65-90, małych liter 97-122. Powinieneś...
Liczbę dzielimy z resztą przez kolejne potęgi 10^n, aby otrzymać jedności, dziesiątki, setki, tysiące itd. Robimy tablicę samych cyferek ASCII i indeksujemy ją liczbami dziesiętnymi otrzymanymi z naszej liczby + #48 (znak zero).
Zwróć uwagę na to, że "terminal" na PC wyświetla liczby wysyłane w ASCII. Tylko gdzieś w programie dodawana jest liczba 128 do "zmienna". Stąd ć i ó. To tak, jakby następowała zmiana znaku liczby, na minus. Chyba, że ja się też mylę.
Wpisuje liczbę i daje wyślij jako liczba lub jako ASCII i jest to samo. Używam RealTerm jako terminala
jak zamienić pojedyńczą literę na kod ASCII? Przecież litera jest zapisana w pamięci jako liczba - kod ASCII... okej, inne pytanie: jak "odczytać" ten kod ASCII? dokładnie to chcę wpisać pod zmienną 'k' kod ascii jakiejś litery...
Tylko, że ja właśnie nie wiem jak dokonać tej konwersji ;/ Jak rzutuje to mi wstawia znaki według standardu ASCII.
Faktycznie jest coś takiego i nawet widać, że wpływa na uC. Po ustawieniu 0xFF nic nie działało, więc ustawiłem 0x7F. Niestety wysyłanie nadal nie działa... Sprawdziłem jeszcze miernikiem czy wszystko "łączy" i jest ok. Dziwne. PS. Jaki jest najprostszy sposób zamiany liczby ascii na znak w C?
jak byś zerknął do tej dokumentacji, tak jak mówiłeś, to tam pod koniec jest taka tabela z literkami, łatwo można zauważyć ze literom odpowiadają ich kody ascii, wysyłając więc na wyświetlacz 'a' wysyłasz tak naprawdę do niego 0x61, jak zerkniesz w w/w tabelkę to jest to kod znaku 'a'. Literki "ł" zauważ tam nie ma, po wprowadzeniu jej do pamięci jej...
W programie terminal znak $ oznacza, że znak ASCII jest wpisywany szesnastkowo w $xx, natomiast znak # przed liczbą oznacza, że znak ASCII jest podawany w postaci dziesiętnej #xxx. Można te sposoby stosować naprzemiennie według uznania. Tutaj masz link do strony programu gdzie w opisie można znaleźć przykłady zastosowań: https://sites.google.com/site/terminalbp...
Witam, chcę sobie napisać funkcję która będzie mi zamieniała zmienne liczbowe typu char na znaki ansii, wiem jak zamienić dowolną liczbę na tablicę: char tablica Ale nie wiem jak zamienić jakąś zmienną na tablicę. W sumie wymyśliłem sobie to tak że biorę zmienną np a="12345" i rozbijam ją na tablicę znaków tab[0]='1' tab[1]='2' tab[2]='3' tab[3]='4'...
Bo to wczytanie to wczytanie znaku, a potem traktujesz go jako liczbę. Musisz najpierw przerobić wczytany znak na liczbę odejmując od kodu ASCII znaku wartość tak, aby wyszła właśnie cyfra.
Najpierw zamienisza na dziesiętną: 0xh1h2 Ld=h1*16+h2 a potem: bajt_jednosci=(reszta z dzielenia)Ld/10; Ld=Ld/10; bajt_dziesiatek=(reszta z dzielenia)Ld/10; bajt_setek=Ld/10; Żeby teraz dostać z tego znaki assci dodajesz do bajtow 0x030 (czyli 48 dziesiętnie). BTW to szukaj, szukaj, szukaj - było to już omawiane wiele razy.
Witam, mam napisac program (w asm) który mierzy czas pomiędzy wcisnieciami przycisku. Zaimplementowałem to w taki sposób ze podczas przepelnienia się timera 0 zwiekszany jest akumulator, gdy ktoś znowu wcisnie przycisk to timer jest stopowany i nastepuje wyjscie z petli do czesci programu odpowiedzialnej za obliczenie i wyswietlenie wyniku. Czas zapełenia...
Jestem chyba przemęczony, sprawa wydaje się banalna ale chyba mi coś umyka bo nie mogę przesłać liczby dziesiętnej z arduino przez bluetooth na telefon. np. wysyłam liczbę 48 to oczywiście do telefonu trafia w kodzie ascii "0". Potrzebuje przysyłać różne liczby co 100 milisekund. BTSerial.write("48") działa ale liczba ma się zmieniać co chwile więc...
Przesunięcie przesuwa i nic nie ustawia. Do przesuniętej liczby dorzucamy na koniec wartość binarną kolejnej cyfry, a tę uzyskujemy przez odjęcie kodu ASCII cyfry 0 lub stałej o wartości 'A' - 10 (w ten sposób A daje 10, B - 11 itd.)
Czyli przyda się funkcja wysyłająca dane w pakiecie typu 0x20 o nazwach ASCII i z konwersją liczby wedle Twojej funkcji? Zainteresowałem się tematem "pogody" dla danej pozycji na mapie, nie ma z tym problemu, dodam sterownik tego do OBK: https://obrazki.elektroda.pl/9488099800_... Added after 28 PS: Nie wiem, czy widziałeś: [url=https://www.elektroda.pl/rtvforum/t...
Witajcie! Mam problem z zamianą liczby formatu word na ASCII, muszę ją wyświetlić na LCD. 16bit zajmuje max 5 pozycji. Czy nie macie dostępu do jakiegos programiku? Za wszelką pomoc bede wdzieczny:) acha najlepiej zeby był to programik napisany w C Pozdrawiam
tak pytam z ciekawości .Mianowicie żeby procesor(program ?)zinterpretował jakieś polecenie assemblera czy innego języka to musi się odwołać do rejestrów pamięci (czy coś tam podobnego;P).W kodzie maszynowym są zdaje się same liczby ,później znaki ascii(właściwie i liczby i znaki).Czyli skądś musi(procesor)wiedzieć że tam np move oznacza ruch w pamięci...
[syntax=basic4gl]If Znak = 49 Then '49='1'[/syntax] Wyjaśnienie. Znaki, czyli cyfry, litery, inne znaki i znaki nie drukowane mają swoje kody ASCII. Cyfrze 1 odpowiada liczba 49 (dziesiętnie), a literze A liczba 65. Spokojnie używając jednego znaku obsłużysz jeszcze wiele poleceń. Znajdź sobie tablicę kodów ASCII.
Witam Poszukuje terminala dla Windows - coś w stylu HyperTerminal, ale chciałbym żeby ów terminal wysyłał na port szeregowy zapis w kodzie HEX, tzn. przykład: Jeśli w oknie terminala napisze np. 0xAA to chciałbym żeby właśnie taka wartość została wysłana. Standardowy terminal wyśle bajty podanej wyżej liczby czyli 0 - jeden bajt, x - drugi bajt, A -...
w którym jest zpisane hasło Myślę że mój iloraz inteligencji pozwala mi to zrozumieć. Ile bajtów ma hasło? Pytam 3 raz. do podglądu czy zagrania projektu. Podgląd i zagranie projektu - tego moja wiedza mi nie pozwala zrozumieć. Pod adresem 0590h masz bajt 43hex, jest to znak C w kodzie ASCII lub liczba dziesiętna 67. Nie odpowiedziałeś mi jeszcze na...
aster , jeżeli się używa konkretnego protokołu to naprawdę nie jest potrzebne wysyłanie reprezentacji liczby w ASCII. Można na przykład wysyłać takie ramki: [komenda:8][długość danych:8][dane:x][suma kontrolna:8] Ale jeżeli zawsze mają to być dwa bajty wysyłane, to wystarczy wysyłać je w takiej postaci w jakiej są. Oczywiście wtedy może pojawić się...
ASCII CODE
Witam. Mam proble ze znakiem :/ mam w charze tak: char znak='4' to jak zrobić żeby zmienna znak zmieniła się na liczbę czyli normalne 4?. Bo jak robię konwersję z char na int to mi wyskakuje kod ASCII :/
Witam! Walczę z tym i za nic nie mogę tego przeskoczyć. Piszę program, który przez rs232 (9600bps) otrzymywał będzie znaki ASCII (sporą ilość nawet do 200) jego zadaniem będzie łączenie znaków w pary i przetwarzanie ich. W zasadzie algorytm jest łatwy, ale niestety mikro się nie wyrabia mimo ze wlutowałem rezonator 10 MHz. Ja napisałem to tak: Do B...
program w ibasic professional instr(x, y) szuka stringu Y w stringu X i zwraca jego index lub zero chr$(x) zmienia liczbę X na znak ascii (string) liczba: string z liczbą do konwersji; tylko cyfry i wielkie litery podstawa: 1-36 print ToDec("157", 8) print ToDec("FFFF", 16) getch() sub ToDec(liczba:STRING,...
Odbierasz bardzo dobre wartości - są to Twoje 1 i 2 w kodzie ASCII (warto zapoznać się z tablicą znaków w kodzie ASCII). Konwersja cyfr to po prostu odjęcie 48 od odebranej wartości.
Witam! Twierdzisz, że potrafisz posortować liczby a wyrazów nie? Zastanów się jak się robi alfabetyczny spis treści. Mała wskazówka: Przy sortowaniu liczb używasz operatorów <, > lub == do określenia "starszeństwa". Musisz zastąpić te operatory funkcjami porównującymi (albo zdefiniować te operatory dla tekstów jeśli potrafisz). Na przykład stwórz...
Start: MOV SCON,11010000B ;... NIE SPRAWDZAM CZY JEST DOBRZE USTAWIONA TRANSMISJA MOV TMOD,00100000B ;... NIE SPRAWDZAM CZY JEST DOBRZE USTAWIONA TRANSMISJA MOV TH1,#243D ;..... brakowało "#" a samej wartości 243 nie sprawdzam :-) MOV TL1,#243D SETB TR1 ;................ włącz taktowanie SETB REN ;................ włącz odbiornik ELO: JNB RI,$ ;.....................
string liczbę liczbę portów wyswietlic liczbę
minidisc laser finlux chassis zegar pierwotny
telefon stacjonarny klawiatura edc16c3 pinout
Pilot do Kenwood KRF-V5010: Oryginał i Zamienniki Jak zdemontować ramię tylnej wycieraczki Freelander 1?