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...
Jeśli tylko jeden bajt, to sprawdzaj czy coś do UDRa przyszło:)
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.
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.
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"...
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.
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 ?
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>.
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....
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....
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...
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...
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...
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ż...
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ś...
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:...
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. 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ć...
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...
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ą...
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...
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....
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...
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...
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...
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...
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...
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.
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...
Jeszcze inne pytanie. Jak odebrać ok 70bajtów przez szeregowe łącze na sprzętowym uart'cie. Input sie nie sprawdza bo te polecenie czeka na enter na końcu a stąd skąd pobieram dane nie ma entera. Polecenie inkey pobiera tylko jeden bajt więc też sie nie nada. a więcej nie znam i nic w helpie od bascoma nie moge znaleźć, jakaś pomoc ?
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...
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...
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...
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_...
No tak przy bascomie i jego softwarowym UART-cie tak można. Skoro masz kody wysyłania danych to nie wiem w czym problem możesz na przykład odczytać stan portuB attiny i wysłać go dalej gdzie wykonasz logicznego EX-OR-a na porcie wraz z otrzymanymi danymi ale to daje Ci tylko 8 przekaźników wypadało by więc dodać kolejny bajt z danymi tutaj wszystko...
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...
Kolego coś takiego wymyśliłem :[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 wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
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)...
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. 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...
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...
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...
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...
Masz poprawiony. Kompiluje się resztę popraw sam. [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 Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaku stopnia Config 1wire = Portb.0 ' konfiguracja...
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...
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. 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...
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...
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...
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...
Witam wszystkich Ostatnio zbudowałem sobie przedwzmacniacz z cyfrowym potencjometrem PGA2311, który steruję za pomocą magistrali SPI z mikrokontrolera ATMEGA128. Problem w tym, że po napisaniu programu w Bascomie regulacja głośności nie odbywa się tak jak powinna, a mianowicie nie są regulowane równomiernie obydwa kanały. Dane do potencjometru wysyłam...
Nie wiem dlaczego odbierasz takie dane. Pamiętaj też że jeżeli przez 70ms nie wyślesz żadnej danej to nadajnik wchodzi w tryb uśpienia, potem jego wybudzenie trochę trwa i może przekłamać bity. Spróbuj tak: Wgraj to do nadajnika i nic więcej: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 $baud = 1200 Config Com1 = Dummy , Synchrone = 0...
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...
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...
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...
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...
1) NIE DZIAŁA - racz obszernie, w poprawnej polszczyźnie, w punktach opisać jak wygląda to niedziałanie 2) NIE MA CZEGOŚ TAKIEGO JAK Config Pind.1 = Input !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!... NIE MA NIE MA NIE MA NIE MA NIE MA NIE MA NIE MA. Ciągle po kimś poprawiam Pinx na Portx. I ciągle...
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...
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...
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...
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...
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ż...
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...
Myślłem, że tak może być, ale przy każdym wyjściu z przerwania przywracany jest stan Input na INT0. Błąd w sofcie jest jak najbardziej możliwy, ewentualnie w jakichś ustawieniach procesora. Dziwne jest jednak to, że to się nie trafia na każdym procesorze. Obsługa przerwania to raptem tyle co poniżej, w Bascomie. Linia: Set Portd.3 'to jest drugi pin...
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ół...
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
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...
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...
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ć...
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 <>...
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...
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 =...
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...
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...
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 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, 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...
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...
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 =...
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...
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, 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...
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...
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...
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ę...
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...
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...
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 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 *...
Witam. Mam kłopot w okiełznaniu magistrali SPI w Bascomie. Podobno SPI jest tak samo łatwe jak I2C, jednak I2C już od dawna rozumiem na tyle, że umożliwia mi to korzystanie z tej magistrali. SPI to dla mnie czarna magia. Kompletnie nie rozumiem o co tu chodzi. I2C jest proste, a SPI w mojej opinii o wiele bardziej zagmatwane. Chciałem skomunikować ze...
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...
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***********...
Nie wiem czy sie przyda ale mam opis bootloadera ale na ATmega8 oto on napisany w bascomie: 'Program Bootloadera (monitora) dla ATmega8 umożliwiający ładowanie 'programu do pamięci Flash przez interfejs RS232 z prędkością 19200 'bodów 'Bity fuse należy ustawić, by na Bootloader było przeznaczonych 128 'bajtów 'Początek adresu programu Bootloadera:...
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}...
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,...
bascom input bascom bajty mniej input bascom
chrysler voyager zasilania hoover usterki kopci przyspieszaniu
mikrotel wymiary mikrotel wymiary
Reset fusera w Konica Minolta bizhub C252 Jak zresetować Webasto - Przewodnik krok po kroku