Ehh.. Nie znam bascoma ale jak po prostu trzeba zamienić miejsca to Zamiast [syntax=basic4gl]A=Wart And &B00001111 Shift Wart , Right , 4 B = Wart[/syntax] Zrób [syntax=basic4gl]B=Wart And &B00001111 Shift Wart , Right , 4 A = Wart[/syntax]
Ja Ci napisze jeszcze coś ciekawszego. W folderze Bascom jest plik PDF o nazwie BASCAVR.pdf To dopiero kopalnia wiedzy jeśli chodzi o udogodnienia. Przesuwałem jak przysłowiowy osioł linijka po linijce jak czyjeś kody były przyklejone do lewej linii albo bez wcięć. Teraz zaznaczam taki blok który chcę przesunąć i naciskam CTRL + SHIFT + I Suuuuuper...
liczba=0 for i=0 to 2 liczba=liczba+bajt[i] shift liczba, left, 8 next i liczba=liczba+bajt[3]
Błąd w logice. Twój kod czytam tak -> Dopóki zmienna nie ma 5 to cały czas resetujemy pomiar i startujemy nowy (już Select Case byłoby lepsze). Potem próbujemy to czytać jak zmienna ma powyżej 100. No daj spokój. Są tu tego tony jak to obsługiwać. Mój/nie mój sposób to dwa suby. Jeden Startuje konwersję a drugi Czyta. Sprawa polega na tym by odwrócić...
dim TEMP as Word TEMP=Odczyt_temp(1) Shift TEMP, Left , 8 TEMP=TEMP+Odczyt_temp(2)
Wystarczą dwie instrukcje MAKEINT i SHIFT : [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 $baud = 2400 Dim A As Byte , B As Byte , C As Word A = &b00110000 B = &B00100000 C = Makeint(b , A) ' z dwóch bajtów zrób słowo Shift C , Right , 5 ' zmienną C przesuń w prawo o 5 bitów Print Bin(a) Print Bin(b) Print Bin(c) End[/syntax]
Unsigned Char to 8 bitów czyli Bajt a nie Word, to po pierwsze. Przesunięcia bitowe robi się za pomocą Shift [variable], 8*, Right ale tutaj to chyba nie ma zastosowania. To po drugie. * ilość bitów oczywiście do wyboru. ..a po trzecie wystarczy tak: [syntax=vbnet]sub Wraddr(byval x as integer, Byval y as Word) Local Dim Xh As Byte , Xl As Byte Xh =...
Po co się męczyć to tylko kilka linijek w bascomie: Kod archaiczny dla słabeuszy: $regfile = "m128def.dat" $crystal = 8000000 Config Spi = Soft , Din = Pinf.2 , Dout = Portf.0 , Ss = None , Clock = Portf.6 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 Config Pinf.6...
wywal starsza połówkę np przesuwając rejestr w lewo czterokrotnie komendą LSL - Logical Shift Left a następnie przesuwając w prawo LSR LDI działa tylko na stałych 8bitowych P.S. Bardziej po polskiemu to się "używa" niż "urzywa"
Gdybym to robił bez wykorzystania peryferiów MCU, zrobiłbym to tak (albo podobnie, nie pamiętam czy Bascom pozwala na użycie zmiennej w wyrażeniach wait): Potrzebowałbym wygenerować 4 przebiegi pseudo-prostokątu do max 1kHz(sygnał CLK) z możliwością przestrajania częstotliwości. Nie muszą one działać równocześnie. Najlepiej to wykonać tak jak kolega...
Musisz wiedzieć że ADC Atmegi ma 10Bit czyli w uproszczeniu skalę do 1023 Kiedy jako napięcie odniesienia dla ADC użyjesz napięcia zasilania procesora (AVCC) to dokładność pomiaru wynosi : 5V/1024 czyli -> 5000mV/1024 = 4,88mV na jedna podziałkę ADC. Nie napisałeś jaki masz ACS a wystepują w wersjach 5A, 20A i 30A Zakładając że masz ten najczulszy 5A...
Trzeba nauczyć uC jak przekształcać jedno w drugie. Bascomowcy opracowali coś takiego. Sprawdzałem w symulatorze - działa. $regfile = "m128def.dat" $crystal = 8000000 Dim I As Byte Dim J As Byte Dim I1 As Byte Dim J1 As Byte Dim Pdu_len As Byte Dim Smslen As Byte Dim K As Byte Dim K1 As Byte Dim K2 As Byte Dim K3 As Byte Dim K4 As Byte Dim...
Cześć. Nie miałem czasu wcześniej tego zamieścić. Nawet teraz go nie mam :D Zerknij. W tych trzech przykładach pokazuję jak można ustawiać zmienną która ma cztery bajty. W Bascom bez problemu możesz nadać Aliasy każdemu bitowi. Wprawdzie zmienna ma cztery bajty, ale to chyba nie problem. Poprzez Shiftout możesz wysunąć tylko 24bity, albo wszystkie,...
widze tu spory nieład.. odczyt 8 bitów można zorganizować tak (półpseudokod): odczytaj_bajt: TMP = 0 M = 128 pętla_8_razy: jeśli Inp=1 to TMP = TMP + M M = M/2 (lub M >>= 1 lub M = M>>1 lub shift M,1,right) wykonaj wystawienie_sekwencji_przejscia_do_kolej... koniec pętli koniec odczytaj_bajt odczytaj_8_bajtow: wykonaj...
A spróbuj tak: Odczyt=Temp Dim Jednostki As Byte , Dziesiatki As Byte ' cyfry do wyświetlania temperatury Dim Temp As Byte ' temperatura Dim Pompka As Bit ' sterowanie pompką Dim Odczyt As Byte Dim Cyfrybcd As Byte Dim Ktorywysw As Bit Enable Interrupts ' oblokuj przerwania Enable Timer0 'odblokuj timer0 Enable Timer1 'oblokuj timer1 Config Timer0 =...
Jak zwykle czasu nie ma, ale nie mogłem się powstrzymać. Nakręciłem pierwszy klip - ahahahaha :D No musiałem się pobawić edytorem. Efekt to półtora minuty magii :D Ahahaha miałem kupę zabawy z tym :D Przy okazji możesz zobaczyć jak się używa wbudowanego symulatora by zadawać wartości ADC ;) Twój pomniejszony kodzik też poniżej, tylko używając poza symulatorem...
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
https://obrazki.elektroda.pl/2807245700_... Witam, Temat odgrzany, i nie mojego autorstwa, ale warty przypomnienia. Potrzebowałem aby pewne urządzenie wystawiało mi do PCta kilka klawiszy klawiatury. Słyszałem już kiedyś o projekcie SWUSB pisanym w jedynym języku który choć trochę znam - Bascom. Zaprojektowałem jednostronną niewielką...
Może cos takiego ? Config Scl = Portc.0 ' I2C Clock. Config Sda = Portc.1 ' I2C Data. Config I2cdelay = 100 Declare Sub I2c_ram_write(byval Addres_desired As Word , Byval Byte_to_write As Byte) ' Writes data to the I2C EEPROM. Declare Function I2c_ram_read(byval Addres_desired As Word ) As Byte ' Reads data to the I2C EEPROM. Declare...
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...
Prześledź to: (co zbyteczne, wyrzuć. Mega 8 daje radę) '-----------LCD for Nokia 3310 and Mega AVR-------------------------------------... ' 'Based on Louis Frigon program in C: "Nokia LCD Library" at www.microsyl.com 'and 'Darek Dobrowolski program in Bascom: "Wysterowanie wyświetlacza LCD LPH7779(Nokia 3310) przez ATmega128L...
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Chciałbym dzisiaj przybliżyć Wam trochę tensometr, który czasem jest również nazywamy: czujnikiem tensometrycznym, belką tensometryczną czy też czujnikiem naprężeń. Będzie tutaj trochę teorii i praktyki. Zostanie tutaj opisany chyba najbardziej popularny tensometr czyli tensometr oporowy. https://obrazki.elektroda.pl/8825635100_...
To jest działający kod dla INA226 napisany dla ATMega16. Pewnie mógłby być ładniejszy, ale wiadomo - zawsze da się coś poprawić :-) Z pewnością da się łatwo zaadaptować dla INA219 Nie porównywałem datasheetów, ale sprawdź adresy do komunikacji, być może będziesz coś musiał zmienić w sekcji "inicjalizacja". Zakładam, że dokładnie przestudiowałeś datasheet...
Jak w języku c stosuje się instrukcje przesunięcia i rotacji? Chodzi mi o Bascomowe instrukcje Rotate i Shift :)
http://obrazki.elektroda.pl/9838687700_1... Trochę z obawą prezentuję kolejny już na elektrodzie sterownik oświetlenia, no bo ileż tego już tutaj było? A jednak nie znalazłem rozwiązania mnie zadowalającego, dlatego też powstał niżej prezentowany układ, powstał ponieważ klasyczne lampy z czujnikami ruchu mają pewną zasadniczą wadę:...
jesli pracujesz nad avr'rem to prosto to mozesz zrobic w bascom avr poleconiem shift
Bascoma nie znam, ale moim zdaniem ten kod działa zupełnie przez przypadek i zupełnie inaczej, niż wyobraża to sobie Autor. Co jest w pętli, a co poza pętlą? To powinno być zrobione w automacie - na początku pętli pobieramy bajt patrzymy, co to za jeden i co to może oznaczać. Offtop: jeśli w Bascom x * 256 jest wolniejsze od shift x left 8, to nie należy...
Witam ! Uruchomiłem przesyłanie danych pomiędzy dwoma procesorami AVR z wykorzystanie poleceń shiftout i shift in. Problem w tym, że procesor odbierający zatrzymuje się na instrukcji Shiftin i czeka aż dostanie dane. Jak to rozwiązać, aby program mógł iśc dalej jak nic nie nadejdzie ? Innymi słowy jak ustalić że jest coś nadawane i trzeba to odebrać...
Program ma pobierać dane z tablic i ustawiać odpowiednie bity na PORTB. Timer0 ma co 0,5s pobrać z tabeli aktualną prędkość z jaką timer2 ma zmieniać stan na PORTB. Osobno timer'y działają, razem nie chcą . [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 Config Portb.7 = Output Config Portb.6 = Output Config Portb.5 = Output Config Portb.4...
Do przesuwania bitów służy polecenie shift :) Poczytaj w pomocy bascom'a.
zapoznac sie z poleceniem shift albo shift lcd.
Witam! W programie napisanym w Bascom do wyświetlania na matrycy 8x8 , używam rejestru przesównego, do którego ładuję dane poleceniem " SHIFTOUT" wygląda to tak: Shiftout Ds_a6276 , Clock_a6276 , Temp Chcąc troszkę to przyspieszyć wpadłem na pomysł żeby zoptymalizować tą funkcję i skleciłem kod w ASM: $asm lds r18 , {Temp} 'Wczytaj do r18...
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
No oczywiście, ze jest proste: Zmienna.7 - dostęp do bitu 7 w zmiennej set Zmienna.5 - ustawienie jedynki na 5 bicie zmiennej. Jeśli odwrócisz logikę zapalania diod, to mogą Ci się przydać SHIFT i ROTATE
Problem leży po stronie scalania danych - wartości tmp_accx(1) i tmp_accx(2) nie mogą być dodane do siebie. Należy pamiętać że są to dwie połówki zmiennej typu integer, wartość tmp_accx(2) należy pomnożyć przez 255 lub przesunąć w lewo o 8 pozycji. Następnie obie połówki łączymy instrukcją OR (+ tu nie zadziała gdyż w przypadku liczb ujemnych będą głupoty)....
Chyba dopiero zaczynasz z tymi tablicami ASCII :D Znaki od 0 do 32 (chyba) są niedrukowalne. Należą do nich CR Carriage Return i LF Line Feed. Numer 32 ma spacja. Kolejny to chyba wykrzyknik. Teraz jeśli masz tablicę z wzorami jak dany znak ma wyglądać, i na przykład w kodzie Autora informacja jak dany znak ma wyglądać mieści się w pięciu bajtach, to...
uzyj polecenia shift a linie enabled obsluguj "recznie"
Witam. Dzieki atom1477 za kolejne informacje. Ja tez sie troche pogubilem w tym wszystkim tym bardziej ze jak testowalem na sofcie na ARDUINO UNO to RFM sie dalo usytawic a ogladane przebiegi analizatorem byly zgodne ze zboczem opadajacym zegarowym. Teraz aby to zrobic jeszcze raz to musze odczekac troche czasu bo ARDUINO zabral studnet na pare dni....
Napisz "wolny przesuw" przez u otwarte, "krótki" przez o zamknięte a "hołota" przez samo h i może ruszy :D ...a tak poważniej to na screenie widać, że błąd jest w liniach 479 i 711 więc tam należy szukać. Kliknij w linię informujacą o błędzie to Cię tam przeniesie. Czasem te komunikaty o błędach nie są precyzyjne i wcale nie musi chodzić o zmienną "lista_znakow"...
Chodzi o instrukcję SHIFT ? ... Nie, chodziło mi o MAKEINT(LSB,MSB), bo co Ci po SHIFT, skoro nie wiesz w którą stronę przesuwać :D
Jest do tego polecenie Shiftin , Shift Ale całą obsługę sobie trzeba napisać samemu. Powyższe polecenia po prostu wrzucają do zmiennej bit po bicie.
Najpierw poczytać o rejestrze przesuwającym, potem w Helpie Bascoma o instrukcjach rotate, shift i zobaczysz jakie to łatwe.
Przy tak prostym problemie nie ma siły żeby nie znaleźć przyczyny. A co się dzieje gdy np. zamiast wszystkich tych ustawień portx = blebleble,pętli do loop i waitms w petli wpiszesz po prostu jakąś wartość do rejestru port (tego na którym masz te feralne diody) tak żeby się któraś z nich zapaliła. Też się jarzy czy pali normalnie? W ogóle jak patrzę...
Witam, Próbuję odpalić taki wyświetlacz po SPI: https://obrazki.elektroda.pl/7122846800_... Posiada on sterownik ILI9341, znalazłem bibliotekę glcd-ILI9341_2R8_240x320.lib i taki przykład: [syntax=vbnet] ' ' *********************************** ' * 2.8inch 65K full color LCD * ' * 240 x 320 dot [ILI9341] SPI * ' * Touch screen (XPT2046)...
Funkcja pulsein wstrzymuje działanie programu na te 655ms? (lub krócej) Nie, nie wstrzymuje, cały czas mierzy. Tyle tylko może zmierzyc(!!!). Jeżeli mierzony przedział czasu jest dłuższy to powie (Err=1) ; znaczy to że jego miara jest za krótka. Tu masz przykład pomiaru impulsu (active low) timerem 1 [syntax=basic4gl] 'Timer1 measure time interval...
Witam Chciałbym wydzielić tylko to co znajduje się po przecinku odczytanej temperatury na przykład w Tempp. Czyli ładuje wartość odczytaną z ds1820 do Tempp potem: Shift Tempp , left , 8 if Tempp >= 10000000 then Tempp = to co jest po przecinku tak?
to już opanowałem jednak można to zrobić komendą shift z lekkimi poprawkami działa jak chciałem teraz zabieram się za program główny myślę , że z tym pójdzie mi lepiej niemniej dziękuje za zainteresowanie
Witam Propozycje dzielenia przez ilość próbek np. 10 są bezsensowne, jeśli już uśredniać to można to zrobić z głową, daj 16 próbek i przesuń wynik w prawo, to że w BASCOMie wygląda prosto to wcale nie znaczy ze po kompilacji wyjdzie prosto. Nie mam BASCOMa pod ręką ale poszukaj instrukcji Shift Right lub coś podobnego. Piotr
Mam prośbę - poniżej przykład z Bascom - obsługa ADC na XMega - czy ktoś mógłby mi ten kod sprawdzić na symulatorze ? U mnie nie zwraca żadnych wartości - program działa w symulacji, ale wszystkie rejestry 0. Nie mogę dojść, czy to wina windows, symulatora czy może błąd w kodzie ? [syntax=basic] '---------------------------------------...
UFF udało się i działa ale dodatkowo w bajcie Control/status trzeba było ustawić bit 3 ustawić na zero wtedy pokazuje pozycje 5 i 6 niemaskowane i widać rok . Czy instrukcja shift right bedzie najlepsza do rozdzielenia dnia od roku ? WIELKIE DZIĘKI
Witam, W odpowiedzi na PW i powyższy post przejrzałem jeszcze raz kod programu w BASCOM i znalazłem błąd w procedurze zapisu daty do PCF. Zamieszczam poprawiony kod, trzeba dopisać jedną linijkę kodu. Proszę i informację zwrotną czy pomogło. Pozdrawiam JarekC PS. gratuluję uruchomienia układu. [syntax=basic4gl]'----------------------...
Ok masz słownie przedstawione algorytmy dla snifowania I2C start stop i stransmisji (wprowadzanie danych możesz zrobić przy pomocy shift right w bascom) Teraz musisz z tych elementarnych procedur poskładać snifowanie transmisji dla PCF8574. 1. procesor zaadresuje PCF i wedle tego adresu możesz uzyskać czy jest to zapis czy też odczyt i do którego z...
Nie może być dwa razy settime.Błąd --duplicate label box i jeszcze jakieś dwa inne.Nie jestem do końca pewien, ale chyba tu mam coś nie tak: [syntax=basic4gl] Second = Makedec(second) Minute = Makedec(minute) Hour = Makedec(hour) Year = Day Shift Year , Right , 6 Year = Makedec(year) Year = Year + Yearbase Day = Day And &B00111111 Day = Makedec(day)...
Witam, mikroprocesor Atmega 8A odczytuje błędne dane z czujnika temperatury MLX90614 wersja 5V Sprawdzone rzeczy: -ciągłość połączeń -napięcie pomiędzy nóżkami zasilania -nowy mikrokontroler -definiowanie innych wejść sda i scl w atmedze - różne adresy zapisu i odczytu zapisu:&B00000000, &H5A odczytu:&B00000001 &H5B -różne napięcia podciągające schematy...
Tu jest zarys, jak wysłać dane, niestety z prescalerem zewnętrznym ' ****************************************... ' ** Program name: Testboard - Version : 1.3 21.03.2004 ** ' ** Compiler : BASCOM AVR, ( V1.11.7.4) ** ' ** ATMEGA16 LCD-Board 2x16 ** ' ** PMB2306 & 2312 Prescaler ** ' ** Referenz HF = 12.8...
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
Shift pozwala szybko dzielić lub mnożyć tylko przez kolejne potęgi dwójki czyli, żeby się nie rozpisywać ograniczę się do bajtu :2,4,8,16,32,64,128 i 256 Ten Shift tam nie musi zostać. Umieściłem go tam bo liczba przez którą Ty dzieliłeś była potegą dwójki :D Shift Zmienna, Right, 1 ' podzieli ją przez dwa Sgift Zmienna, Right, 4 ' podzieli ją przez...
Jest też polecenie Shift.
Wrzuć też na odczyty z ADC taki lekki i szybki filterek ;) To kod który możesz uruchomić w symulatorze i zobaczyć jak reaguje na zmiany odczytów z ADC http://obrazki.elektroda.pl/3529745800_1...
czy opa proci są tego samego typu AVR - AVR , czy AVR - 51 ? jaka jest odległośc między nimi ( czy mają ten sam zegar taktujący) ? A wiec 2x AVR (AVR-AVR) qwarc 2x 8000000 próbowałem funkciami shift (in/out) tylko jakoś nie wychodziło. Byłbym wdzięczny jeśli wysłały mi ktoś skrucony program.
Witam a to działający sposób na bascom 8051 [syntax=vbnet]Dim R As Byte Dim E As Byte Dim Bitek As Bit Dim Crc As Word 'Dim Crcl As Byte 'Dim Crch As Byte Dim D(2) As Byte 'Dim D2 As Byte Dim Crcp As Byte Crc = &HFFFF D(1) = &H45 'bajt pierwszy do obliczen D(2) = &H64 'bajt drugi do obliczen Do For E = 1 To 2 'licznik bajtów do obliczeń 'Crcl = Low(crc)...
Chce odczyt binarny a potem dodać do siebie.... A od czego mamy instrukcje logiczne :?: D=P3 And &B00000110 'maska na bity 1 i 2 Shift D , Right 'przesunięcie o 1 pozycję w prawo jeśli to konieczne ;) Piotrek
Jak to zwykle bywa kolega "bart-projects" udowadnia że Bascom to wcale nie wymarły język bez przyszłości. Kod działa idealnie! Pozwoliłem sobie nieco dopasować program pod mój dwu-przyciskowy pilocik i obecnie wygląda tak: [syntax=vbnet] ''**************************************... ''* 8PIN uC Tiny13/Tiny25-Tiny85 NO...
To kontroler 8bit...jak chcesz mieć wynik 12 bit jak nie przez składanie 2 bajtów? Znasz się minimalnie czy jesteś początkujący? Zresztą w bascom możesz normalnie całe 2 bajty czyli word odczytać jak np przez adca_chaXres, czyli zmienna_typu_word = adca_chaXres, po czym Shift zmienna_typu_word , right , 2
Tak problem rozwiązany już jest dość dawno. Chodziło o to aby do przetwornika za pomocą bascoma wysyła bity danych odpowiednio. Najpierw trzeba wysłać adres czyli u mnie: i2cwbyte &H18 A teraz wartość jaką chcemy podać do przetwornika dzielimy na dwie części po 4 bity i przesuwamy je; pierwszą część w prawo o 4 pozycje drugą w lewo o 4; przykład w postaci...
Po dłuższej przerwie zabrałem się za wyskalowanie KTY 81-210 :-))) Całkowicie dałem nowe obliczenia bo te znalezione to ciężko było stwierdzićjak obliczone zostało. Zostawiłem tylko rezystor 2.7k Temp. wyszła mi całkiem przyzwoita. Do wyskalowania obliczyłem ze wzoru na prostą y=ax+b tak samo jak zrobiłem w pt100 :-). Potrzebowałem 2 próbki odczytu...
Nota o której piszesz robi to inaczej. Nie wzorowałem się na niczym, sam ją wymyśliłem, potrzebowałem dekodować piloty stałokodowe oparte na SM5028 i keeloq HCS200/300/301. Przerwanie od ICP jest uniwersalne i świetnie nadaje się do takich celów. Jeśli chodzi o procedurę dekodowania części crypto to procedura w bascomie też jest prosta. Podam tylko...
Oto mój program (atinny2313, zegar 8 mHz). Dodatkowo obsługa pilota sony: Dim Moc As Word Dim Table As Word Dim Ready As Byte Dim Code As Word Dim Period As Word Dim Command As Long Dim Bitcount As Byte Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Timer , Prescale = 256 , Capture Edge = Rising , Compare A No_output = Disconnect Config Int0...
Problem rozwiązałem w 50%. To znaczy dzięki podpowiedzią kolegów co mi brakowało żeby działał termometr, który pracuje bardzo dobrze ,dopisałem do programu woltomierz , który pracuje dobrze. Do zamknięcia tematu pozostał jeszcze amperomierz , który mierzy spadek napięcia na boczniku sygnał wzmocniłem wzmacniaczem LM358.Nie wiem jak przeliczyć spadek...
(at)ziguś Dostosuj ten przykład do Twojego programu czyli nie mierz w przerwaniu tylko ustaw flagę by dokonano pomiaru. Możliwa wtedy będzie obsługa innych przerwań itd.. PWM jest, tak jak pisałeś, domyślnie ustawiany na Phase Correct. Dodatkowo Bascom domyślnie robi dwa pomiary i je uśrednia. Mierzenie więc 100 razy na raz to już długi czas. Lepiej...
Witam. Ostatnio zacząłem bawić się w obsługę RC5, ponieważ jest mi ona potrzebna w pewnym projekcie. Po uruchomieniu odbiornika na M8 przyszedł czas na nadajnik. Prowizoryczny był na M8 jednak docelowy miał być na attiny45, ale trochę zbyt późno dowiedziałem się, że Attiny nie posiada 16-bitowego timera1, a także Bascom nie potrafi skonfigurować jego...
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
http://obrazki.elektroda.net/42_11824156... Witam! Jakieś pół roku temu naczytałem się tematów o wzmacniaczach własnej konstrukcji. Projekt jest całkowicie moją konstrukcją, pomijając końcówkę mocy, do której płytkę zamówiłem z AVT (kit AVT-2180). Prace nad wzmacniaczem zacząłem od wykonania stosownej obudowy, a właściwie przerobienie obudowy od...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
Tak na szybko to łap z jakiegoś mojego programu :P [syntax=vbnet]Function Value_to_proc(byval Value As Byte)as Byte Local Helpw As Word Helpw = Value Helpw = Helpw * 100 Helpw = Helpw / 255 Value_to_proc = Helpw End Function Function Proc_to_val(byval Value As Byte)as Byte Local Helpw As Word Helpw = Value Shift Helpw , Left , 8 'x256 Helpw = Helpw...
A helpa czytaliśmy ? :) For extended RC5 code, the extended bit is bit 6 of the command. The toggle bit is stored in bit 7 of the command A czytałeś co napisałem: help bascom : Zmiany wprowadzone od wersji 1.11.6.9. Funkcja GETRC5() odbiera teraz rozszerzone kody RC5. Podziękowania dla Gert Boer, który jest autorem tej implementacji. Są kody RC5 nawet...
Ok. zrobiłem, już że dobrze odczytuje dane. Jeśli podam dane (adresy itp.) wpisując je zamiast zmiennych, to działa, a ze zmiennymi już nie chcew działać. Declare Sub Odczytaj_zegar(cyfra As Byte , Dziesiatki As Byte , Byval Komorka As Byte , Byval Maska As Byte) Call Odczytaj_zegar(s , S10 , &B00000010 , &B01110000) Sub Odczytaj_zegar(cyfra As Byte...
...problem polega na tym że nie wiem jak zapisać te dane, chciałbym je otrzymać binarnie na LCD lub w terminalu po Rsie.Prosze o pomoc. drugie problem. jak uskutecznić w tyum przypadku transmisję przy użyciu instrukcji shift in? atmega dostaje zegar i dane z zewnatrz (wlasnie te 48 bitow). Ad.1 Użyj tablicy i/lub stringa Ad.2 SHIFTIN pin , pclock ,...
"Zastępnik" pamięci PROM jest już gotowy i działa bardzo dobrze. Bez znaczących przeróbek panelu umożliwia uzyskanie 20 (pokazując to na wyświetlaczu) kanałów. Co ciekawe Radmor z wyświetlaczem 2 cyfrowym może pokazać maks wartość 79 kanałów. Ale proste drutowanie podstawki PROM w panelu pozwala tylko na pokazanie maks wartości 19 i z tego korzystam....
Proszę bardzo, oto program. Jeśli chodzi o obsługę multipleksu to jest ona zrealizowana, że najpierw jest zatrzaskiwana wartość w rejestrach przesuwnych, potem zaświecany dany poziom wraz z odpowiednią wartością dla niego i w tym samym czasie do rejestrów przesuwnych ładowane są już kolejne dane dla kolejnego poziomu i tak w kółko. [syntax=basic4gl]$regfile...
Ja też dam przykład, mimo że już są, ponieważ wydaje mi się, że jest bliższy oczekiwaniom autora i nie zmienia stanu pc6...8. Musisz tylko zmienić używane w tym programie porty. Dim Stanled As Byte , Hlp As Byte Config Portb = 255 Portd = 1 'podciągnięcie dla przycisku Do 'pętla nieskończona Debounce Pind.0 , 0 , Proceduradozrobienia , Sub Loop End...
Poruszę tylko 2 sprawy: 1)Jeżeli do odmierzania 1 s użyłeś Timer2 "napędzany" kwarcem 32768Hz , to po kiego grzyba procedurę odliczania sekund podkładasz pod przerwanie INT0 :?: On Int0 1s Zamiast włączać przerwania INT0 , włącz przerwania Timer2. On Timer2 1s Config Timer2 = Timer , Async = On , Prescale = 128 Enable Time2 '... 2)Myślałem, że już widziałem...
Witam Mam problem z programem, który został umieszczony w książce (osła łączka). Program został napisany pod attiny2313 lecz niestety podczas kompilacji wyskakuje błąd: Reserved word may not be used Proszę kod umieścić w znacznikach code! Robak
Tak shift in wczytuje dane. Widzę na lcd jak zmieniają się piksele natomiast nie działa żadne adresowanie czyli dane są nieprawidłowe. Myślę że mój problem jest tu: If Pind.3 = 0 Then Shiftin Pind.1 , Pind.0 , Komendy_we , 5 , 8 Gosub Konwersja Program zaczyna czytać dane w momencie gdy na RS jest L a wtedy jest jeszcze wysyłany bit DB0 poprzedniego...
Mam taki kod: Deklaracje: [syntax=vbnet] $regfile = "m32def.dat" $crystal = 8000000 $baud = 19200 Config I2cdelay = 5 'Opóźnie dla magistrali I2C wynosi 5ms Config Sda = Portc.1 Config Scl = Portc.0 [/syntax] I przykładowy program: [syntax=vbnet] I2cstart I2cwbyte &H80 'Adres SHT21 I2cwbyte &HE3 'Wybór pomiaru temperatury w trybie normalnym Waitms 100...
Witam. Próbuję uruchomić potencjometr cyfrowy - DS1267. Na elektrodzie znalazłem temat użytkownika bartods [url=http://www.elektroda.pl/rtvforum/to... Udało mu się sterować potencjometrem w języku bascom. Ja w swoim projekcie używam języka C dlatego staram się przetłumaczyć obsługę na ten właśnie język. Poniżej wklejam kod który już...
Witam serdecznie. Próbuje stworzyć generator PWM o zmiennym wypełnieniu i zmiennej częstotliwości. Generator ten chce stworzyć na ATmega32 12MHz w języku BASCOM. Zmian dokonywać będzie można przez dwa potencjometry. Mam już napisany program ale niestety sygnał na oscyloskopie wariuje. Co jakiś czas jest przebicie innych wartości. Walczyłem z tym dość...
Witam zainstalowałem najnowszą wersję bascoma 1.11.8.3 i chcę skompilowac program z kursu mikroprocesorowej oslej łączki co32g jest to podwójny termometr , wgrywałem go starą wersją bascoma do procka 90s2313 i działał. Teraz chcę skompilowac soft pod ATtiny2313 i wyskakuje mi Error file not found , co robie nie tak za pomoc dziękuję a to soft ' C032g...
Witam. Nie bardzo wiedziałem gdzie swój temat umieścić więc wylądował tutaj. Jeżeli to zły dział to proszę o przeniesienie ;) Chciałbym za pomocą uC AVR ATmega328p (ADC) odczytywać sensor http://obrazki.elektroda.pl/3492434000_1... http://obrazki.elektroda.pl/8527872300_1... http://obrazki.elektroda.pl/1265380400_1...
Schemat hmm Normalnie nie mam go Lcd masz podłączone tak jak masz w programie czujniki sygnał do środkowej nóżki czujnika i normalnie zasilanie czujników i od sygnału podciągnięcie 4,7k do vcc Program się nie kompiluje A dioda led podłączona Minusem do Układu przez opornik 1k Wydaje mi się że If Portc.5 = 0 Then To będzie cały czas świecic? Poprawiony...
MarasK -> moim zdaniem ten efekt u ciebie to tylko i wyłącznie ewidentna wina softu choć mogę się też mylić, a nie wina zasilania i zakłóceń. W czym masz napisaną obsługę LCD? - Bascom (gotowiec), C - jakieś własne procedury czy może jakieś z netu? czy w asemblerze coś własnego? takie przesuwanie się o jeden znak w bok, po dłuższym czasie jeszcze o...
Witam, dla Bascoma (przynajmniej w tej wersji jaką podałeś) niewykonalne jest zamienienie tych połówek bajta miejscami za pomocą SWAP (SWAP potrzebuje 2 zmiennych, a dostaje jedną). Sprawdzę w najbliższym czasie, czy nowszy Bascom sobie poradzi. Choć faktycznie, ten stary Bascom Basic AVR kompiluje kod, nie zgłasza błędów, lecz SWAP nic tu nie robi....
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Wiem, że PCF8583 nie ma rejestru roku - przeczytałem jego dokumentację. Wiem, że nie ma dedykowanego rejestru dnia tygodnia. Oba te problemy uwzględniłem w kodzie, co pokazałem w zamieszczonym źródle.Poniżej cytuję sam siebie: przy odczycie: Year = Day Shift Year , Right , 6 Year = Makedec(year) Year = Year + Yearbase Day = Day And &B00111111...
Witam! Program działa poprawnie. Testowałem z 3-4 programy do obsługi tego czujnika ciśnienia. Wyniki są złe, porównaniem z innym ciśnieniomierzem zaniża o 30..40hPa. Zasilanie BMP180 3.3V, ATMEGA32, 8MHz. Czy ktoś się spotkał z takim problemem? [syntax=vbnet] '----------------------- '| Test modułu BMP085 | '----------------------- 'Uwaga: pomiar jest...
shift register bascom phase shift bascom sprint shift
rozkład losowy działać wentylator toyota przedni wycieraczka
Regulacja napędu bramy garażowej Siebau - instrukcja krok po kroku Czy telewizory Funai mają system Android TV?