$regfile = "attiny2313.DAT" lub zaznaczenie uC w opcjach kompilatora. Dodatkowo być może przyjdzie się zmagać z "fusami" bo Tiny 2313 ma preskaler ustawiony do podziału zegara przez 8. Przy częstotliwości generatora kwarcowego np. 16MHz chodzi z częstotliwością 2MHz. Jeżeli to nie przeszkadza to wystarczy w Bascomie wskazać zegar 2000000Hz i po kłopocie.
No i słusznie. C.6 pewnie też Ci nie działa. Jak podajesz taką deklaracje to do pinów C.6 i C.7 należy podłączyć kwarc zegarkowy i zliczanie czasu masz obsługiwane automatycznie. Poczytaj HEPLa.
Może i proste dla tych co w tym siedzą dla mnie jeszcze trudne swego czasu coś tam pisałem w Bascomie a potem już nic a Arduino to znowu inna bajka ale do rzeczy .... - nie wiem jak deklaracje pinów ardurino maja się do pinów atmegi ? Mają się 'nijak' !!! Arduino stosuje własną numerację pinów, która w żaden sposób nawet nie jest podobna do naturalnej/fabrycznej...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
ok kolego już ci pomagam! opis wyprowadzeń wyswietlacza i tak go podłącz jest to stała konfiguracja. oczywiście porty mozesz zmienić. I tak zaczynamy od wyprowadzenia nr 1 do ostatniego 14 lub 16 jeśli jest podświetlenie . 1- masa 2- +5V 3- kontrast (dzielnik napiecia PR o wartości 5k środkowa noga do wyswietlacza. Pozostałe dwie nigi : jedna do masy,...
Zobacz to: $regfile = "m8def.dat" $crystal = 16000000 Config Portb = Output Portb = &B00000000 Config Portd = Input Portd = &B11111111 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1 Przycisk Alias Pind.1 Dim D As Byte , Czekaj As Integer D = 0 Pwm1a = D Czekaj = 0 Do If Przycisk...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Pokaż proszę deklaracje zmiennych.
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 '***************************************...
A gdzie masz deklaracje wejść/wyjść ?
Nsvinc Dziekuje za pomoc lecz ciezko jest mi cokolwiek wywnioskowac z tego kodu ktory zamiesciles :( jest to delikatnie mowiac za dlugie jak na moje mozliwosci przy tym poziomie wiedzy w bascomie niezmiernie ciezko jest wyciac powiedzmy odpowiedni fragment.Pozdrawiam Lenistwo, lenistwo i jeszcze raz lenistwo! W ogole nie widac za grosz checi wkladu...
Ten mój pierwszy program na pewno działa, ale napisałem nowy na liniach sprzętowego SPI żeby obalić te tezy że na sprzętowym się nie da. Kiedy nie używa się pinu SS a kluczuje się samemu to nie ma problemu i po podłączeniu jak w poniższym schemacie poniższy kod działa w opcjach Software , albo Hardware SPI ;) Przykładu z Shiftout już mi się nie chciało...
Jakbyś poczytał dokumentacje attiny to dowiedziałbyś się że do generowania sygnału PWM służą piny: PORTB.0, PORTB.1. Dziwisz się że się nie kompiluje a gdzie masz deklaracje typu procka? Gdzie masz deklaracje odnośnie kwarcu?
if (j>21 && j<23) // 5-secundowy delay po 22 W miejsce operatora logicznego && możesz próbowac zastosowac operatora bitowego & . To jest nieprawidłowa rada, logiczny a bitowy to zupełnie inne działanie. A co do nieszczęsnej stałej 23, gdyby to był mój algorytm bym to bardziej wyraziście rozwiązał, albo przez zmianę stanu w...
Wydaje mi się że program kol.tmf da się przetłumaczyć na Bascom. void tmf_impulsator(void)//podprogram albo funkcja w Bascomie { uint8_t i=0;//deklaracje dim na początku programu static uint8_t enc_last; if(bit_is_clear(PINC,4)) i++;//sprawdzenie czy impulsator się ruszył 'if pinc.4=0 then if(bit_is_clear(PINC,5))...
'********************* deklaracje stalych Const Owner_number_1 = "+48123456789" Const Prefix = "+48" Caller_nr = Prefix + Caller_nr 'dodaj prefix To z tego powstanie +48+481234567 :)
Nie wiem gdzie kolega to wyczytał, że w BASCOM można sobie w locie zmieniać adresy portów magistrali I2C. Jeśli stosujesz deklaracje z EQU to jego redefinicja jest niemożliwa. Nie wiadomo czy zamiana deklaracji EQU na deklarację SET się sprawdzi w tym przypadku. http://plit.de/asem-51/pseudo.htm
prosiłbym o schemat...POZDRAWIAM Cię serdecznie Schemat dorysuj sam - przecież deklaracje portów masz na początku tego listingu !
Chodziło mi o to, że program na początku ma dane konfiguracyjne: typ procesora, taktowanie, konfiguracja podzespołów i deklaracje zmiennych. Co do wyrażeń IF THEN ELSE END IF to są one poprawne. Do badania warunków można użyć symulatora wbudowanego w Bascom. Co do restartów to jest oto uwarunkowane wieloma czynnikami: stabilność zasilania, praca w warunkach...
Kliknij sobie kolego słowo Select i naciśnij klawisz F1, dowiesz się wtedy jak wygląda instrukcja Select Case. Wywal też 2 ostatnie End If i wstaw je w odpowiednich miejscach, Jeśli nie wiesz gdzie, to ponownie skorzystaj z klawisza F1. Dorzuć jeszcze deklaracje wielkości stosu i ramki i powinno się skompilować. I jeszcze jedna rada na przyszłość nawet...
Wszystko się da zrobić kolego. Można np. napisać sobie małą procedurkę która będzie tłumaczyć kody z klawiatury na kody displaya. Coś w stylu: wypisz("еле... . . . sub wypisz(aa byval as string) dim bb string ' tłumaczenie ciągu aa na bb lcd bb end sub Oczywiście należy napisać...
Witam Próbuję wysyłać dane do bazy Thingspeak. Zmienne: [syntax=vbnet] '********************* Deklaracje zmiennych dla ESP8266 Dim Ssid As String * 10 Dim Pass As String * 15 Dim Cmd As String * 65 Dim Thing_len As Byte Dim Thing_string As String * 140 Dim Apikey As String * 18 Dim Esp_ready As Byte Dim Wyslano_esp As Bit Dim Esp_progess As Byte Dim...
Siemka! A ja powiem że inwestycja w gotową płytkę ewaluacyjną to dobra inwestycja choć kosztowna. Ja kupiłem zestaw ZL3AVR z ATmega32 na pokładzie. Kupiłem tą płytkę ponieważ miała najsilniejszy µkontroler. Bo jak to się mówi apetyt rośnie w miarę jedzenia, więc zasoby ATmega8 mogą przestać wystarczać. Szczególnie jak się pisze w BASCOM :) Do...
Mam fusebity ustawione tak jak na zdjęciu. Testowałem procesor i wpisałem sobie w programie Wait 1 Jak w programie wpisze deklaracje oscylatora = 8000000 MHz czyli tak jak w fusebitach to program czeka 8 sekund a nie 1s. Gdy deklaracje oscylatora = 1000000 MHz to jest ok. Może mi ktoś powiedziec dlaczego tak jest? Dodano po 1 Wspomniane zdjęcie
Witaj Jarku! Deklaracje są wporządku, JTAG też wyłączony. Myślę, że problem tkwi w instrukcji pin / port :arrow: jacobsek dzięki za uwagę, zawsze mylę te komendy. Dziś wieczorem powalcze i dokładnie sprawdzę. Może się uda.
teraz tak na starej wyskakuje mi ten błąd, a na nowej nie czyta mi w ogóle cipa . hahahahah :D odpal combofixa. Moze pomoze i dodaj jeszcze deklaracje programowego stosu i ramki. Narazie zwiekszyles tylko stos sprzetowy. Moim zdaniem jest to typowy blad z kompem a nie z kodem. Ja bym poazadnie go przeczyscil. A w tej nowej wersji co ci nie czyta chipa,...
kod wygląda tak dzisiaj Długa droga przed Tobą. Wyświetlacz multipleksowany w pętli głównej i przez delay? Gdzie można dostać taką "poradę" aby sterować multipleksowaniem w pętli głównej? Skąd bierze się takie głupie rozwiązanie? Bardzo chciałbym poznać źródło aby je zakopać. To [syntax=c] temp = odczyt / 0.10; tys = temp /1000; odp1 = temp % 1000;...
Arduino to pewna odmiana języka C. Program dla Arduina składa się z 3-ch części. 1 - najpierw piszech które biblioteki, moduły przyłączasz. Następnie definicje, w Bascomie instrukcja Alias a w C #define oraz definicje zmiennych itp. 2 - następna sekcja to setup() Tutaj umieszczasz wszystkie instrukcje które będą wykonane tylko raz np. konfiguracje urządzeń,...
W sumie można porównać, że c i bascom to to samo. w sumie to mozna by nie rozglaszac takich herezji. procesory nieprzypadkowo optymalizowane sa pod katem C, a nie basica, bo C to jezyk duzo nowoczesniejszy, wydajniejsz, prostszy i po prostu lepszy. zwroccie szczegolna uwage na to co pisze w datasheetach nowoczesnych ukladow : optimized for C. nie pisze...
Kuniarz Deklaracje procesora i taktowania daję :) Opuściłem ją specjalnie, a program kompiluje się i nie wywala błędów. Mimo wszystko i tak nie działa. Edit: Poradziłem sobie :) Zrobiłem to tak i działa tak jak chciałem. [syntax=basic4gl]If Pinb.1 = 0 Then If Pk2 = 1 Then Waitms 100 Toggle Portb.5 Pk2 = 0 End If Toggle Porta.0 Waitms 100 Toggle Porta.0...
1. Wszelkie deklaracje typu wait, o ile wiem, nie mogą mieć wartości większych od 255 2. Przypisanie wartości z kanału do zmiennej typu Long to nonsens ponieważ wartość odczytana wyniesie maxymalnie 1024 czyli wystarczy zadeklarować w jako Word 3. Napięcie referencyjne nie może być chyba mniejsze od 2 albo nawet 2.5V (trzeba sprawdzić notę aplikacyjną)...
Przerobiłem tak, żeby wysyłał testowo tylko jedną wartość ( losową ) co 8 sekund Dodano po 18 Dołożyłem Clear Serialin0 Com1_str = "" czyli [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0...
Debounce Portd.7 , 0 , Plus_jeden_czas , Sub Tak sie nie robi. Nawet ja o tym zapominam. Jeśli chcesz WYSŁAĆ dane na port to robisz np Set Portd.7 Jeśli chcesz dane ODEBRAĆ to robisz to przez PINx np PIND.7 Debounce jest ODBIOREM danych, musi być PIND.7, ale np set/reset jest WYSYŁANIEM danych więc robisz na PORTx Config Pind.0 = Input Z tego co ja...
A gdzie masz ustawione deklaracje ? $regfile = "attiny2313.dat" $crystal = xxxxxxxxxx A za co odpowiadają te komendy - do tej pory ich nie wykorzystywałem. Te komendy kierują kompilator do odpowiedniego pliku w IDE Bascom gdzie są wszelkie informacje odnośnie processora, oraz mówią z jaką faktyczną częstotliwością on pracuje pracuje co jest konieczne...
Problem kasowania rozwiązałem obliczając długość stringa do wyświetlenia i dodając do niego na końcu maskie ze spacji która przykrywa pozostały napis. Numer ze zwłoką w postaci wait nie zawsze będzie odpowiedni. Locate 1 , 1 ' Lcd Zmienna(licznik) 'wyświetl wartość zmiennej dla tej pozycji menu Kon = Lookupstr(licznik , Menu ) 'obliczamy długość stringa...
Poniżej podaje cały program: Przeglądnąłem go....., -bez urazy; - nie zbyt dobrze (!!!) Odnośnie czasu: Masz tam podwójną deklaracje tych samych zmiennych, a już procedura ustawiania aktualnego czasu jest jakąś całkowicie zbyteczną kombinacją; - bardziej tego nie da się skomplikować. W skrócie: Korzystasz z wbudowanej w Bascom procedury obsługi zegara;...
wiec tak pooptymalizowałem teraz DFT i co tam jeszcze było sens i powiem tak. cały obrut programu trwa 17ms z wykasowanymi dwoma linijkami LCD. gdy je dam obrut trwa 70ms !!!!! samo prubkowanie LOW trwa 12 ms ;) ale jest w przerwaniu idzieje sie podczas obliczania high tak że jak dobrze kolega widzi to LCD zabiera duzo czasu, poprostu bascom niewiedząc...
Listing ktory zamiesciles to deklaracje 5 funkcji. Ogolnie polega to na tym ze do funkcji przekazywany jest parametr (wartosc konta w stopniach) a nastepnie obliczana jest wartosc funkcji trygonometrycznej po przeliczeniu normalnych stopni na radiany. Jako podmianke proponuje listing w takiej postaci Const Pi = 3.14159265358979 Dim sn As Double Declare...
czy jest jakis konwerter z jezyka C na Bascom??? zrobilem komputerek podkladowy do auta wg. gotowego projektu z kodem w Bascomie ale nie dziala mi w nim poprawnie funkcja spalania sredniego. Znalazlem natomiast kod zrodlowy innego komputerka z poprawnie dzialajaca ta funkcja ale napisany w C - czy mozna jakims programem przerobic na Bascoma?? a moze...
jezęli chcesz sprawdzac stan przycisków to lepszym rozwiazaniem jest w bascom instrukcja DEBOUNCE eliminuje ona drgania stykow ...popatrz w Helpie natomiast zastanawiam sie dlaczego zwierasz PIL do 1 a pozostałe do 0??? poza tym na początku programu deklarujes P1=0 jezeli program przechodzi do podprogramu OTW na dole masz deklaracje If Pr = 0 And Pru...
Witam Zakupiłem w Seguro moduł DCF77 na układzie MAS6180B. Wykorzystałem klasyczny kod Bascom ( mam wersje Bascom 1.11.95 ) Config Dcf77 ? Czy sygnał trzeba podawać przez dodatkowy tranzystor ? Np. przez taki układ http://obrazki.elektroda.pl/8336138700_1...
czemu bascom AVR czepia sie tej częsci kodu: Wyslij($H1C) Wait 3 ' "przytrzymajmy" go 3 sekundy, niech się zrobi trochę 'znaków w np. Notatniku Wyslij($HF0) Wyslij($H1C) niby "unknows statement" przy kazdym wyslij.... a zadeklarowana jest.. acha, kiedy uzywamy $ a kiedy & przy szesnastkowch wartosciach? /edit: zmienilem...
Co jest źle? [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 '********************* Konfiguracja magistrali I2C Config I2cdelay = 5 ' domyślnie tryb Slow Config Sda...
Trochę Ci tu posprzątałem :P Zobacz, że wysyłka do MAX`a to teraz tylko 7 linijek :P TIMER1 = TIMER1 + 1999 Nie pasuje mi to nijak do 2ms W kalkulatorze, owszem, dla wartości czasu 2ms, przy 8MHz i preskalerze 8 występuje wartość 1999, ale tyczy się ona CTC W największym uproszczeniu wartości takie (obliczone dla CTC) Timer musi od zera odliczyć i kiedy...
Zadeklaruj stringa o znanej długości tj. Dim x as String * 10 a nie samo string * .
Witam Mam problem z multipleksowaniem wyświetlaczy LED. Mam gotową płytkę bazową http://obrazki.elektroda.pl/3311050900_1... oraz płytkę wyświetlaczy http://obrazki.elektroda.pl/5528051300_1... najpierw próbowałem ustalić, które segmenty mają się zapalać, aby poprawnie wyświetlać cyfrę. No i zaczyna się problem, bo chociaż...
Witam Mam zegarek/budzik z wyświetlaczem LED ( dwukolorowy ). Zegarek generalnie działa. Ale mam problem z sterowaniem jasnością. Wiadomo, że robi się to tak, że jasność zależy od częstotliwości odświeżania. Tutaj o jasności wyświetlania ma decydować zmienna jasnosc. . jasnosc : [syntax=vbnet] '************ Timer0 1000 = 1 sekunda, 10000 = 10 sekund,...
Problem ze zmianą nazwy pliku rozwiązałem - oczywiście należy pamiętać, że nazwa pliku może być ośmio znakowa. W kodzie dodałem: Plik = "temDD_MM" + ".txt" Mid(plik , 4 , 5 ) = Data_plik oraz w odczycie czasu Data_plik = Bcd(dday) + "_" + Bcd(mmonth) oraz zmieniłem wpis zapisu Open Plik For Append...
Poprawiłem timer. Usunąłem deklaracje zmiennych dla K1-K5. Ale nadal problem leży w warunkach, bynajmniej tak wskazuje kompilator BASCOM a. Wskazuje również że wszystkie 3 błędy leżą w 61 linii kodu. Jak bym nie liczył nie mogę dopatrzyć się tych błędów. Poprawiony kod: $regfile = "ATtiny2313.dat" $crystal = 16000000 'Kwarc w Hz Config Timer1...
deklaracje zmiennych deklaracje portów deklaracje zgodności inwerter
mondeo kontrolka alarmu sonda laguna napięcie lambda
prostownik rozruchem schemat prostownik rozruchem schemat
Klawisz M w radiu BMW E39: Funkcje i zastosowanie Wpływ upalonego zera na liczniki statyczne w instalacji trójfazowej