PORTC &= !(1<<1); PORTC &= !(1<<2); PORTC &= !(1<<PC0); PORTC &= !(1<<5); PORTC &= ~(1<<1); PORTC &= ~(1<<2); PORTC &= ~(1<<PC0); PORTC &= ~(1<<5); Najpierw pousuwaj tego typu krzaki a potem zoptymalizuj to...
Po konwersji część ułamkowa zostaje "utracona". Zmienna przyjmuje wartość jedynie części całkowitej bez zaokrąglenia, czyli: 2,9 (single) po konwersji na integer to 2
Ta biblioteka to raczej nie dla mnie, jak bym potrzebował to bym sam napisał, zresztą jest tyle przykładów że jest się na czym wzorować. Tu bardziej chodzi o to że jak coś umieszczamy to raczej w całości niż kawałek który może spowodować dalsze problemy.
A umieściłeś wcześniej instrukcję: Declare Sub getkbrd ?
[syntax=c]int Przod = A3; int Tyl = A2; int Lewo = A1; int Prawo = A4; // warunek: if (digitalRead(Tyl) == LOW && digitalRead(Lewo) == LOW && digitalRead(Przod) == LOW && digitalRead(Prawo) == LOW) { // to sie wykona jesli jest spelniony warunek }[/syntax] pilot jest conajmniej niewygodny, kup jakiegos uszkodzonego pada i wmontuj ten pilot do niego.
...Czy istnieje jakiś sposób, aby ostateczną zmienną 'Ss' (string) zapisać w zmiennej typu Single (lub innej?) aby umozliwic porównanie jej z tą zapisaną w eepromie? A może ktoś zna inną metodę na rozwiązanie tego problemu? Z Twojej wypowiedzi wynika , że nie wiele masz wspólnego z programowaniem uC - ale mniejsza z tym. Zmienna string jest potrzebna...
http://www.elektroda.pl/rtvforum/topic22...
rezultat = HIGHW( zmienna )
Tutaj są operatory bascom/basic: [url=http://www.avrhelp.mcselec.com/inde... - pomoc Bascom AVR online, strona producenta, j. angielski [url=http://sp2ikp.110mb.com/pages/micro... - kurs Bascom, plik .doc, znalazłem w googlach, j. polski Tutaj operatory C/C++: [url=http://pl.wikibooks.org/wiki/C/Oper...
To może taki kolorowy obrazek z LCD ;) Deklarujesz tablicę czterech bajtów Arr(4) As Byte Na tę tablicę poprzez Overlay nakładasz Single Ładujesz swoje cztery bajty po kolei do tablicy Arr(1) - Arr(4) a wyświetlasz Single. Proste jak świński ogon ;) https://obrazki.elektroda.pl/3578008500_...
Witam, Napisałem program w BASCOM AVR, z komputera otrzymuje dane np: "14" te dane są i muszą być odbierane do zmiennej typu string. Mam problem z: chciałem tą zmienną ze zmiennej typu string przypisać do zmiennej typu BYTE. Nie wiem jak by to zrobić. Probowalem już kilu sposobów ale zawsze otrzymywałem jakieś bzdury w zmiennej typu byte. Czy istnieje...
Hej! Zobaczcie jak ja to robię, może komuś sie to przyda: 'Powiedzmy ze zmienna Liczba(single) wynosi 22.62555426 Temp = Int(liczba) ' dzieki temu poleceniu odcinam czesc setna czyli ' zmiennej Temp(byte) przypisuje liczbę 22 Liczba = Frac(liczba) ' dzieki temu poleceniu odcinam czesc ' dziesiętną czyli zmiennej Liczba(single) przypisuje ' liczbe 0.62555426...
Witam. Trochę to mętne , ale spróbuję ci jakoś pomóc. Każda zmienna jest przechowywana w pamięci w postaci dziesiętnej. Możesz ją zadeklarować jako kod szesnastkowy np. : zmienna= &HFF00 Ale i tak w pamięci zostanie zapisana jako konkretna wartość. Nie wiem do czego potrzebujesz, ale domyślam się że chcesz to wyświetlić jako wartość szesnastkową. Wartości...
Nie ma takiego. I nie będzie w ciągu najbliższych 100 lat. Dodano po 33 Chyba że chodzi Ci o zmianę rozszerzenia ;)
To tylko opóźnienie. DJNZ zmniejsza zawartość rejestru R7 i skacze do etykiety Et1, aż wartość tego rejestru będzie równa zero. W bascomie można użyć instrukcji waitus 40 w tym przypadku będziesz miał opóźnienie 40 us
Zajrzyj też [url=http://www.elektroda.pl/rtvforum/to... Tu była podobna dyskusja na ten temat. Pozdrawiam
Po krótce - w ASM musisz wiedzieć pod jakim adresem jest dany rejestr peryferium i do niego sie odnieść. A to ciekawe, co piszesz, bo asembler stworzono właśnie po to, aby nie trzeba było tych adresów pamiętać i zamiast tego używać właśnie ich nazw ;) Post nieprawidłowo łączy dwa tematy. Adresy symboliczne w JEZYKU assemblera Znajomość architektury...
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Zapis koloru w postaci HEXa, to po prostu konwersja liczby z systemu dziesiętnego na szesnastkowy. Np. kolor jasny zielony: rgb(173,255,47) == #ADFF2F
[syntax=c] void LcdPrintChar(char character) { LcdSendData( character ); } void LcdSendData(unsigned char data) { LcdRSset; // RS=1 LcdSendNible( data >> 4 ); // Starsze 4 bity LcdSendNible( data ); // Młodsze 4 bity } void LcdSendNible(unsigned char data) { if ((data & 1) != 0) {LcdD4set;} else LcdD4clr; if ((data & 2) != 0) {LcdD5set;} else LcdD5clr;...
Witam Co do przeliczania wartości na temperaturę nie będę się wypowiadał bo w wielu publikacjach było to prezentowane. Natomiast zajmę stanowisko w sprawie wyświetlacza LED. Proponowałbym z obsługi przerwania usunąć procedurę pobrania znaku do wyświetlenia. O wiele lepiej zrobić to w programie głównym. Zbyt długie przebywanie w obsłudze przerwania może...
NA "setki" "dziesiatki" i "jednosci" NIE WIEM JAK ZROBIC, zeby przy malych predkosciach (ponizej 10km/h) wartosc na wyswietlaczach byla zmieniana co 1 sekunde (4xtimer1) Dim Speed As Byte ' Prędkość Dim Tmp As Byte Dim I As Byte Dim Index As Byte Dim Mmv as Byte *** Rozbicie na 3 cyfry *** Dim Cyfry(3) As Byte Speed = 147 ' W Polsce to zakazane...
Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
Witam. Mam pytanie: w jaki sposób przetłumaczyć kod zczytany z mikrokontrolera o rozsze()żeniu bin na czytelny program w bascom (np. tak abym mógł potem go przerobić). Pozdrawiam
http://avrhelp.mcselec.com/index.html?st... Potem dodadwać i mnożyć razy 4 w forze. Dodano po 18 PS. Tak z ciekawości jakie urządzenie zwraca w kodzie czwórkowym?
Siemka ugh123 :D Co prawda nie mam tego wyświetlacza (Nokia), lecz o wiele większy. Ale do do tematu. Pliki ".bgc" są zapisywane w 8-bitowym kolorze, Ja pracuję z 16-sto bitowymi kolorami, więc konieczna jest konwersja z 8 na 16 bitów. Informacje na temat wymieniony przez Ciebie znajdziesz w sieci (poszukaj). Nie dam Ci gotowca,i sądzę, iż nikt Ci nie...
zmienna3 = Mid(zmienna , 7 ,3) i teraz zmienna3 = pwm1a - czyli pwm1a będzie z wartością 123 ?? Nie. Ale może zadziała: PWM1A = VAL(zmienna3)
witam mam problem z instukcja makedec() a dokladniej konweruje ona kod BCD Excess-3 na DEC a ja odczytuje z zewnetrznego układu kod BCD 8421 i niestety liczba jaka otrzymuje jest nie poprawna probowalem samemu napisac kawalek kodu ale nie chce dzialac czy ktos moze mi pomoc ?? fragment programu ktory nie chce dzialac Aj3 = 0 If A.0 = 1 Then Aj3 = Aj3...
Hello RoBoS Thank you very much for your help Bet regard Litle_star Dodano po 2 Best regard thanks
to jest opis układu oraz program
No i w czym pomóc?
Rozumiałbym, żeby ktoś chciał przetłumaczyć coś z C do Bascoma - mogłyby być w wielu miejscach problemy ;) .... ale odwrotnie??? Z tak prostym kodem w Bascomie ? I ktoś kto zna C - chce powiedzieć, że nie rozumie tych kilku linijek bascoma???? No, kolega wyżej ma rację - bez przesadyzmu
w tym problem ze wlasnie gdy napisze valux=valu to wywala mi blad i co mam z tym zrobic?? mam bascoma 1.11.7.4
mam cos takiego: .include "m16def.inc" .dseg .DEF tmp = r16 .DEF menu_reg = r17 ;numer menu okreslajacy dokladnie jego zawartosc .DEF kursor = r18 .DEF lcd_data = r19 .cseg .org 0x00 menu_tab:.db 0x01, 0x03, 0x09, 0x05, 0x07, 0x0B, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x04, 0x03, 0x04, 0x02, 0x02, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06...
Bascom powinien mieć do tego funkcję ABS() (nie sprawdziłem, dostępna jest w większości języków).
Witam, Czy ktoś się orjętuje czy istnieje jakaś instrukcjia w bascomie pozwalająca na konwersje z keycode na coś innego np. HEX lub ASCII? Można by pewnie to załatwić tablicą , ale czy nie ma innego sposobu? Przyjmuje z klawiatury informacjię w keycode i nie bardzo mam co z tym zrobić. Pozdrawiam.
Zrobilem sobie termometr na mikrokontrolerze (BASCOM AVR) z wyswietlaczami LED. W celu wyswietlenia temperatury chce wykorzystac konwersje na kod BCD. Czujnik temperatury to oczywiscie DS1820, wiec np. temperaturze 24,3 st. odpowiada liczba 243. Problem w tym, że bascomowe polecenie MAKEBCD dziala z liczbami z zakresu 0...99. W jaki sposob mozna zaradzic...
A dlaczego chcesz kompilować program napisany w asemblerze z poziomu Bascoma przecież z kompilatora asemblera też możesz otrzymać hex. Napisz na jaki procesor chcesz to skompilować.
Pomóżcie proszę zamienić 2 fragmenty programu w Bascom'ie na wersję w Ascii. Ten program w Bascom jest na pewno w ASCII. Jeśli ktoś wie jak to zrobić, to uprzejmie proszę o informację na pocztę: tadeko(_at_)poczta.onet.pl To jest publiczne forum i jeżeli ktoś będzie chciał odpowiedzieć (co prawda nie wiadomo o co pytasz) to zrobi to tu aby inni w przyszłości...
Ściągnij sobie polski help do Bascona AVR tam jest wszystko dobrze wytłumaczone. A pobrać go mozesz tutaj: http://www.edw.com.pl/index.php?module=C...
Nie przekonwertowałes całego pliku. Spróbujmy inaczej. Przekonwertuj kod poniżej. /* Device register map */ /** Przepraszam za wszelkie niedogodności. Niestety, bez bezpośredniego dostępu do zawartości kodu, nie jestem w stanie przeprowadzić konwersji. W swojej odpowiedzi poprzednio starałem się pokazać, jak proces konwersji może wyglądać na podstawie...
W sumie to można nawet przypisywać bezposrednio wartości bitom w bajcie. Można nawet zanegować stan i jedynki będą się pojawiać tylko na miejscach gdzie stan jest niski [syntax=vbnet] Dim Bajt As Byte Bajt.0 = Pind.3 Bajt.1 = Pind.0 Bajt.2 = Not Pind.4 Bajt.3 = Not Pind.5 Lcd Bajt[/syntax]
Witam stawiam dopiero pierwsze kroki w programowaniu AVR, jak do tej pory pisałem w BASCOM. Kupiłem ostatnio porgramator na USB STK500v2. Mam pytanie odnośnie programowania pamięci EEPROM wewnątrz mikrokontrolera BASCOM generuje plik z rozszerzeniem *.eep natomiast w procesie programowania (STK500) wymagany jest plik intel HEX (*.hex) czy jest gdzies...
Źle definiujesz typ zmiennych. Żeby można wykonywać operacje zmiennoprzecinkowe, typ zmiennych powinien być single lub double. Dim Dawka_temp As Single, Dawka As Single
Hmmmmm . . . Kurde takie poprostu :( Że też na to nie wpadłem (nie cierpię C ) W BASCOM to takie oczywiste. Dzięki za pomoc, działa. Temat do zamknięcia. PS. mpier czemu tym razem nie kazałeś mi migać LEDem? :D
bo następuje wtedy konwersja liczby double na ciąg znaków :D Uroki bascom'a
Jak pisał kolega (at)piotrva wystarczy użyć flagę w przerwaniu aby program był nieblokujący, więc żaden czas się nie marnuje. Osobiście odczyt zawszę robię bezpośrednio w przerwaniu dzięki czemu odpadają mi problemy z błędnym odczytem (nie rozwala mi komunikacji 1wire). Mimo niestosowania CRC nigdy nawet na długich przewodach nie mam ŻADNEGO błędnego...
Hmm, nie pamiętam szczerze mówiąc, ale sprawdź czy BASCOM pozwala na coś takiego, jak konwersja do timestampu (chyba było coś takiego) - wtedy dane masz jako liczbę sekund od roku (w BASCOM chyba to był niestandardowo 2000) http://avrhelp.mcselec.com/index.html?da...
Najprościej to użyć overlay w sram. Single to 4 bajty w pamięci. dim zmienna_single as single dim bajt1 as byte at zmienna_single overlay dim bajt2 as byte at zmienna_single+1 overlay dim bajt3 as byte at zmienna_single+2 overlay dim bajt4 as byte at zmienna_single+3 overlay Potem zapisujesz bajty do eeprom, odczytujesz kiedy chcesz i masz wynik w single.
Arduino to dla mnie ślepa drogą...dokładnie jest to BASCOM w wydaniu C++. Korzystasz z gotowych bibliotek, często napisanych bardzo nieoptymalnie przez niedoświadczonych użytkowników, a tak naprawdę kompletnie nie wiesz co się dzieje "pod maską". Wystarczy spojrzeć na kod funkcji digitalWrite i zwykle ustawianie portu jedna instrukcja asemblera. To,...
Witam W jaki sposób można zmienić w Bascomie zmienną typu WORD na dwie zmienne typu BYTE... Jaki Bascom , 51 czy AVR :?: Dla 51 , to dzielenie , Shift ,High,Low , a jak AVR , to jeszcze dyrektywa Overlay . Piotrek
bascom konwersja zmiennej bascom konwersja zmienna konwersja zmiennej single bascom
sterownik zgrzewarka punktowy lambda tester ariston serwis
woltomierz amperomierz panelowy osuszanie budynku
Thomson V8-NT67F01-LF1V378 Firmware Details, Update to V509, Risks & Compatibility Arduino Uno, ESP32 – przesyłanie pliku tekstowego z PC na kartę SD przez port szeregowy