A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Dim Czas as Word Czas = 850 do Set PortC.1 Wait Czas Reset PortC.1 Wait Czas loop Pozdrawiam P.S. Poczytaj do czego służy Alias. Nadaj alternatywne nazwy rejestrom a nie poleceniom języka.
Może sam spróbuj ;-) Tak w zarysie : w pętli głównej musisz dodać warunek: jeśli przycisk wciśnięty to zwiększ zmienną "czas" o 1 jeśli puszczony to zmienna "czas" =0 następnie: jeśli zmienna "czas" = 123 (dla przykładu, bo nie wiem jak szybko ta pętla przebiega) to : zmień tryb pracy (to masz strasznie napisane, więc trudno ogarnąć)...
Prościej sie nie da : 'w góre if pinb.5 = 0 then if A <> 4 then 'wartosc maxymalna A incr A waitms 100 end if end if 'w dół if pinb.6 = 0 then if A <> 0 then 'wartosc minimalna A decr A waitms 100 end if end if
Witam! Potrzebuję zmienić TIMER1 do obsługi PWM na TIMER2 ktoś pomoże? ATMEGA32 BASCOM
W skrócie : ustawiasz co który impuls zegarowy ma byc zliczany, potem ładujesz do rejestru OCR2 wartosc z którą bedzie porównywał i w momencie zliczenia tylu impulsów ile jest w OCR2 następuje zmiana stanu na wyjsciu OCn... najprzyjemniejszą informacją jest to, że procesor robi to niezależnie od wykonywanego programu ;) wiec nie ma mowy o jakichkolwiek...
Nie wiem czy wyjdzie to jako kolejny post lub dodany po czasie :D ..., ale po pierwsze chciałbym byś nie myślał że moje uwagi są złośliwe. Po prostu zapytań o różne aspekty programowania w Bascom jest tak wiele że lepiej jest odpowiedzieć na ogólnodostępnym forum niż musieć sie powtarzać. Jest szansa że jeszcze ktoś to przeczyta :D Zamiast za każdym...
Niestety w BASCOM nie pomogę :)
Taka niestety jest konstrukcja Bascom'a. Jeśli nie chcesz robić tego krok po kroku to możesz sobie stworzyć funkcję, która to będzie robić. Innej alternatywy nie ma... no chyba że zmiana języka na C.
Witam,chce pozmieniać komunikaty w programie bo są po niemiecku (blee),i mam bascoma,a jak wiadomo bascom najprostrzy do tego typu spraw,więc tylko jakaś kompilacja,jest to plik hex do AT90S4433... może jakiś link??? Przykro mi, ale bascom to język wysokiego poziomu (koń by się uśmiał) i nie istnieje jednoznaczne odwzorowanie kod binarny->HLL (high...
Poczytaj troszkę o PWM, zmiana szerokości impulsu dające w efekcie zmianę jasności świecenia diody. Bo oto chodziło, prawda ?
oba czujniki nie muszą być oświetlane w taki sam sposób jednocześnie gdyż są jedna nieco od siebie oddalone Wielkość zmiany jest drugorzędna. Liczy się sam fakt zamiany, relacja czasowa wobec drugiego czujnika (w tym samym momencie - zmiana otoczenia, odstęp czasowy - najazd/odjazd pociągu) oraz znak (+ zwiększenie jasności otoczenia-zdarzenie nieistotne/odjazd...
Zajętość flash`a z 46% na 38% :P Tak bym się nie bawił, ale w Tiny13 to ma znaczenie bo można coś jeszcze upchnąć ahahaha :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack=20 $swstack = 8 $framesize = 16 'Declare Sub Zmiana Config Pinb.2 = Input Set Portb.2 Config Portb. 4 = Output Config Servos = 1 , Servo1 = Portb.4 , Reload =...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem ze zmiana z systemu binarnego na dziesiętny jest znana?...
Kochani! Ja jestem takim średnio-zaawansowanym programistą. Debugger to jest ogromna zmiana jakościowa! Jeżeli tylko jest możliwość, to bierz z debuggerem! To naprawdę ułatwia wiele zwłaszcza dla początkującego! Różnica jest ogromna! Używałem obu metod, to trochę można powiedzieć, że się znam. Teraz trochę indoktrynacji. Jak zaczynałem programować AVR...
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...
Witam szanowne grono kolegów. Buduję układ w oparciu o ATMEGA8 ( 1 UART ), program pisze w BASCOM. Potrzebuję wysłać dane z UART w dwóch szybkościach, najpierw UART ma wysłać ramkę danych z szybkością 9600 następnie drugą ramkę z szybkością 2400. Układ będzie transmitował do szyny RS485, na której pracują 2 rodzaje urządzeń, jedne nasłuchują z 9600kb/s...
Witam. Mam w pewnym programie czcionki dla lcd w takim formacie: [syntax=basic4gl]Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, Data 0 , 0 , 6 , 95 , 6 , 0 , 0 , 0, Data 0 , 7 , 3 , 0 , 7 , 3 , 0 , 0,[/syntax] Jak zrobić takie swoje czcionki w innym rozmiarze?
Twórca Bascoma napisał że chciał stworzyć program łatwy i intuicyjny i do tego żeby posiadał zintegrowane wszystkie funkcje przydatne programiście. Pisał też że chciał by Bascom posiadał symulator bo wie jak bardzo jest przydatny. Wiec Bascom go ma. Jego programator ma też więc wszystkie cechy zwykłego programatora. Możesz więc: Otworzyć nowy, czysty...
Wszędzie (czyli podwójnie) gdzie pisze : "If Plus = 0 Then" napisz "If Plus = 1 Then" "If Minus = 0 Then" napisz "If Minus = 1 Then" "If Histereza = 0" napisz "If Histereza = 1" i... "odswierzanie" napisz "odswieżanie" :D powinno pomóc Życzę miłego dnia
Z tą dowlnością w używaniu rejestrów byłbym bardzo ostrożny. Nieodpowiednia zmiana - program się wysypie. Nie wolno używać w trybie zapisu bez wcześniejszego zapamiętania: Y ( soft stack pointer ), R4:R5 ( frame stack pointer ), R6 ( status register ), R8:R9 ( data pointer ), R23 ( translate register ), R12:R13:R14:R15 ( fp calculator ). W sumie można...
zastosuj układ ds 1813 do zerowania procka wyłacz WDT i BOD wtedy potestuj a i zmień kwarca na inny egzęplaż czasem usunięcie lub zmiana c przy kwarcu też daje efekt . problem ze źle startującym oscylatorem ,lub ustawieniem procka na wewętrzny oscylator co kończy sie niewyrobieniem proca przd wtd i resetem ...
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 :...
..."Tylko po co zaczynać o starych procesorów i od powoli wymierającego języka?".... A czy ktoś o to pyta? Jeśli chodzi o pomoc - to trudna sprawa. Piszesz "Mój kod zrobił się już dość duży i moje umiejętności są zbyt małe, aby nad nim zapanować" I chyba tu jest problem, zacznij pisać "od początku", zacznij od obsługi "pojedynczych składników". Zapisuj...
Witam. ........... nie wiem jak zrobić aby te wyzwalanie było tylko od narastającego zbocza. Ściągnij pin 'Start' (PIND.5) rezystorem 10k do GND i odwróc jego logikę na przykład: If Pind.5 = 1 And B = 0 Then Druga sytuacja nie wiem dlaczego ale silnik mi przerywa tak co około sekundę gdy PWM jest włączony. Prawdopodobnie w tym czasie następuje zmiana...
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Bascom ma tę wadę że nie ma do niego żadnej sensownej książki po polsku dla zaawansowanych. Dla początkujących- owszem. W Bascomie można pisać własne biblioteki- to wszystko co na ten temat wyczytałem. Ale jak- nigdzie nie znalazłem. Pewnie ilość błędów jest większa niż w innych kompilatorach- bo pisze go jeden człowiek. Co będzie gdy przestanie? Retoryczne...
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...
Witaj, Masz 2 opcje ;) np. masz cos takiego: dim a as byte a.0 = 1 a.1 = 1 a.2 = 1 set a.0 set a.1 set a.2 a.3=0 a.4=0 a.5=0 reset a.3 reset a.4 reset a.5 Instrukcja: a.[numer bitu] = [0 lub 1] set/reset a.[numer bitu] gdzie set ustawia 1 reset ustawia 0 analogicznie dla zmiennych typu word integer - tylko że tam możesz zmieniać więcej bitów;) Pozdrawiam
Tu masz troszkę prościej, z użyciem operacji przesunięcia bitowego (krótszy kod, łatwiejsza zmiana prędkości linijki led) Dim Led As Byte Dim Kier As Bit Config Portb = Output 'wszystkie porty b jako wyjścia' Portb = &B00000000 'wszystkie porty b w stanie niskim Config Portd = Output 'wszystkie porty d jako wyjscia Portd = &B0000000 'wszystkie porty...
Hehe, przeanalizuj dokładnie Twój ostatni programik i odpowiedz sobie jeszcze raz na pytanie jak on właściwie działa :) ...jak ograniczyć ruch diody dosłownie na 4 pinach. Tu mamy przesuwanie 2 diodek - "00010001"... Wkradł mi się mały błędzik :) W swoim programie pobierałem dane z linii Data i były to tylko bity 0...3 dla silnika bipolarnego natomiast...
Ustawiam fuse bity tak samo w przypadku atmegi8 dip28 i atmegi8 tqfp smd i zapisuję je tak samo w obu przypadkach poleceniem write prg, w przypadku zwykłej atmegi do pliku programu wpisują się inne ustawienia a w przypadku atmegi smd inne,właśnie o to mi chodzi, dlaczego tak jest?, czy jest jakaś różnica pomiędzy tymi prockami?, może plik definicyjny...
Witam, Zależy mi tylko na tym, żeby Arduino zliczał impulsy z kontraktrona do 5 - 1 impuls- świeci się dioda led 1 - 2 impuls zapala się dioda led 2 - 3 impuls zapala się dioda led 3 - 4 impuls zapala się dioda led 4 - 5 impuls zapala się dioda led 5 i dodatkowo daje sygnał ciągły HIGH na pin SILOWNIKA przez cały 5 po 6 impulsie reset i znowu: - 1...
czesc. ja kombinowalem z przekazaniem tablicy, jednak nie mam pojecia czy dane w kolejnych polach tabeli maja isc po kolei czy odwrotnie... tak: ip(1)=192 ip(2)=168 ip(3)=0 ip(4)=27 czy tak: ip(1)=27 ip(2)=0 ip(3)=168 ip(4)=192
Dzięki za cenne uwagi. Teraz wiem czego szukać. Generalnie zmiana kontrastu pokaże że dolna linia nie działa. Szpilki na zasilaniu przy LCD mogą się pojawić, nie dałem dodatkowego kondensatora. Inicjalizacja wyświetlacza co pewien okres czasu na pewno pomoże. Poprawki wykonam w Piątek lub Sobotę i się odezwę za tydzień. Kontrast jest regulowany dla...
A co użyć biblioteki "lcd4busy.lib" i podłączyć LCD i z linią R/W: "Biblioteka LCD4BUSY.LIB może być używana jeśli istotny jest czas działania programu. Podstawowa biblioteka obsługi LCD używa sztywnych opóźnień podczas komunikacji z wyświetlaczem. Biblioteka lcd4busy.lib używa dodatkowej końcówki (linia R/W) by móc odczytać flagę statusu wyświetlacza....
Witam W tym rejestrze tylko dwa bity dadzą się zmienić i przy okazji odpowiadają one za rozdzielczość więc wpisanie do rejestru wartości 63 dzisiętnie lub 3F hexadecymalnie załatwia sprawę. -- pozdrawiam
http://obrazki.elektroda.pl/6049470000_1... Chyba nie ma bardziej rodzinnych świąt, niż Wigilia i Boże Narodzenie. Skoro święta rodzinne, to i projekt oraz jego wykonanie musi być bardzo rodzinne. Akurat w szkole mojego synka odbywał się konkurs na szopki, więc postanowiliśmy zbudować własną szopkę. Oczywiście poza tradycyjnymi elementami...
Po tej zmianie działa dobrze , pisałem program na podstawie kodu z zestwu AVT5266 w tym kodzie i projekcie był zastosowany kwarc 8 MHz i wpis Prescale w kodzie było 1 ,a także był wpis Enable Timer1. Też atmega 8 sterował Driverem L293. Aplikacja wysyła litery od 0 do 9 - max prędkość to litra q Aplikacja pochodzi z Sklepu PLAY. Problem rozwiązany Dzięki
Niestety takie zachowanie to wyjątkowo nie chimera i błąd BASCOM'a, ale wina beznadziejnego bootloadera - bootloader powinien zadbać, by po swojej pracy zostawić uC w stanie takim, jak po podłączeniu zasilania.
Przy okzaji chialbym dopytać Mundi1970 czy skoro w deklaracji funkcji użyłeś ........ We wszystkich przykładach z katalogu SAMPLES i w helpie, na początku funkcji jest podawany typ danych. Teraz działa nawet i tak :): Zalecił dopisać you need to add : $swstack=16 $framesize=30 I kod zaczął działać...:) Należy też pamiętać że te wartości mogą być większe....
A tak na marginesie BASCOM i magistrala 1W dallasa to chyba jest jakieś nieporozumienie. Na tym sie po prostu nie dało zrobić wyświetlania na wyświetlaczach LED dobrego multiplexa. Wcieleni wiedzą o CLI :-). Mogę dać obsługę 1W z dallsaem 18B20 w ASMie na AVRa. Pozdrawiam
http://obrazki.elektroda.net/51_12592426... Projekt, który od dawna chodził mi po głowie… do zwykłej szklanej żarówki upchnąć elektronikę, która robiła by coś ciekawego. Jedyne co mi przyszło do głowy (po za bombą z terometrem) to żarówka płynnie zmieniająca kolory. W skład urządzenia wchodzi przetwornica 230V/5V-500mA, diody led SuperFluxRGB,...
Zmiana platformy nie wchodzi w grę, już prędzej chyba czujniki, ale jeszcze poszukam.
Ustawienie większych wartości stosów rozwiązało problem. Dziękuję za pomoc.
Przy tak zadanym pytaniu to nawet wróżka nie odpowie. Postaw się w naszej sytuacji i przeczytaj co napisałeś.
jest to tylko 4,9732 * 10^86 kombinacji :-D na moim by to troszeczke szybciej poszlo ale i tak czas nie byl by zachwycajacy :-) Radze poszukac i znalezc pewien programik ktory by pomogl ci uzywac BASCOM'a Demo do progow wiekszych niz 2048 :-) ps nie wiedzialem ze to ma 36 literek
Nie musisz się w to bawić "ręcznie" Możesz wziąć zmienną i ustawić w niej 1 jako wartośc a potem zrobic Shiftout gdzie można ustawiać ilość bitów do wypchniecia czyli taktów. Nominalnie Bascom robi dwa NOP`y pomiedzy zmiana stanów zegara. Czyli potem możesz brać jakiś Bajt z wartością 0 i wypychać tylko jeden Bit ;) Potem sobie mozesz napisac makro...
zmiana stanu bascom zmiana częstotliwości bascom zmiana prescale bascom
multiroom vectra uruchomienie wspomagania pilot xboxa
magnetowid philips tasma samsung ue46d5500
Ariston Clas EVO – samoistne włączanie pompy CO, przyczyny, diagnostyka, czujniki NTC, sterownik PCB Chunghop RM-133E instrukcja po polsku, kody, programowanie pilota, tabela kodów TV