Klawiature musisz potraktować jak jeden zwykły przycisk. Tyle że zwykły przycisk ma stan wysoki jeśli nienaciśnięty a ten przycisk zwraca 16 jeśli nienaciśnięty. Napisałem na szybko dwa przykłady. Jeden działa bezposrednio na wartosciach a drugi na stringu [syntax=vbnet] Dim Key As Byte Key_val As Byte , Lock As Byte , Licznik As Byte Dim Val_str As...
Witam, Jak można zapisać pewny ciąg danych w kolejnym wierszu w plik CSV ? [syntax=basic4gl] Print "Zapisuje do pliku csv" Ff = Freefile() Open "plik.csv" For Output As #ff 'zapisujemy zmienne Dim B As Integer , C As Word A = 10 B = 25 C = 1234 Write #ff , A , B , C Close #ff [/syntax] Jeżeli tak zapiszę to każdy następny jest nadpisywany
Witam, Na własne potrzeby chciałem zbudować monitor temperatury z 4 dallasami 18B20. Dane są odczytywane z czujników po RS485 i wysyłane do mastera. Kiedy odpytuję czujniki po kolei, muszę czekać standardowe 750ms na odpowiedź każdego z nich, co nie zadowala mnie. Zależy mi na tym, aby po wysłaniu komendy odpytującej, każdy z czujników bezzwłocznie...
Ale ten sposób wysyłania ramek to trochę nie teges. A jak poprawnie się wysyła takie ramki i czym? Nie możesz po prostu sprawdzić w opisie programu jak należy formatować dane? Bo domyślam się że to jakiś terminal jest. Na Wikipedi jest opisane tak: "Minicom to program do kontroli modemu oraz emulator terminala dla systemów uniksowych" Ciężko Ci pomóc...
Możesz to odwzorować w tablicy i przepisywać ekran. Przy pomocy Locate możesz zmieniać pozycję "kursora" na ekranie, czyli miejsce od którego zaczniesz wpisywanie tekstu. Pamiętaj jednak, że to czego nie nadpiszesz - pozostanie.
BASCOM po prostu umożliwia wpisywanie liczb jako dwójkowe (101010101) a C już nie bardzo. Ale i C obsługuje liczby dwójkowe. Wszystko jak byś tego nie wpisał do procesora i tak trafi jako liczby dwójkowe więc nie martw się jak są wpisane w programie. A to Wpis = &B1000000111000101 '33221 To jest konfiguracja syntezy (AM) krok 1kHz Cls :...
Dzięki koledzy za odzew. Jak wykorzystać Select-Case zgodnie z helpem Bascoma to wiem. Myślałem, że jest jakiś "myk" poza dokumentacją, który pozwoli pogrupować te liczby. Spróbuję wykorzystać instrukcję IF-THEN w taki sposób: [syntax=vbnet]IF N=1 OR N=4 OR N=5 OR N=6 itd.[/syntax] Przetestuję na żywym organizmie to się dowiem czy zadziała. Edit: Jednak...
Te podpowiedzi/opisy które sie pokazują przy FuseBitach sa po części zapisywane w plikach definicji *def.dat Dla tak starego procesora może już tego nigdy nie uaktualnią. Mimo mojej sympatii do Bascom nie ustawiam nigdy FuseBitów w tym środowisku bo są programy bardziej intuicyjne. Może spróbuj po prostu zainstalować sobie Burn-o-mat. Tam można wybrać...
Próbowałem i na Medze48 wpisywanie wartości do tergo rejestru nie robi żadnego wrażenia, czy jedynek czy zer czy pojedyńczo dy do wszystkich na raz.
Chodzi o fakt, że na nowym za długo borykam się z problemem samego zainstalowania Bascoma, gdyż usunięcie jednego błędu powoduje generowanie drugiego, więc pomyślałem, że skoro mam gotowy program może uda mi się znaleźć kogoś kto mi go skompiluje, a wgram go już innym programem na ATTiny13 Chociaż Bascom jest relatywnie łatwy w użytkowaniu, to jednak...
1a. JmL(TM) - Kontrola dostepu na DS1990 [rejestrowanie kluczy i wpisywanie hasla z klawiatury] - ATMEGA8, poczatkujacy wiec.. BASCOM ;) 1b. JmL(TM) - Kontrola dostepu RFID [w trakcie..] - ATMEGA8, -II- 1c. JmL(TM) - kontrola, sterowanie i powiadamianie GSM [w trakcie..] - ATMEGA8, -II-
Witam kolegów I koleżanki Mam pewne urządzenie które komunikuje się po UART 3.3 V. Aby rozpocząć komunikację muszę do urządzenia wysłać następujące komenty Enter xon (ASCII) Enter Po tym urządzenie przesyła dane o które mi chodzi I które bez problem odbieram. Do komunikacji z urządzeniem używam Mega328P I Bascom-a. Problem w tym że gdy wysyłam powyższe...
Tyle to ja wiem. Niestety nie jestem w stanie napisać programu bez jakiejkolwiek wskazówki. Oczywiście że nikt tego za mnie nie zrobi ale może znajdzie się ktoś kto WYJAŚNI co jest w tym kluczowe. A jeżeli bym dodał jakąś zmienną która jest wspólna dla każdego potencjometru albo wpisywanie wartości do pamięci? Która koncepcja była by lepsza?
Musisz wiedzieć, że podczas przesuwu informacji z zasady długość rejestru obliguje do takiej właśnie długości "słowa informacji". Możesz pozostawić wolne wyjścia. Zależy jak masz rozwiązane układy współpracujące z tymi rejestrami. Jak rozwiązane jest wpisywanie stanu rejestru do zatrzasku, resetowanie, co generuje sygnał "latch enable"? Bo może to być...
o kurde... przegladalem wszystko ale jakos mi sie wymknelo :/ dzieki :) bardzo fajny programik :) mam jeszcze takie pytanie: (BASCOM AVR i atmega8) czy jest mozliwe wpisywanie wartosci z tabeli (DATA) ale nie do calego portu tylko do 7 jego pinow? np port D ma 8 bitow ale potrzebuje jego wejscie nr5 jako wejscie timera pracujacego jako counter a na...
W sumie to jaki masz ten procesor :?: W pierwszym poście pisałeś o WDTRST 0A6h, a nie o WDTPRG 0A7h. Podstawowego 89C51 chyba nie masz, bo on nie ma watchdoga (chyba, że przez te lata Atmel mnie kłamał), watchdoga ma jego spadkobierca S51, ale bez preskalera (WDTPRG 0A7h), i Bascom „myślał” tak samo – dla tego w symulacji nie robiło...
A czy taka sama sytuacja tylko w języku C byłaby tak samo trudna do zrealizowania? Przerzucam się powoli z Bascoma na C, ale jeszcze daleka droga przede mną. Pytam z ciekawości. Co do kodu mastera; po zmianie na wyjście pinb.2 nadal nie działa. Czy wpisywanie do swojego rejestru slave ma wykonywać w tym samym czasie co master polecenie spimove? Czy...
Do takich egzotycznych kodów ASCII proponowałbym wpisywanie przez ALT+xxx jeśli są to pojedyncze znaki i prosty programik na PC do translacji znaków na kody dla LCD (i z powrotem). W samym BASCOMIE będą krzaki, ale będzie je można skopiować do programiku i sprawdzić.
Wpisywanie w polu port delay innych wartości powoduje, że czym ta wartość większa tym później wyskakuje komunikat "Could not identify chip with ID:000000" W BIOSie port ustawiony na EPP
Dzięki temu że stosujesz takie super wypasione polskie nazwy plików to nie chce mi się otworzyć Twoje archiwum - a nie chce mi się tego poprawiać bo nie lubię tracić czasu. Sprawdź czy winą nie jest sekwencyjne wpisywanie danych na port, może trzeba mu wysyłać cały port w jednym czasie a nie każdy pin kolejno. Dwa NOP-y w BASCOM-ie to DELAY (bez parametrów)....
Proszę bardzo: Config Pind.5 = Output 'Pin odpowiadajacy za generowanie sygnalu PWM 'Generowanie za pomoca licznika timer1 przebiegu pwm o rozdzielczosci 8 bitow na wyjsciu OC1A: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 8 'częstotliwość przebiegu PWM wynosi 8MHz/8/510= ok. 1,96kHz Start...
Wczytałem sie dokładniej w dokumantację i teraz widzę jakie głupoty popisałem poprzednim razem :-) Mam nadzieję że teraz już załapałem. W TINY13 są dwa rejestry konfiguracyjne do TIMER0: TCCR0A=COM0A1 , COM0A0 , COM0B1 , COM0B0 , - , - , WGM01 , WGM00 TCCR0B=FOC0A , FOC0B , - , - , WGM02 , CS02 , CS01 , CS00 Jak sądzę, żeby CTC działało na wyjściu OC0A...
Więc tak, przerobiłem schemat teraz wgralem program ze strony: http://www.mcselec.com/index.php?option=... Wpisywanie kodu 5060 działa. Jednak nie można wpisać nowego. Po wpisaniu *506 już zaczyna wykonywać procedurę ERROR. Nie widzę w tym programie nawet żadnej procedury wpisania nowego kodu do zmiennej Mycode. Czy...
Wiem ze jest pelno na forum roznych programatorow slepy nie jestem wiem ze jest szukaj, ale pytam nie o jakis programator tylko o NAJSZYBSZY. Nie mam zamiaru robic 20 programatorow i sprawdzac czy dziala a potem sprawdzac ktory szybszy potrzebuje informacji konkretnej bo wpisywanie 20k lub wiecej programu do procka przez isp z bascoma trwa bardzo dlugo...
Nowsze układy sterowania pozwalają na realizacje podprogramów. Jesteś pewien że ten nie ma takich funkcji? Jedyne wyjście jakie widzę to jeśli masz możliwość wgrania programu do robota z urządzenia zewnętrznego i znasz strukturę pliku w którym zapisany jest program możesz napisać program na pc który ułatwi ci pracę i wyeliminuje wpisywanie w koło tych...
Kiedyś zajmowałem się procesorami dźwięku TDA 7318 i było trochę problemów z wpisywanie danych odpowiedzialnych za poziom wzmocnienia konkretnego pasma. Problem polegał na tym, że tony niskie zaczynały się od 64 do 78 ,a basy jeszcze inaczej. Ja obszedłem ten problem trochę inaczej . Napisałem pętelkę na wysyłanie dane j do układu i podstawiałem konkretną...
Dr.Vee , fajnie piszesz i tym razem coś tam zrozumiałem hihihihihihi, wiem że wdepnąłem na forum gdzie prawie rozmawia się asemblerem, zaraz ktoś mnie skwituje że asembler jest podstawą hehehehe, Ja niestety spocząłem na podstawach Bascoma. Może dla tego że kiedyś bawiłem się ośmio bitowcami ale to dawne czasy :) . Popatrzcie Panowie na to troszkę inaczej,...
kurczę jeszcze gorszy jest ten problem bo okazuje się że wysłanie jakiegoś dłuższego stringa z PCta do Bascoma graniczy z cudem no chyba że znowu wysyłam znak po znaku i robię pomiędzy tymi znakami znowu przerwy po np 200ms czyli tak jakby symuluję wpisywanie znaków jak z klawiatury gdy jestem podłączony terminalem gdzie robię błąd ??? Dodano po 55...
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 =...
Witam. Nie mam już pomysłu, może ktoś z was coś podsunie. Problem leży prawdopodobnie w złym zarządzaniu pamięcią. Program to miernik energii elektrycznej. Może zamiast kodu przedstawie schemat blokowy. Cały program znajduje się w pętli, nie używam zadnych gosubów i innych podprogramów. Jest tylko 1 przerwanie co sek i tylko zmiana 1 zmiennej. 1. Program...
Dobra poprawione lecz nadal nie działa tak jak powinno. Teraz chociaż wyświetla cyfry po wciskaniu klawiszy. Znaczy to wpisywanie to nie jest tak prawidłowe bo np: wciskając 2 wyskakuje 223 i tak na innych cyfrach W zasadze cod jest poprawny, chociaz: Zamiast '! SET LCD PIN CONNECTIONS in menu: 'Options => Compiler => Output => LCD ' Powinno raczej...
Cóż, pewnie takie rzeczy są w tym prymitywnym języku ciężkie do osiągnięcia. Fragment pomocy do bascoma: Konfiguruje sprzętowy układ UART by używał bufora wejściowego. Składnia: CONFIG SERIALIN = BUFFERED , SIZE = rozmiar gdzie: rozmiarliczba określająca ile bajtów SRAM przeznaczyć na bufor wejściowy. Opis: Gdy w programie użyta zostanie instrukcja...
witam jestem nowym w programowaniu bascomem otóż robię zegarek z kalendarzem na atmega8 i z kwarcem zegarkowym. I jak ustawiam fusebity cksel 1001 bo takie są na małą częstotliwość i jak zmienię te fusebity to atmega8 mi się blokuje. proszę o nie usuwanie tego tematu jak moje wszystkie inne oto kod do procesora $regfile = "m8def.DAT" $crystal...
Cześć Zumek ! Faktycznie pogrzebałem troszeczkę w BASCOMIE i softowy UART zadziałał bez problemu. Jednak.........mam pewne spostrzeżenia: 1) Pomiędzy instrukcjami otwierającymi porty a pierwszą instrukcją wysyłającą dane musiałem zrobić wstrzymanie programu. OPEN "coma.7:19200,8,n,1" for output as #1 OPEN "comd.2:19200,8,n,1" for input as #1 WAIT 1...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
Witam. Bawie się od tygodnia wyświetlaczem 3510i, programuje go w BASCOM na MEGA16. Do tej pory wszystko działa, tylko jak zmieniam z Config Spi = Soft , Din = Pinb.6 , Dout = Portb.5 , Ss = None , Clock = Portb.7 na sprzetowe Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 To wtopa, czyli wyświetlacz...
Jeżeli przycisk zwiera wejście do masy to trzeba jeszcze włączyć wewnętrzny rezystor podciągający wpisując do portu 1.
A o nazwę PWM0A się BASCOM nie "rzucał"? Spróbuj wpisywać bezpośrednio do rejestru OCR0A. I usuń te polecenia Start gdyż są bez sensu. W wersji 1.11.9.5 rezultat kompilacji wydaje się być poprawny. Rejestry ustawiane są prawidłowo. W domu znajdę jakiegoś Tiny i sprawdzę.
Tak jest możliwe. Skoro otrzymujesz za duży czas to zmniejsz wartość wpisywana do timer0 (nie znam bascom więc nie wiem za co który rejestr odpowiada wartość wpisana do timer0, aczkolwiek 40kHz otrzymasz bez problemu).
Hej! Powinno być tak: Config Pinc.2 = Output Config Pinb.0 = Input Do If Pinb.0 = 0 Then Portc.2 = 0 If Pinb.0 = 1 Then Portc.2 = 1 Loop End Dodano po 6 witam wlasnie jesli chodzi o informowanie kompilatora o pliku dyrektyw wykorzystanego mikrokontrolera to jesli w bascomie nie ma pocka np 89c2051 to co nalezy zrobic wpisac $regfile="2051def.dat" ??...
Mam własną procedurę ale działa na zasadzie mnożenia *10 wpisanej do tej pory wartości i dodawania numeru klawisza (0-9) wraz z kontrolą długości liczby, formatowaniem wyświetlania na LCD, obsługą klawiatury w przerwaniu i innymi bajerami. Jak chcesz mogę podesłać Ci odpowiednie procedury. BTW: jaki masz uC ?
No jak za każdym razem do licznika wpisujesz zero to jakim cudem ma być spełniony ten warunek timer1= A?
Tak jak napisałem. W funkcji pobierasz składowe koloru r, g i b, i wpisujesz do kanałów: "Kana(numer_leda+1)=r. Na pewno można to zrobić lepiej.
Przerwanie wyzwalasz poziomem czy zboczem? Kolejna sprawa. Gdzieś czytałem, że AVR po wyjściu z przerwania wykonuje JEDNĄ INSTRUKCJĘ i przechodzi znów do obsługi przerwania (jeśli jest nowe). Jeśli chcesz blokować wskoczenie do nowego przerwania , to musisz w OBSŁUDZE POPRZEDNIEGO PRZERWANIA na samym końcu sprawdzać bit zgłoszenia ponownego przerwania....
Przecież dokładnie tak napisałeś program - za pierwszym razem wyświetla puste łańcuchy daty, a po wyświetleniu wpisuje do nich datę.
[syntax=vbnet]Lst = Array(&B11111110,&B11111101,&B11111011,&... do for each V in Lst ; tu wpisujesz do portu wartość V Waitms 100 next V loop[/syntax]
Nie chce mi sie liczyc lini ale w kodzie masz zadeklarowane Wart_ac a wpisujesz: Lcd Wart _ac -> masz spacje po 't'...
Mam tą biblioteke jak ktoś chce to niech poda maila to podeśle. Pozdrawiam Proszę nie wpisywać niżej listy majlowej, załatwiajcie to na PW
Odpowiedź jest na stronie 82 i 127 PDF ATmegi 32. Po prostu Timer2 ma inne bity ustawiane dla współczynnika prescale niż Timer0. Jeśli zależy ci na Timer 2 to zaprogramuj fo wpisując wartość bezpośrednio do rejestru sterującego Timerem2 czyli do TCCR2. Dla prescale 1024 trzeba wpisać do rejestru 00000111. Bascom doskonale radzi sobie z takim wpisywaniem.
Może być Timer0 inaczej skonfigórowany np: 8000000/256 = 31250Hz Load Timer0, 250 'zapis w Bascom ' TCNT0 = 6 'doliczy 250 31250/250 = 125Hz = 8ms ' występuje przerwanie Timer0 jest ośmio bitowy, więc może zliczyć od 0 do 255 czyli 256 impulsów. W przerwaniu wpisujesz to co ma być wykonane. 256 - prescaler 250 - dodatkowe zliczanie wyprzedził mnie bart-projects
W AVRStudio z kolei nie są zdefiniowane niektóre nazwy symboliczne i trzeba ich adresy wpisywać, inaczej kompilator burzy się, że takowaych nie ma. Obecnie produkowane M48/88 róznia sie tylko iloscia pamięci (wg. datasheet)
wpisywanie liter wpisywanie numeru wpisywanie pamięć
instrukcje serwisowe sharp bosch migający kranik wzbudzić prądnica
rezystor kalkulator kradziez pradu
Czarny ekran po zalogowaniu Windows 10/11 – brak pulpitu, explorer.exe, sterowniki GPU NVIDIA/AMD/Intel Instalacja programów z archiwum TAR.GZ – kompilacja, CMake, Meson, narzędzia ARM, FPGA