Nie avrstudio5! To jest beta- w dodatku schrzaniona. Ściągnij normalne 4.18.
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Nie znam bascoma, ale takie coś powinno działać: $regfile = "m16def.dat" $crystal = 1000000 Config Portd = Output Portd = &B0000000 Do Waitms 200 Toggle Portd.0 Waitms 200 Toggle Portd.1 Waitms 200 Toggle Portd.2 Waitms 200 Toggle Portd.3 Waitms 200 Toggle Portd.4 Waitms 200 Toggle Portd.0 Toggle Portd.1 Toggle Portd.2 Toggle Portd.3 Waitms...
(at)ElektrodaBot Tak kiedy już ustaliliśmy konwencję to chciałbym żebyś to zrobił za mnie. Poniższy kod zamień na język Basic i ładnie wstaw na Elektrodzie w Syntax Basic Bascom. Możesz to dla mnie zrobić? :D [syntax=c]/* Device register map */ /** (at)defgroup VL53L0X_DefineRegisters_group Define Registers * (at)brief List of all the defined registers...
Kolego patrzę na ten kod ze zgrozą, ale załadowałem do swojego Bascoma i trochę więcej zrozumiałem bo mozna sprawdzać referencje i skakać po kodzie. W przerwaniu co osiem taktów (nierealne) timer ma zliczać te twoje "niby" OCR. (Incr Licz_timera1 : If Licz_timera1 >= Ooo Then) Te OCR jest ładowane z tabeli gdzie najmniejsza wartość to 127 a najwieksza...
Set Portd.5 - będzie stan wysoki albo: Pind.5= 1 Toggle zmienia stan Pinu, u ciebie nie był ustawiony żaden stan.
A może pomoże dopisać jedną linijkę do kodu "odbiornika" ? Proponuję dopisać w tą część kodu opóźnienie: If I = "a" Then Toggle Portb.0 Waitms 500 ' <<<<<<< End If Pozdrawiam. Stefan
Witam... Ja bym nie bawil sie w komparator i ... tylko wzioł cfrowy termometr 1-wire np DS1822, DS1821(swoją drogą da sie go zaprogramować jako termostat) no ale można zrobić to w rózny sposób, wracam do tematu postu... Przerwanie od komparatora w BASCOM Config Aci = On , Compare = Off , Trigger = Toggle On Aci Przerw Enable Interrupts Enable Aci coś...
Wszstko dlatego, iż zmienne typu Single są nieco odmiennie zapamiętywane w pamięci i mają wyjątki (np. NaN, QNaN, SNaN) które nie są liczbami, i każda operacja arytmetyczna z nimi powinna wywołać błąd operacji i jego zgłoszenie - a tego Bascom niestety nie obsługuje (jak i spora ilość innych kompilatorów). Operacja z jawną zamianą znaku jest bezpieczniejsza...
Po co ustawiasz portd.4 na wejscie Hi-Z? Ustaw tak: PORTD = PORTD or &h10 Wtedy podsiągasz ten pin do plusa i nie musisz ustawiać tam jedynki w podprogramach. Przerób A na BIT, po czym Program: Portc.4 = 0 'jedna dioda zapalona Portc.5 = 1 'druga dioda zgaszona toggle a Return Program2: Portc.4 = 1 ' dioda zgaszona Portc.5 = 0 ' dioda zapalona...
Masz tu prosty, sprawdzony, działający program do sterowania portami. $regfile = "m16def.dat" $crystal = 1000000 ' przelicz u siebie te zera :) Dim B As Byte Config Portb = Output Portb = &HFF Waitms 100 Open "comd.1:9600,8,n,1" For Output As #1 Open "comd.0:9600,8,n,1" For Input As #2 Do B = Inkey(#2)...
A może bardziej sensowne byłoby: [syntax=basic4gl] If S = 0 And PIND.7 = 0 Then port = portc End If [/syntax] e marcus
Wyłapałem że wcześniej deklarowałeś $regfile = "m16def.dat" zamiast $regfile = "m16adef.dat" (mimo że procesory różnią się jedynie poborem prądu i rezystancją podciągania pinu RESET to warto było sprawdzić ten trop), jeśli dioda LED podłączona jest poprawnie do PORTA.0 to niestety nic więcej (poza samym komputerem) nie przychodzi mi do głowy... Ostatni...
Jeśli chcesz aby np. dwie diody mrugały z różną częstotliwością to w najprostszy sposób możesz to zrobić tak: na początku pętli głównej dajesz małe opóźnienie powiedzmy 5ms. Potem w każdym obiegu pętli (co 5ms) zwiększasz wartość dwóch zmiennych np. Licz1 i Licz2. Kiedy Licz1 osiągnie wartość 50 wtedy zerujesz ją i zmieniasz stan pinu do którego dołączona...
Proszę, może to Cię zachęci do przeczytania reszty we własnym zakresie. Program "miga" nośną 38kHz co 1ms ;) http://obrazki.elektroda.pl/5631733100_1... [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 32 $framesize = 32 Config Timer2 = Timer , Prescale = 1 , Compare = Toggle , Clear Timer = 1 Compare2...
Z tego, co pamietam, nie w każdej wersji Basoma działała tak napisana konfiguracja. Może spróbuj zamiast tego: Dodano po 3 Pracując z płytkami Arduino (różnego wydania i versji) musisz pamiętać że zasadniczą częścią ich funkcjonalności jest wpisany tam bootloader Kolega autor już skasował bootloader. Jeśli będzie potrzeba użycia tego badziewnego bootloadera,...
Diody migają po dwa razy, kolejne dwa razy zawsze po naciśnięciu przycisku, tak w kółko. Jak nie naciskam to nic się nie dzieje. Zdaje się że taki zamiar był tego programu... Niemniej jednak spróbuj ten code: [syntax=basic4gl][/syntax ... $regfile = "attiny13.dat" $crystal = 9600000 Config Portb = &B011000 Portb = &B000010 $hwstack...
Ten przykład działa, ale tylko dla jednego "przełącznika" ale gdy robie np dwa kolejne to już coś jest źle. Buduje urządzonko, które będzie załączać 3 przekaźniki: - 3 przyciski (portd.4, portd.5, portd.6) - 3 przekaźniki (portd.1, portd.2, portd.3) Jak to można zrobić w BASCOMie?? Kod dla w/w konfiguracji: Config Debounce = 30 Config Portd = Output...
Witam, Polecenie SOUND port , il_impulsów , czas_impulsu To mi nie pomoże. Jako argument chcę podać potrzebną częstotliwość (liczba), a nie ilość impulsów i czas impulsu... Jeżeli znasz częstotliwość to nie problem określić ilość impulsów i czas trwania, ale ta funkcja jest mało precyzyjna. Lepiej wykożystać do tego Timera: $crystal = 4000000 Pwm1a...
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
Nie przesadzaj ;) Jestem programista ale akurat bascom mi nie podchodzi. Do tego slyszalem ze odmierzyc tam cos precyzyjnie nie idzie - stad opinia. Co do kodu to co tu pokazywac? toggle portd.0 .... waitus ... toggle itd? Tak czy siak twoj kod nie dziala odnośnie gotowca od kolegi pixel.... więc jaki to jest twój ulubiony język skoro nie Bascom? ;)...
$regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = Input Portb.0 = 1 Config Portd = Output Portd = &B11111111 Dim Temp As Byte Temp = 1 Do Temp = Temp * 2 If Temp > 80 Then Temp = 1 Portd = Temp Toggle Portd If Pinb.0 = 0 Then Bitwait Pinb.0 , Set End If Waitms 500 Loop End Dodałem znaczniki
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
Łap gotowy Hex lub Bin (do wyboru). Machnąłem to w Bascom bo to dosłownie minuta i dłużej chyba uruchamia się AtmelStudio7. Kod jest prosty jak świński ogon więc możesz go sobie przetłumaczyć, ale szybciej zmienisz go wersją Demo Bascoma. Wszystko opisane. Osobiście pomyślałbym o tym, że po wykryciu zamkniętych drzwi można od razu przejść do pilnowania...ale...
To się nie ma prawa skompilować. Goto skacze do x, którego nie ma. Poza tym jest jeszcze kilka kwiatków w tym programie. Domyślam się, że program ma zmieniać stan końcówki PD.1 w wyniku zwarcia końcówki PC.4 do masy. Zatem [syntax=basic4gl]DDRC.4 = 0: PORTC.4 = 1 DDRD.1 = 1 Do Debounce PINC.4, 0, x, Sub Loop End x: waitms 30 toggle portd.1 Return[/syntax]...
Można sobie ułatwić robote na kilka sposobów.Użyć aliasów zamiast definiować zmienne bitowe: Dim Przekazniki As Byte Pk0 Alias Przekazniki.0 Pk1 Alias Przekazniki.1 Pk2 Alias Przekazniki.2 Pk3 Alias Przekazniki.3 Pk4 Alias Przekazniki.4 Pk5 Alias Przekazniki.5 Pk6 Alias Przekazniki.6 Pk7 Alias Przekazniki.7 Set Pk0 'tak ustawiamy bit Reset Pk5 'tak...
Chwile sie pobawiłem i zastanawiałem sie czemu mi zle działa dioda podpięta do PORTB.3 a to jest związane z OCR1A dlatego zle działała. Nie dlatego, nie ma tu żadnego związku. OCR1A jest to wpis do rejestru, który służy do określenia górnej granicy (TOP) do jakiej ma liczyc Timer1 co odpowiada upływowi czasu tu akutat 1 sec., zaczym się wyzeruje. Jeżeli...
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...
zacznijmy od tego, ze kod umieszczamy w klamrach Dodano po 10 to jest kod na jedna sekunde $regfile = "m8def.dat" $crystal = 8000000 Config Pind.7 = Output Portd.7 = 0 Przekaznik Alias Portd.7 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Enable Interrupts Enable Timer1 Load Timer1 = 31250 Do Loop End Sekunda: Load Timer1 =...
Może: Licz: If Co_robic = 0 Then 'Odliczanie przerwy Incr Licz_przerwe If Licz_przerwe > 1000 then Licz_przerwe = 0 Co_robic = 1 End If Else Incr Licz_impulsy If Licz_impulsy > 4 Then 'Odliczanie okresu przebiegu (4 - okres = czas 4 przerwań Timera) Toggle PortD.4 Incr Licz_przerwe 'Odliczanie ilości impulsów (10/2 = 5 impuslów)...
po pierwsze, z jakiego ty helpa wziąłeś kod do testowania? chyba z helpa z kosmosu - bo na pewno nie wygląda to na kod z helpa Bascoma Getrc5(address , Command) If Address = 0 Then 'clear the toggle bit 'the toggle bit toggles on each new received command 'toggle bit is bit 7. Extended RC5 bit is in bit 6 Command = Command And &B01111111 Print...
Witam, Jak byś zobaczył do HELPa Bascoma to byś dużo się dowiedział :) $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. 'when CONFIG COMx is not used, the default N,8,1 will be used Config Pinb.7 = Output Config Com1 = Dummy...
atom1477, przecież o ile jakieś przerwanie w międzyczasie nie zmienia Portd.5 to kod Nie chodzi o to żeby ustawił w końcu, tylko w momencie kiedy piszesz Pind.5 = 1: No ale Portd.5 zamiast Pind.5 byłoby przejrzyściej. W ogóle przejrzyściej było by stosować ten zapis jeszcze zamiast Set Portd.5. Tysiące razy było. Do rejestru port zapisujemy a z rejestru...
Przykładowo można zrobić tak, sprawdź czy zadziała. Nie dałem powerdown ponieważ widzę że nie jest to potrzebne (bo z baterii działać nie będzie). [syntax=basic4gl] $regfile = "2313def.dat" $crystal = 8000000 Config Portd.3 = Input 'przycisk on/off Set Portd.3 Config Portd.0 = Output 'LED on/off Reset Portd.0 Config Int1 = Falling 'konfig przerwania...
Skoro łączysz na płytce stykowej to zapewne nie łączysz tego z głowy, tylko wedle jakiegoś schematu. Przecież do takiego "szybkiego" testu nie trzeba schematu! Wystarczy podłączyc zasilanie i mały cap przy nim (do takiego testu można nawet i o nim zapomniec - bedzie pracowało), oraz podłączyc jedną diodę LED z rezystorem do portu deklarowanego jako...
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
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ł"...
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 =...
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 =...
Łap. Napisałem w przerwie między... Zajmuje połowę mniej niż Twój a działa :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 8 $swstack = 8 $framesize = 8 Config Portb = &B01110 : Portb = &B10001 Sw Alias Pinb.0 D1 Alias Portb.1 : Set D1 D2 Alias Portb.2 D3 Alias Portb.3 Config Timer0 = Timer , Prescale = 1024 , Clear...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
łatwiej się już chyba nie da. Sorki, ale ja bym raczej powiedział, że: "JUŻ GORZEJ SIĘ NIE DA :(" Co to za rozwiązanie gdzie w środku siedzi jeszcze obrzydliwy Wait !!! brrr ale żeby nie być gołosłownym, który tylko krytykuje.... Ok, panowie - widzę, że wasze zmagania spełzają na niczym, pokażę wam więc jak się powinno podchodzić do programowania....
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...
https://obrazki.elektroda.pl/2034175900_... Wczoraj wczesnym rankiem (tj. niedziela) tak sobie leżałem oglądając TV i pomyślałem, że przydałoby się zaświecić światło w pokoju, ale strasznie nie chciało mi się wstawać… Tak powstał pomysł na oświetlenie sypialni sterowane pilotem IR. ;) https://obrazki.elektroda.pl/6206372600_...
Witam. Znalazłem coś innego i po modyfikacji działa jak powinno . Przypisany jeden klawisz pod PB.2 wysyłający LewyALT + Q. Jest też zmiana u gnieździe usb D- PD.3 na PD.4. [syntax=vbnet] 'Author : Rick Richard 'www : http://www.sloservers.com/swusb 'Created : Jul 29, 2009 'Version : 1.00 '***************************************...
Zamiast "Toggle Pind.7 " ma być: "Toggle Portd.7 ".
Zamień miejscami Loop i End If. Zmień Toggle Pinb.2 na Toggle Portb.2.
Sprawdź jaki procesor masz ustawiony w opcjach bascoma... pewnie jakiś attiny2313 i bascom kompiluje program pod ten właśnie procesor. I spróbuj zaprogramować tym: $regfile = "m8def.dat" Config Portd = Output Config Portb = Output Do Toggle Portb Toggle Portd Waitms 200 Loop : End
Sorry to nie zrozumiałem z tym migotaniem. Nie wiem jak można to zrobić – no może tak trochę prymitywnie czyli: If Czuwanie = 0 Then Toggle Czuw End If Cls Cursor Off Home Home Lcd "Grot: " Lcd Temp Lcd Chr(1) Lcd "C " Waitms 10 Do If Czuw = 1 Then Lowerline Lcd "CZUWANIE " Lcd Nastawa Lcd Chr(1)...
toggle timer1 toggle button toggle switch
monitor philips włącza brotje opinie volvo silnika
reset pieca buderus wkrętarka wyłącza
Przyczyny błędów pralki Samsung Eco Bubble 8kg Kod błędu KAD 06.E w lodówkach Sharp - przyczyny i rozwiązania