Jeślii masz wolny pin to możesz sobie na nim otworzyć port COM. Taki programik wciągający cztery bajty po serialu zajmuje w Bascom 288 B a to pewnie dlatego że jeszcze musiał się zająć stosem i tablica przerwań co Ty juz pewnie tez masz zrobione więc to by odpadło. Zapisujesz to sobie do Eeproma przy starcie i gotowe. [syntax=vbnet]$regfile = "attiny13A.dat"...
Po prostu nie możesz korzystać z instrukcji Input tylko z instrukcji np. Inkey i odbierać 128 bajtów o dowolnej zawartości (nawet bajtów zerowych) Po odebraniu 128 bajtów sprawdzić sumę kontrolną, tak jak pisał kolega mirekk36. Jeśli odebrałeś wysłasz ack spowrotem np. z sumą crc ramki Instrukcja Input się nie nadaje do tego celu. Tylko odbieranie za...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne - w tym przypadku tylko jeden :D Przekłada się to...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
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...
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...
Proszę o pomoc w rozwiązaniu problemu z połączeniem młodszych bajtów ze starszymi w bascomie. Mam napisaną procedure zapisu do eeproma liczby long wszystko ok lecz z odczytem jest gorzej: Dim Dana As Long Dim Dana1 As Long Dim Slowo_high As Word Dim Slowo_low As Word Dim Bajt1_high As Byte Dim Bajt2_low As Byte Dim Bajt3_high As Byte Dim Bajt4_low As...
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...
Jeżeli piszesz w bascome to proponuje funkcje: INPUT $baud = 1200 $crystal = 12000000 Dim V As Byte start: input V p0=V goto start Zasada jest taka program czeka na w lini "input V" na odebranie czegos przez port RS jesli mikrokontroler odbierze to przechodzi do nastepnej lini i ustawia port p0 w wartosc odczytana z rsa nastepnie powraca spowortem...
Witam. mam problem z nastawą temperatury, a mianowicie zadeklarowałem drugą zmienną od nastaw, która się wyświetla na LCD, lecz program nie chce się skompilować. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5...
Witam, posiadam dwie atmegi8 sprzęgnięte ze sobą komunikacja za pomocą UART. Jedna atmega będzie zbierać informację z czujników i poprzez UART przesyłać bajty danych do drugiej atmegi której zadaniem jest wyświetlanie tych wartości na wyświetlaczu graficznym. Moja ramka danych składa się z dwóch bajtów, pierwszy z nich jest to bajt "adresowy" który...
Wysyłanie i odbieranie RC5 jest w Bascom kodowane automatycznie. Manchesterem swoje dane musisz więc zakodować sam. Poniżej masz wersję którą mam jeszcze w planie dopracować więc nie myśl o niej jak o finalnej. na pewno można coś poprawić. Po skopiowaniu ten kod powinien znajdować się w tym samym folderze co Twój kod. [syntax=basic4gl]$nocompile ' send_by_air...
Witam Chce sobie zbudować perkusje na midi w necie znalazłem specyfikacje i wysyła się 3 bajty 1 - sterujący 2,3-dane. Naprzykład kiedy wysyłam nutke na kanale 1 to polecenie wygląda tak 10010000 ; 00000001 ; 01000000 pierwszy bait Note on drugi nutka a trzeci u mnie nie używany dyhnamika klawisza i robie to tak Config Portb = Input Dim A As Integer...
Witam. Tak jak w temacie. $regfile = "m8def.dat" ' $crystal = 8000000 Config Pinb.1 = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 'konfiguracja linii Config Timer0 = Timer , Prescale = 1024 Enable Interrupts : Enable Timer0 On Timer0 Co4ms Config...
Do kolegi "KUNIARZ" Właśnie wgrałem sobie Twój programik i u mnie DS18B20 śmiga (mam 6 szt. - 5 nowych i jeden z przed 2-3 lat) (chociaż nie wiem dlaczego w Twoim programiku na wyświetlaczu cały czas mi text się przesuwa) Ale nie do tego zmierzam. A mianowicie wgrałem poniższy programik (taki mały termostacik) No i mam problem z czujnikami !!! ponieważ...
Jestem ponownie. Projeckt mam prawie ukonczony i mam jeszcze pytanka. To jest kod do termomertu na DS18B20 i zegarka. I teraz mam taki problem. Odczyt temp jest bardzo niestabilny. Cyfry po przecinku skacza tak o 2-3 jednostki. Raz jest 22.4 za sek 22.7 a za nastepna 22. 5 itp itp. Mam inny kod z forum ktory nie obsluguje temp ujemnych dla proby i tam...
W Bascom'ie jest biblioteka mmc.lib i nigdzie nie jest opisana jej konfiguracja jak i jej sposób użycia. Czy wiecie jak wysyłać i odbierać bajty przy użyciu tej biblioteki? Dodano po 3 Dokopałem się do czegoś takiego i co dalej....... $regfile = "m128def.dat" $crystal = 14745600 $baud = 115200 $hwstack = 150 'wartosc stosu $swstack = 150 'wartosc...
Witam. Jestem w fazie pisania programu z zegarem DS3231 i atmegą16. Mam podłączone wejście INT0 atmegi z wyjściem INT/SQW DS-a. Podciągnięte rezystorem 10k do 5V. I nie wiem co robię źle ale procesor nie reaguje na sygnał przerwania z DS-a. Powiem szczerze że nigdy nie korzystałem z przerwań zewnętrznych ale znów ustawienie tego nie jest skomplikowane...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam. Jako początkujący, a już trochę wiekowy (46)proszę o wyrozumiałość. Napisałem w Bascomie takie coś , zrobiłem układ i nic. Nie działa. W którym miejscu jest błąd ? Na schemacie nie ma tranzystorów PNP w anodach, rezystorów w segmentach - celowo , bo to oczywiste. No więc tak na początek staraj się opanowac ten projekt "segmentami"; Najpierw,...
Jak sprawdzić czujniki ds18b20 czy prawidłowo wskazują temperaturę bo słyszałem że są niektóre fabryczne ,,felerne,, .Umnie wszystkie 5 zawyżają o 2stC , a może jest błąd w kodzie. dziękuje $regfile = "M16def.dat" $crystal = 8000000 '****** KONFIGURACJA PORTÓW ********* Config Porta = Output 'wysw ABCDEFG Config Portc = Output 'zasilanie W4,W3, W2,...
Witam Inkey odbiera tylko jeden znak (bajt) przesłanej informacji. Użyj lepiej funkcji – input /zapoznaj się z pomocą Bascoma. Do przesyłania informacji na duże odległości używaj jak najmniejszej szybkości.
Można trochę bajtów zaoszczędzić :) Dodaj bibliotekę obsługującą hardwarowe TWI: [syntax=basic4gl]$lib "I2C_TWI.LBX" ...... I2cinit Config Twi = 100000[/syntax] Odczyt danych z EEPROMU, zamiast: [syntax=basic4gl] Dim Mz1 As Byte Dim Gz1 As Byte Dim Mz2 As Byte Dim Gz2 As Byte Dim Mz3 As Byte Dim Gz3 As Byte Dim Mw1 As Byte Dim Gw1 As Byte Dim Mw2 As...
Cały problem jest w tym żeby te dwie ATmegi się zsynchronizowały. Przerwanie od SPI występuje po zakończenia transmisji pierwszego bajtu. Zanim nastąpi obsługa przerwania to pierwszy bajt zostanie utracony. Nie mamy też gwarancji że dwie Atmegi "wystrzeliły" :) równocześnie i Slave nie czyta np. 4 bajtu nadanego przez Mastera. Jeżeli to by była np....
Jeśli tylko jeden bajt, to sprawdzaj czy coś do UDRa przyszło:)
01, można też wysłać 1A, 2F, a maksymalnie FF, czyli całą "paletę" liczb HEX. Popołudniu sprawdzę co napisałeś, może się udać okiełznać Bascoma. PS. Input też wymaga znaku <CR> więc odpada, jedynie inputbin, czyta znaki bez konieczności wysyłania <CR>.
Tam nic nie ma o znakach CR/LF które to zakończą INPUT. Jeśli liczba bajtów jest stała (7 bajtów) skorzystaj z INPUTBIN.
Witam A u kolegi bascom nie wywala błędów? Port składa się z 8 pinów czyli 8bitów albo bajtu.(portd- portd.0;portd.1;.....do portd.7 czyli 8pinów Więc taki zapis portd.4=255 jest błędny bo jednemu bitowi nie możemy nadać wartości 255 możemy albo 0 albo 1.(a prawidłowo portd.4=1 albo0 ) Taki zapis jest poprawny portc=255 co jest równoważne z 11111111...
Czyli jak rozumiem, wprost czytać z tablicy bufora ? Gdzie znajduje się ten bufor z którego odczytuje INPUT ? Jak wtedy w Bascomie z 4 bajtowej tablicy wyjąć pierwsze 2 bajty, które potem porównuje Select Case ?
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...
Zwiększ bufor odbiorczy, a do sprawdzenia czy jest nowy bajt w buforze użyj Ischarwaiting() : [syntax=basic4gl] Config Serialin = Buffered , Size = 20 ' bufor 20 bajtów ........ Do If Ischarwaiting() = 1 Then P = "" Input P Gosub Przelicz End If Loop[/syntax]
Ło matko! ludzie co wy tu opowiadacie? Jarosław J - odnośnie twojego problemu ale już konkretnie: 1. Możesz najspokojniej w świecie przy komunikacji dwóch procków zrobić tak, że jeden będzie taktowany wewn oscylatorem a drugi np. kwarcem (Żaden problem) !!! 2. ale używaj sprzętowego UARTA w Bascomie a nie to co tutaj wszyscy razem wyczyniacie ;) 3....
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Najważniejsze to chociaż troszkę samemu najpierw pokombinować i ew później dopytać co i jak ;) ale po co ten Inkey? toż jak już zajdzie zdarzenie Bytematch - to znaczy, że w twoim buforze jest już co najmniej jedeń łańcuch tekstowy, którzy przyleciał z Rs232 i zakończony znakiem ENTER (13) .... w związku z tym wystarczy dać polecenie Input linia i już...
Czy prawdą jest, że domyślnie sprzętowy RS232 - UART ma bufor na 1 znak, i używając w Bascomie polecenia Input (odczytując ten bajt), jest on usuwany z bufora i znowu bufor jest pusty? Bo jakoś nie mogę znaleźć stosownej informacji w internecie. Dziękuję za odp.
Nie :D Chodzi mi o to że nie zapisuj tego textowo. Bo na razie zapisujesz textowo, i olaboga, dwójkowo! Czyli jeden pixel zajmuje Ci jeden znak (0 albo 1). A jak zapiszesz "surowo" to w jednym bajcie będziesz miał 8 pixeli. Np. takie "A" to jest 65d, czyli 41hi czyli 01000001. Czyli jedna litera "A" zapisze Ci to samo co aż 8 znaków "01000001". Tylko...
Sprawa pierwsza czyli instrukcje konfiguracyjne w kodzie. Chodzi o to, że jeśli nie wstawisz takiej instrukcji a użyjesz w kodzie chociażby jednej instrukcji PRINT, INPUT albo innej związanej z UART to cudów nie ma, trzeba skonfigurować UART i kompilator musi przeliczyć prędkość dla UBRR i ustawić bity konfiguracyjne. Dane musi skądś wziąć więc weźmie...
Już wszystko rozkminiłem i teraz kompiluje i programuje bezpośrednio z WinAVR. wszystko co mi wcześniej nie wychodziło było spowodowane złą konfiguracją pliku makefile. Teraz mam pytanko czy taki fragment raportu z kompilacji i wgrania programu do procesora mówi mi ile program zajmuje w pamięci procesora? dla przykładu podaje fragment raportu: avrdude:...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Witam Kupiłem robota klasy mini sumo. Zawiera on 2 mikrokontrolery Atmega8 służącą do obsługi dalmierzy, oraz Atmega32, która jest główną jednostką. Atmegi są połączone ze sobą przez SPI. Atmega 8 jest już zaprogramowana i wysyła przez SPI 2 bajty ( 1 dalmierz lewy, 2 dalmierz prawy), jeżeli obiekt jest w odległości 10cm to wysyła bajt o wartości 10....
spojrz powyzej odbierasz ją jako LONG jeśliby się nie dało to proponuje dim Licz as long at 120 DIM B1 as Byte at 120 overlay DIM B2 as Byte at 121 overlay DIM B3 as Byte at 122 overlay DIM B4 as Byte at 123 overlay inputbin b1,b2,b3,b4 oczywiście adres 120 jest przykładowy- wiadomo ze zmienna licz zajmuje 4 kolejne bajty
Tak się dzieje jak stosujesz instrukcje Gosub, program idzie do procedury a tam znowu stosujesz Gosub i w tej na koncu nieszczęsne Retrurn. Program idzie w "krzaki" bo przepełniasz stosy i nadpisujesz w pamięci Ram zmienne. Poczytaj o procedurach i funkcjach w pomocy Bascoma, użyj Declare Sub a potem Sub: i END SUB. Stosuj też deklaracje ramki i stosu...
Przetestuj to: [syntax=basic4gl] Config Portb.0 = Input 'konfiguracja portud jako wyjścia Config Portb.4 = Output 'linia danych do 74hc164 Config Portb.5 = Output 'clk do 74hc164 Config Spi = Soft , Din = Portb.0 , Dout = Portb.4 , Ss = None , Clock = Portb.5 , Mode = 0 Spiinit Dim Bajt As Byte Do Bajt = 1 Gosub Wyslij Bajt = 2 Gosub Wyslij Bajt = 3...
Witam !! Instrukcje Config Serialin = Buffered , Size = 50 'Konfiguracja UART IN Config Serialout = Buffered , Size = 50 'Konfiguracja UART OUT służą do konfiguracji bufora wejściowego i wyjściowego. Jeżeli UART odbierze bajt to jest on dostępny w SBUF. Jeżeli nie pojawi się instrukaca Input, któr de fakto czyta z SBUF'a, a UART odbierze kolejny bajt...
Witam. Częściowo już wiem, jak to obsłużyć ale pozostaje kilka pytań. Muszę monitorować przesyłane informacje a dane dla mojego sterownika to 3 bajty: Bx cc vv - zmiana wartości kontrolera cc (0-127) w kanale x (0-15) na wartość vv (0-127). Problemy pozostają takie: - czy w Bascomie ustawię $Baud 31250 przy kwarcu 11.059MHz? - program nie może stać...
Cytuję: "Ustawia się to w zależności od skomplikowania programu. (...)" O co tutaj chodzi i o jakie wartości tutaj chodzi? Dokładnie chodzi o ilość bajtów jaką początkowo zajmie każdy ze stosów. Stos jest elementem rozrastającym i kurczącym się dynamicznie. Może dojść do sytuacji gdzie jeden zajdzie na drugi - stack overleap - i kłopot gotowy. Dlatego...
http://obrazki.elektroda.pl/5214176000_1... Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród...
Nie umiem sobie przypomnieć teraz czy jest jakaś gotowa instrukcja, ale mogę Ci pokazać jak można sobie radzić pisząc własne funkcje. To nieskomplikowane. Budując funkcję w nawiasach określasz co będzie danymi wejściowymi a poza nawiasem co funkcja ma zwrócić. Czyli napisałem, że funkcja dostaje wartość bajtu a zwrócić powinna też bajt. Change() kiedy...
zamieszczam listing ktory przeklepalem zgazety Nowy elektronik: $regfile = "m8def.dat" $crystal = 800000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.3 , Db6 = Portd.2 , Db7 = Portd.1 , E = Portd.5 , Rs = Portd.7 Config Lcd = 16 * 2 Config Adc = Single , Prescaler = Auto , Reference = Off Ddrb = &B00000000 Ddrc = &B00000000 Ddrd = &B10111110...
Znalazłem w pliku pomocy polecenie input które odbiera dane. Tylko tam jest przykład jak odebrać bajt danych z całego portu np. D a jak zrobić aby odebrał tylko z jednej końcówki np. z portd.0? Piszą tam coś o adresie z którego odbierane są dane ale nie wiem jaki adres wpisać aby tak odbierać dane z pilota.
a mi sie udalo oszukać :) ale działa to tylko atmega - atmega z GPS tego numeru sie nie wykręci a szkoda ;) Open "comc.5:4800,8,n,1" For Input As #1 Open "comc.4:4800,8,n,1" For Output As #2 Do K6 = Waitkey(#1) ' odczyt bajtu Print #2 , "" ' reset If K6 = 13 Then Exit Do K3 = K3 + Chr(k6) Lcd K6...
Chcesz odbierać bit? czy bajt? Polecam zajrzeć do helpa bascomowego i zapoznać się z poleceniami Input oraz Config Input - a także Inkey , Ischarwaiting itp. Poza tym jeśli już zaczynasz z RS232 to daj sobie na początek spokój z pozostałą częścią kodu np od 1wire i poćwicz proste przykłady z helpa chociażby odnośnie Input itp - to ci dużo wyjaśni (a...
Do tej pory programowałem c51 tylko w atmelu ostanio zacząłem korzystać z bascoma, przerobilem sobie college z Edw i pojawiło mi się kilka pytań??? - Czy jest darmowa wersja Bascoma współpracująca z procesorami 89c51 (40 nóżkowymi) - Jak zrealizować transmisję szeregową w Bascom (wiem tylko że używa się do tego poleceń print, input, output...ale jak...
Witam wszystkich po raz kolejny. Dzisiaj postaram się Wam opisać po raz kolejny moduł radia TEA5767 od firmy NXP, z tym że dzisiaj będzie na podstawie bardziej rozbudowanego zestawu oraz będzie tutaj też mowa o odczycie informacji z tego modułu. https://obrazki.elektroda.pl/3222283100_... https://obrazki.elektroda.pl/9594809000_...
Panowie, cały problem tkwi w konwersji zmiennych. Pewnie nikt nie wie co się stanie jak BASCOM zrzutuje integer (16) i to pewnie ze znakiem (signed) na bajt albo lepiej char (bajt ze znakiem). Trzeba się dowiedzieć jak on to robi albo po prostu zacząć pisać w poważnym języku na poważny kompilator (bez obrazy oczywiście) :) Pozdrawiam (M.) Nie wiedzą...
Witam Po odebraniu stringu (nie przekracza 20 znaków / bajtów) za pomocą komendy input potrzebuję go przeanalizować i wydzielić trzy człony. Pierwszy (od początku do napotkania znaku spacji), drugi - do napotkania znaku "/" oraz trzeci - do napotkania kolejnego znaku "/" lub końca stringu. Pierwsza myśl to pętle: [syntax=basic4gl] do incr licznik incr...
Witam. Mam prosty program zegarka-termometru na lcd 2x16 atmega8 i kawrcu zegarkowym. Proszę o sprawdzenie programu. Pozdrawiam sjzwojtek [syntax=basic4gl]$regfile = "m8def.DAT" $crystal = 4000000 Config 1wire = Portd.7 'konfiguracja magistrali 1wire Config Pind.5 = Input Config Pind.0 = Input Config Pind.2 = Input Config Pind.6 = Input Set Portd.5...
Witam. Jestem zielony i nie wiem jak zmodyfikować kod programu, żeby histereza wynosiła 2°C 'Termostat $regfile = "m8def.dat" $crystal = 8000000 ' ' Config Pinb.1 = Input Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 Config Timer0 = Timer , Prescale = 1024...
Ok, to postaram się krótko i na temat ;-) Moduł RFM12B podłączony jest do ATMega8 następująco: MEGA8 - RFM12B (16) SS - NSEL (17) MOSI - SDI (18) MISO - SDO (19) SCK - SCK (5) INT1 - DCLK/CFIL/FFIT oraz FSK/DATA/nFFS przez rezystor 10k do Vcc Makro, którego używam dla klarowności kodu: #define cbi(sfr, bit)...
Witam. Buduje sterownik do pompy C.O. i jestem na etapie sprawdzania czy wszystkie jego bloki reagują prawidłowo. I właśnie przyciski podpięte pod portd.2 i portd.3 za nic nie chcą działać jak należy. Jest jeszcze przycisk podpięty pod portd.4 który działa jak należy. Otóż dwa pierwsze przyciski zachowują się tak jakby były cały czas wciśnięte. Jak...
Zmodyfikowałem kod, oraz schemat. Schemat: http://img710.imageshack.us/img710/866/e... Odnośnie sugestii w powyższym poście, to nie widzę niczego nieprawidłowego w wcześniejszym połączeniu (port PD3 nie jest później używany) ale dołożyłem dwa rezystory 10k, przez które chcę zewrzeć niewykorzystane piny do masy ustawiając je jako wyjścia w stanie...
dziękuję za zainteresowanie :) myślę i myślę i na chwile obecną czarna magia oto kod programu: [syntax=basic4gl]Declare Sub Wyswietlanie Dim A As Byte Dim B As Byte Config Portb = Output Config Pind.0 = Output Config Pind.1 = Output Config Pind.2 = Output Config Pind.3 = Output Config Pind.4 = Output Config Pind.5 = Output Config Pind.6 = Output Config...
Witam Szykuje do swojego projektu transmisję po RS między dwoma mikrokontrolerami Udało mi się już coś uruchomić ale chciałbym się upewnić czy wszystko robię ok Nadawanie zrobiłem tak: 'projekt regulatora temperatury $regfile = "m8def.dat" $crystal = 8000000 $baud = 2400 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2...
Witam Chciałbym użyć łącza radiowego zbudowanego z pary RFM01 i RMF02. Nie mam zamiaru wysyłać danych,ale bardziej coś na zasadzie włącz/wyłącz. Np wysyłam bajt 128 jako włączenie ,a 256 jako wyłączenie. Niestety nie wiem czy zawsze muszę korzystać z FIFO (nie miałem z tym nigdy doczynienia). Czy istnieje jakiś prosty sposób żeby to wykonać na tych...
Witam serdecznie Od kilku dni zastanawiam i szukam informacji czy mikro kontroler w języku bascom jest wstanie odebrać z magistrali ramkę/dane z informacją np: o wciśniętym przycisku Vol+... i wyświetleniu je na własnym LCD ? Taki mały analizator I-bus. Wiem jak wygląda ramka np: http://obrazki.elektroda.pl/7557137100_1... http://obrazki.elektroda.pl/1540265900_1...
Pisanie na kilkanaście minut i zobacz że lepiej to wygląda niż twoja sieczka. Do tego możesz teraz bardzo łatwo dodawać sobie kolejne efekty. Jak nie zadziała to sobie popraw :-) [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Portd.0 = Input Config Portd.1 = Input Config Portd.2 = Input Config Portd.3 = Input Config Portc = Output...
Witam. Ręce opadają. Od wczoraj próbuje zaprogramować uC by badał temp na poszczególnych czujnikach ale w różnych podprogramach. To znaczy włączam uC pokazuje mi czas naciskam przycisk przechodzi do innego ekranu gdzie widnieje temp. i pomiar napięcia. Następnie znów naciskam przycisk i przechodzi do kolejnego ekranu z wynikami pomiaru z dwóch innych...
Komenda Print jest łatwa do zastosowania ale jak odebrać dane? Znalazłem, że odpowiada za to Input zrobiłem tak Input = +CMTI: "SM",1 then Print "AT+CMGR=1" ; Chr(13) ; Input = (jeśli w odebranej wiadomości występuje OFF) then Pk_syrena = 0 Print "AT+CMGD=1" ; Chr(13) ; ale nie działa "Print "AT+CMGR=1" ; Chr(13) ;" po odczycie "Input = +CMTI: "SM",1...
Witam Odczyt i konwersja jest w pętli głównej.;) Na samym początku("Change Resolution") jest zmiana rozdzielczości czujnika. Do komputera raczej nie jest potrzebna dokładność do trzech czy czterech miejsc po przecinku. Zmianę tą starczy wykonać na samym początku programu, nie ma potrzeby wciskania tego do pętli. Źródło stąd: http://www.elektroda.pl/rtvforum/topic10...
Błędu nie wywala, ale program mikro kontrolerze nie odczytuje tak jak potrzeba. Gdy wysyłam mu same '0' to nic nie powinno się dziać, jak wyślę mu np. '1', to kolejne 3 dane jakie mu wyśle powinien wpisać do zmiennych. BASCOM: Sprawd = Ischarwaiting() ' czekaj na dane, jak są to Sprawd=1 If Sprawd = 1 Then Input Nrled '1-254 If Nrled <>...
aha, czyli rozumiem że powinno to wyglądać mniej więcej w taki sposób: NADAJNIK: Dodano po 26 zmieniłem kody w atmegach na wzór tych powyżej, dla testu i niestety atmega odbiorcza nic nie odbiera, wyświetlacz jest pusty, więc komunikacja stoi. Dodano po 33 OKej, trochę monologu i własnych rozmyślań i udało się uruchomić to poprawnie. Odbiornik odpowiednio...
Coś nie chce mi działać, wgrałem z kompilowany hex do procka i restartuje mi Z80 co chwile. Pod pinD cały i pod pierwsze 4 bity pinB mam podpiętego Z80 i po wgraniu softu z twoją poprawką resetuje się Z80. Cos mu zakłóca transmisje z resztą gratów ;) ale dzięki za chęci ;) Pokreciłeś to całkowicie... Jeżeli cały portD przeznaczyłeś na input Data, które...
program ma wysyłać bity. I wysyła, tylko nie takie jak bym chciał. w tym przypadku na linii wyjściowej dostaje coś takiego: 1, około 3ms przerwy, 1010101010101011, przerwa 6ms, 101. czas trwania stanu wysokiego się zgadza, tylko czemu dostaje taką sieczkę?? sygnał zegarowy ma okres około 400us. $regfile = "m16def.dat" $crystal = 16000000 Dim...
Poprawiłem nieco kod i wygląda tak :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wejścia Config Sda = Portc.1 'konfiguracja pinu...
Nie zgodzę się, że jest 1 bajt danych, ponieważ jest 11 bitów. Proszę dokładnie popatrzeć. Mimo wszystko wysyłając 24 bity nic nie mogę od niego odebrać. Program: $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output Portb = 0 Config Portc = Output Portc = 0 Config Portd = Output Portd = 0 Config Portb.4 = Input Set Portb.2 Set Spcr.6...
WItam W projekcie na Atmega328p wymagane są dwa UARTy, próbuję zrealizować drugi jako programowy którego odbiór danych miałby być uruchamiany przerwaniem INT0, mam kłopot z zerowaniem flagi EIFR przerwania, odbiór 1 bajtu danych wywołuje 2x wejście do przerwania, kombinuję by wejście do przerwania kasowało rejestry flagi INT0 jednak obojętnie czy piszę...
Jak dla mnie to powinno być tak. Nie mam kompilatora pod rękom nie jestem pewien czy jest dobrze ale to mniej więcej to. Kod: $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Input ' ustawiam we/wy Dim A As byte 'po co marnować pamięć A = 0 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 Enable Interrupts Do If Pind.4 =...
Dzięki za przykład z samochodzikiem. Pokombinuje jeszcze w BASCOM z odczytem danych z Rs232. Sprawdzę tez jak działa kontrolka comm.ocx Znalazłem tez ciekawe opracowanie: www.serasidis.gr/circuits/RS232interface... ale można tym jedynie włączać lub wyłączać 8 urządzeń (1 bajt) a ja potrzebuje odbierać w jednym pakiecie 3 informacje...
Witam Potrzebując poznać dane klawiszy z pilota napotkałem wiele problemów związanych np. z brakiem timera 16 bit w małych mikrokontrolerach 8-DIP (Attiny85), śmieci, lub braku transmisji z komendy GETCR5 (A255,K255). Na szybko zbudowałem układ na Attiny24A (ma timer 16bit), TSOP31236 i LCD po I2C (PCF8574). Wyjście z TSOP31236 koniecznie trzeba podać...
Ta zmienna u Ciebie jest dzielona cały czas prawie 16mln/s :D Na początku programu ustawiasz piny enkodera jako wejściowe, ale chyba omyłkowo, zamiast włączyć podciąganie na PORT B .0 i PORT B .1 włączasz segmenty na PORT C :D Poprawiłem co nieco, ale pewnie nie wszystko. Testnij. [syntax=vbnet] $regfile = "m8def.dat" $crystal = 16000000 $hwstack =...
Witam serdecznie, Chcę zrobić sterowanie wentylatora w łazience takie, żeby wentylator włączył się gdy wilgotność powietrza przekroczy pewną wartość. Nabyłem więc czujniki DHT11 pracujące pod 1wire. Walczę z problemem już jakiś czas i nie mogę sobie poradzić. Znalazłem artykuł na ten temat : https://serwis.avt.pl/manuals/AVT3079.pd... Przystosowałem...
zacznij od tego kodu $regfile = "m8def.dat" $crystal = 8000000 Open "comd.3:4800,8,n,1" For Input As #2 Open "comd.2:4800,8,n,1" For Output As #1 Dim Poz As String * 32 Dim Poz1 As String * 20 Dim Poz2 As String * 20 Dim Poz3 As String * 32 Dim Pozv1 As String * 2 Dim Pozv2 As String * 7 Dim Pozv3 As String * 7...
Powiem szczerze, że mam trudności w zrozumieniu tego. Próbowałem kombinować na różne sposoby, ale nie dojdę do tego bez pewnych informacji. Szukałem ich w internecie, ale nie znalazłem nic bezpośrednio z tym związanego. Nawet w polskim helpie Bascoma nie mogłem doszukać się pewnych informacji np. co to jest Overlay ' Tu musisz odczytać scratchpad. Czyli...
Witam, Mam problem ze skomunikowaniem się z pamięcią AT25F2048 używającej interfejsu SPI. Stosuje interfejs SPI programowy. - Zasilanie mam 3,3V wspólne dla pamięci i procesora, wszystko jest porządnie wyfiltrowane (osobno na procku i pamieci). - Pamiec jest podlaczona bezposrednio do pinow procesora. Piny te nie sa uzywane do niczego innego. Linia...
Czy jest możliwość obsłużenia tego w Bascomie? Funkcja GETADC() Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego przetwornika ADC na wybranym kanale. Składnia: zmienna = GETADC( nr_kanału , offset ] ) gdzie: zmienna - zmienna typu Word do której wpisana będzie przetworzona wartość, nr_kanału - numer kanału przetwornika ADC. Zwykle z zakresu...
Shift jest od przesuwania bitów. Ty musisz przesuwać całe bajty w tablicy Buffer_in. Użyj sobie mojej metody odbierania: [syntax=vbnet]Inputbin Dana Buffer_in(in_pos) = Dana Incr In_pos If In_pos = 9 Then 'Jak zmieści się co najmniej jedna cala ramka danych If Buffer_in(1) = &H01 Then 'To sprawdzamy czy jest prawidłowo rozpoczęta If Buffer_in(2) = &H10...
Witam, na wstępie uprzedzę, że jestem początkującym programistą bascom. Tworzę projekt, który jest połączeniem dwóch tematów tj. http://www.elektroda.pl/rtvforum/topic22... oraz ]http://www.mp3car.com/forum/mp3car-tech... . potrafię już odczytać dane z szyny i-bus w bmw i...
To na razie wersja robocza więc sporo niedociąnięć, muszę jednak zacząć rezygnować z bascoma. Niby już wszystko było OK, ale gdy tylko w pętli głównej przed wyświetlaniem chciałem zamaskować wynik poleceniem fusing, znów jakieś głupoty zaczęły się dziać. Nie mam już nerwów. $crystal = 8000000 $regfile "m16def.dat" '*********************zmienne***********...
Dziękuje :). Taki był cel bo żeby było prosto bo miałem na to tylko 2 kB pamięci . I ładnie. Chciałem zobaczyć bo wiem, że nie jest łatwo w języku wysokiego poziomu wetknąć w attiny2313 obsługę wyświetlacza, komunikaty i coś co jeszcze coś robi. Swoją droga musiałem wyprostować twój kod żeby ogarnąć ... Ech te wcięcia ... [syntax=vbnet] '***************************************...
Z tego co stwierdziłem, to czy odbieram: Inputbin Rx_data(1) Inputbin Rx_data(2) Czy Inputbin Rx_data(1),2 To zawsze odbiera mi tylko wysłany pierwszy bajt. Dodano po 31 Kolejna dziwna sprawa: Jak wysyłam : Send_data = 6 Printbin Send_data ; 8;<----------wysyłam daną send_data i jakąś liczbę to w odbiorniku obie są poprawnie odbierane i sprawdzane....
Witam Mam taki moduł jak w tytule. Niestety praktycznie nic o nim nie ma, poza krótką dokumentacją techniczną. Moduł po podłączeniu zaczyna od razu pracować i wysyłać dane typu HEX 42 4D 00 14 00 88 00 D2 00 FD 00 5A 00 8A 00 A8 16 24 00 8E 91 00 05 DF gdzie: kolejność bajtów z czujnika pm_1_0_lsb - 12, Pm_1_0_msb - 11 pm_10_lsb - 16 , Pm_10_msb - 15...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
Może szukasz portów nie tam gdzie są? Przetestowałem z ciekawości i działa bezbłędnie co widać na printscreen`ie. http://obrazki.elektroda.pl/3786130700_1... Kod z tego testu. [syntax=vbnet] $regfile = "m128def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 32 $framesize = 128 $baud = 9600 $baud1 = 9600 Config Com1 = Dummy , Synchrone...
Przeznaczenie: Konfiguruje pracę programowego interfejsu I2C jako urządzenia podrzędnego (Slave). Ta instrukcja korzysta z biblioteki I2CSLAVE.LIB, która jest rozprowadzana oddzielnie przez MCS Electronics. Składnia: CONFIG I2CSLAVE = adres 'Instrukcja Config I2cslave automatycznie włącza globalny system przerwań! Config I2cslave = &B01000000 'czyli...
Witam, W ramach ćwiczenia się w C i bascomie na uC AVR postanowiłem sterować głowicą YST982-B0E3. Znalazłem dla niej opis wyjść/wejść. Głowica ma sterowanie PLL na LC72131, do tego LA1844. LC72131 sterowanie jest protokołem Sanyo CCB. Gotowców jako takich nie ma, jednak przeszukując i czytając forum, postanowiłem że spróbuje sam opanować ten protokół...
Witam serdecznie Mam podobny problem z tym przetwornikiem MCP3202, oto kod: $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 ' use baud rate $hwstack = 48 ' default use 32 for the hardware stack $swstack = 20 ' default use 10 for the SW stack $framesize = 80 Enable Interrupts Config Serialout = Buffered , Size = 254 Config Lcd = 16 *...
kogucikk! spokojnie, spokojnie,... już lepiej.... sorry, za bardzo popłynęłam żargonem - "kody" - kody źródłowe programu... no, mam nadzieje że mnie moderator nie obkrzyczy za ten post.... budowa jest z grubsza taka że jest to 256 bajtów ram z czego pierwsze 16 (0x00..0x0F) to rejestry zegarka pozostałe (0x10..0xFF) to wolny obszar na dane użytkownika...
Spróbowałem coś takiego zrobić ale niestety nie działało. Nie każda linijka kończyła się znakiem <CR> i wtedy program się zawieszał. Znalazłem rozwiązania kolegi "zumek" Config Serialin = Buffered , Size = 80 , Bytematch = 13 ... Serial0charmatch: 'po odebraniu znaku Chr(13) zwiększenie licznika lini(zdarzeń) lds r24,{event}...
Dodajesz pamięć zdarzeń, tzn na jakimś bicie oznaczasz sobie, czy ostatnio liczyłeś w górę, jeśli tak to zmieniasz znak bajtu i liczysz w dół; jednym słowem: BANAŁ może i nie jest to trudne, ale ja dopiero raczkuje w bascomie :) można prosić o przykład Dodano po 1 odpowiedz naprowadziła mnie na pewien pomysł, ale nadal nic z tego :( Zamieszczę swoje...
Próbuję zrobić emulator dekodera PT2272 (dekoder pilotów radiowych), transmisja nie jest zbyt skomplikowana i wykonanie kodera było proste. Problem zaczyna sie po stronie odbiorczej. Na przebiegu zaznaczyłem wszystkie 4 stany jakie występują w słowie kodowym. Są to odpowiednio "0" "1" "T" i ostatni synchronizujący. http://obrazki.elektroda.pl/4855744500_1...
bascom input input bascom bascom bajty mniej
wabco czujnik volvo silnika edimax router ustawienia
radio merces alpine radio merces alpine
Kopiowanie pilota Pulsar do bramy Wiśniowski: instrukcje i porady Pilot do kina domowego Technika HC210CE - naprawa lub zakup