Ten sam kod, który zaprezentowałem w pierwszym poście , natomiast przerwanie wywołane już na nodze portb.0 i działa zmienna nie jest nadpisywana. Cała reszta kodu bez zmian poza zmianą przerwania. Przerwania skonfigurowane prawidłowo. Moze przerwania masz skonfigurowane prawidlowo... ale..... Czy mozesz wyjasnic w jakim celu, w obsludze przerwania...
Spoko... wiem że można przed nawias wyciągnąć, ale wydawało mi się że nic nie uzyskam... późno było :). W pierwszej linijce nadpisujesz jednak zmienną D co w zależności od tego co autor ma zamiar z nią robić może mieć znaczenie.... Trzeba poczekać na wpis od autora pytania :)
Witam. Mam problem mianowicie potrzebuję edytować określone znaki w zmiennej string. Coś w tym stylu że jest zadeklarowana zmienna mająca 16 znaków a ja potrzebuję zmienić znaki od 8 do 16 nie ruszając znaków 1-7. w jaki sposób można tego dokonać z poziomu bascom-a. Udało mi się zrobić to wstawką w asm poprzez wstawienie danych pod odpowiednie adresy...
BASCOM, mam taki warunek: [syntax=basic4gl] If V > Prog(1) And V <= Prog(2) Then Gosub Aku_0 ; End If [/syntax] chciałem w ten warunek wstawić dodatkowe dodawanie bo taka jest potrzeba [syntax=basic4gl] If V > (Prog(1)+5) And V <= Prog(2) Then Gosub Aku_0 ; End If [/syntax] ale wywala błąd ERROR 35 3 parameters expected..... jak można temu...
Witam. Od kilku dni próbuje napisać prosty,jak mi się wydawało kilka dni temu ,programik. Chodzi o to żeby zmieniać stan portu w odstępach czasowych z możliwością ich regulacji. Proszę o jakąś ,na razie drobną podpowiedż .
Witam serdecznie! Mam problem z inkrementacją zmiennej Z, ponieważ wszystko opiera się o dokładność przedstawiania liczby zmiennoprzecinkowej. Zamiast 0,1 pokazuje 0,09. Próbowałem już fusing(), frac() (wskazywanie liczby po przecinku, chciałem tą resztę zaokrąglać round() ) , może format() ale tu trzeba non stop konwertować zmienne na znaki z liczb...
Witam. Mam problem, robię kurs 'Mikrokontrolery dla początkujących' (książka autorstwa P. Górskiego). Doszedłem do ćwiczenia 20 (plik C010a.bas). Przy sprawdzaniu składni, a muszę tu zaznaczyć, że ten program jest autorstwa P. Górskiego)m pojawiają się błędy widoczne na dole w załączonym obrazku. Czy ktoś byłby w stanie mi pomóc? -- obrazek dostępny...
Jak można wpisać wartość do zmiennej typu string *7 za mocą numerycznych klawiszy ?
W symulatorze możesz sprawdzić czy program nie nadpisuje stosu. Komunikat pokazuje się w dolnej części okna symulatora "Frame or software stack overlap", można też sprawdzić w zakładce "uP". Jeżeli nadpisało stos ustawiasz wartości dla stosów na początku programu np.: [syntax=basic4gl]$hwstack = 32 $swstack = 16 $framesize = 32 [/syntax]
No właśnie jeśli w programie przed pętlą główną nadam wartości zmiennym w eeprom np. zm_eeprom = "jakis tekst" to po resecie program wystartuje od nowa i zapisze z powrotem wartości początkowe w programie do eeprom ? W takim przypadku, po każdym resecie zmienna będzie nadpisywać nową ( taką samą ) zawartością. Jeżeli przewidujesz 1 reset co kilka dni,...
Pewnie niewiele pomogę ale zrób to na zasadzie nadpisywania ekranu. 1. Zrób ekran z opisami 2. wykryj przyciski pilota i przypisz flagi, np. góra, dol, lewo, prawo - zakładając, że przycisk włączony to 1 a wyłączony to 0 3. sprawdź flagi i gdy np. góra=1 to; powtórz punkt 1 ale już z innymi opisami. 4. Nie zerujesz zmiennej góra, zerowana jest dopiero...
To akurat nie wina BASCOMa. Masz zmienne na 3 znaki podczas gdy potrzebujesz na 4: Volt = Fusing(v , "#.$$") Czyli znak, kropka (czyli też znak) i dwa znaki. Razem 4 znaki. Winą BASCOMa mogło być dopiero to że zmienne String wpływały na działanie przycisków. Ale jednak tak nie było. Teraz to przeanalizowałem i to jednak nie to. Przyciski...
Co do samego stylu ja dodam od siebie. 1. Odświeżanie danych na LCD - nie rób ciągle Cls, Cursor Off Noblink. Ta druga instrukcja tylko na początku programu, a zamiast kasować danych i wyświetlać od nowa, zrób to za pomocą funkcji Locate i nadpisywania odpowiednich miejsc. 2. Konfiguracja pinu sterującego przekaźnikiem na początek programu. 3. Waitms...
A problemem nie jest przypadkiem nie tyle pamięć flash (bo tu BASCOM nie powinien dopuścić do nadpisania jakichś sektorów FLASH'a) co pamięć RAM? Czy przypadkiem stos i inne funkcje nie kolidują ze zmiennymi globalnymi i dlatego wszystko się sypie, bo nadpisuje się RAM?
A jak to ma działać na ciąg ? jak zmienna Uart jest nadpisywana za każdym razem nowym znakiem ? Musisz budować ciąg dodając znak po znaku do zmiennej tekstowej.
Nie wiem czy o to Ci chodzi ale jeśli piszesz zmienną "const hasło = 1234" to nie zapomnij że to jest stała i nie można jej nadpisywać
Funkcja ma taki format: Ilość_skopiowanych_bajtów = Memcopy (źródło, cel, ilość_bajtów) . W moim przykładzie dane są prawidłowo kopiowane, tylko informacja o ilości skopiowanych bajtów jest błędnie zapisywana do zmiennej lokalnej (nadpisuje inną zmienną). Jeżeli wartość ma być zwrócona do zmiennej globalnej, jest wszystko ok. Sprawdzałem już na dwóch...
Z zapamiętaniem numeru w eeprom to dobry sposób. Jeśli do damy do tego procedurę porównania numeru z eeprom z odczytanym z czujnika to nie trzeba będzie nic robić, kiedy zmienimy czujnik. Oczywiście po zmianie czujnika może się zmienić kolejność więc i to trzeba przewidzieć w programie i np. zamieniać miejscami dane w zmiennych z numerami.
Podpowiedz: zmienna mozemy przekazac do procedury / funkcji dwojako: byval i byref. W pierwszym przypadku tworzona jest zmienna tymczasowa - kopia przekazanej zmiennej i jej wartosc jest STALA przez caly czas wykonywania procedury/funkcji (chyba ze ta swiadomie ja zmieni). W drugim natomiast do procedury/funkcji przekazywany jest ADRES zmiennej w pamieci,...
Po co jest Waitms 200 przy nadawaniu? Nie masz odpowiedniej zwłoki przed zmianą wartości Nadawanie po wysłaniu ostatniego bajtu (Print nie czeka na zakończenie wysyłania). Zmienna do której odbierasz komendę jest też za krótka (brakuje miejsca na enter). Pewnie nadpisuje jakieś zmienne ale na tyle mało ważne że to jako tako jeszcze działa. Ale po 3...
overlay - po prostu nadpisywanie zadeklarowanego miejsca w pamięci dla zmiennej masz powiedzmy: dim temp1 as word at &H60 dim temp2 as byte at &h61 overlay 1) word temp1 ma 2 bajty 2) bajt LSB temp1 będzie pod adresem &h60 3) bajt MSB temp1 będzie pod adresem &h61 4) temp2 ma tylko 1 bajt 5) adres &h60 i &H61 jest już zarezerwowany dla temp1 6) ZMUSZAM...
Nie znam się na bascomie, ale widze, że wartości odczytane z zegarka są przypisywane do zmiennych, które są argumentami funkcji. Jeśli argumenty przekazywane są przez wartość, to wtedy dane z zegarka zostaną wpisane do lokalnych kopii tych zmiennych, przy kończeniu funkcji zostaną utracone. Jak wygląda przekazywanie zmiennych przez referencję? Jest...
Twój problem polega na tym że źle używasz instrukcji Spiin , zaglądnij do helpa. Drugi argument instrukcji to ilość bajtów do odczytu, zmienna Ls_byte przy twoich obliczeniach może przyjąć wartość większą niż 2 i podczas odczytu nadpisujesz inne zmienne. Zamień: [syntax=basic4gl]Spiin Ms_byte , Ls_byte 'odczyt 2 bajtów[/syntax] na: [syntax=basic4gl]Spiin...
Jeśli już ustalisz gdzie ten plik ma trafić , na jaki dysk to będziesz zapisywał tylko jedną daną w jednym miejscu. Przydało by się nadpisywać dane - czyli polecenie Append a nie Output. No i oczywiście pętelka do zapisu kolejnego rekordu. Ale najpierw trzeba wskazać miejsce gdzie ten plik ma trafiać.
następnie przy wyłączaniu programu (przejściu do standby) porówbywał te wartości z istniejącymi w eeprom i jeśli będą inne to wtedy nadpisywał, nie wiem jeszcze jak to zrobić Neutral Zrób tak: Jeśli spadek napięcia(przechodzenie w tryb standby) odczytaj wartości ze zmiennych w eeprom i w tym momencie masz je w SRAM. Zrób warunek typu: if zmienna_sram...
Można tylko strzelać. Obstawiam, że problemem jest niedostateczna ilość pamięci SRAM i nakładanie się zmiennych, które są nadpisywane. Śmieci na magistrali zapełniały ci cały bufor, normalna transmisja nie i dlatego nie obserwowałeś wtedy problemu. To tylko hipoteza, nie znam Bascoma więc ci nie poradzę jak ją sprawdzić, jeśli przejdziesz na C to będę...
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
Ato jest proste czytaj co pisze kompilator : Source string could be too big to fit into target string in line 375 (....) Masz zbyt długie stringi ;) fajnie brzmi to pierwsze a możliwe ze program mimo kompilacji będzie ci nadpisywał stosem zmienne , Ramu jest tyle ile jest i trzeba nim dobrze dysponować jeśli przy każdym przerwaniu odkladasz na stos...
Witam wszystkich. Koledzy mam pewien problem. Posiadam napisany kod w Bascom, wykorzystuje w nim funkcję zapisu do eepromu Avr. Urządzenia działa jak powinno, zmienne zapisują się w eeprom. Po każdej modyfikacji kodu i wgraniu do AVR, zmienne które są odczytywane z wewnętrznej pamięci, są wcześniej nadpisywane liczbą 255. Oczywiście jest to normalna...
Wygląda na to że któraś zmienna String jest za krótka i nadpisuje String Pwej. Uruchom w symulatorze ten programik to zrozumiesz o co mi chodzi :). [syntax=basic4gl]$regfile = "m88pdef.dat" $crystal = 20000000 $baud = 19200 $hwstack = 32 $swstack = 32 $framesize = 32 Dim Wynik As Single , S As String * 2 , D As String * 5 Wynik = 10.123456 S = Fusing(wynik...
Jak chcesz sie zabezpieczyć to częsciowo można poprzez dwa bufory i na końcu zapisuj sume kontrolna w jednym z buforów a w drugim moze nadpisywac sume zerami - gdy zapis przerwie sie w polowie to będą dobre stare dane . Wiele już czytałem o tym na forum, ale jakiegoś sensownego przykładu nie widziałem. Czy mógłbyś na podstawie mojego fragmentu kodu...
A jeśli chodzi o "Błędne operacje matematyczne" , to: Czy rozumiesz dlaczego zmienną Pokaz , zadeklarowałeś jako Integer , a nie np. Byte,String czy Double :?: Sprawdź jakiego typu zmienne oferuje Bascom Basic , postaraj się zrozumieć czym one się miedzy sobą różnią , a wtedy 1-szy problem masz z głowy ;) Piotrek Nie mam, po napisaniu postu wpoadlem...
Podstawowy błąd w programie odbierającym dane to za mały bufor, dane mogą być nadpisywane. Bufor powinien mieć minimum 14 bajtów, zmienne są wysyłane w postaci łańcucha np. "-32768,-32768",$0D. Do prawidłowej pracy bufora wymagane jest globalne włączenie przerwań (Enable Interrupts). [syntax=basic4gl]Config Serialin = Buffered , Size = 28 , Bytematch...
Powiem tak, może nie przez USART ale inaczej robiłem testy a mianowicie do programu w różnych miejscach wklejałem komendę zapisu z powrotem do kart SD i bezpośrednio po odczycie było ok, po przejściu na string*3 było ok, po przejściu ze string*3 na byte tez było ok. Mam wrażenie ze sie ram nadpisuje i mi niszczy zmienne, ale dla czego tylko wtedy gdy...
hmm masz racje cos pokręciłem, ale myślę że tak było by lepiej: If Temperatura(1) < G Then Portb.0 = 1 Locate 2 , 15 Lcd "G " Elseif Temperatura(1) >= G+1 Then Portb.0 = 0 Locate 2 , 15 Lcd " " End If hmm przyszło mi coś do głowy, ten kod powinien działać więc... to tylko moje przypuszczenia, być może masz gdzieś...
Program to komputer pokładowy w samochodzie. Wszystko wyświetlane na LCD od siemensa, program do wyświetlania napisany przez Ciebie :) I teraz tak: program do wyświetlania wyświetla to, co ma w zmiennej Text (as string * 13). W kilku podprogramach obliczam przejechaną drogę, spalanie, itd. Jak obliczam spalanie, to mam np. wynik 115 (co oznacza 11,5...
O Boski... wiesz to naprawde sprawia mi wielką trudność, a na dodatek w helpie też jest to tylko skrutowo opisane. 1. Jak zainicjować zmienną "i" ? 2. Myślałem że podam adres komórki 10 i że od tego momentu zacznie sie zpis przez kolejne komórki, aż zapisze 8 bajtów 3. Chciałem odczytać 8 kolejnych bajtów a nie jeden i go nadpisywać 4. Fakt przyznaję...
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...
Witam. Od końca: Kwarce najlepiej użyć takie, by odchyłka prędkości transmisji była jak najmniejsza (poniżej 5% powinno być ok.). Bascom ułatwia ich dobór. Wybierz z głównego menu Options => Compiler => Communication. W okienku które się otworzy wpisz/wybierz pożądaną prędkość transmisji, oraz częstotliwość rezonatora, a poniżej możesz odczytać jaka...
Jeśli chodzi o punkt drugi to zmieniłem i teraz na wyświetlaczu przynajmniej napis nie mruga, ale nadal zero reakcji na przyciski. I jak sterować tym kursorem? I jeśli tam jest zmienna program 1 i program 2 do przechowywania wartości do wyświetlania to jak wybrać program 2 bo teraz mam cały czas program 1, w ogóle nie rozumiem tego programu. Wizualny...
Witam Mam problem z odbiornikiem RC5 na attiny2313 otóż gdy wgram ten program: Czemu zatem na atmega8 działają te kody a na attiny2313 nie?? Nie wiem czy czytasz dokumentację obu procesorów, zauważ że tiny ma 128bajtów pamięci Ram a Mega8 ma 1024bajty Ram. Przypuszczam że jest go za mało na obsługę Bascomowego Gert c5, pewnie stos, i zmienne są nadpisywane....
Jest kilka możliwości. Po pierwsze procesor nie powinien się grzać, jeśli się grzeje to znaczy, że przekraczasz jego parametry, gdzieś masz zwarcie, albo czymś niepoprawnie sterujesz. Druga możliwość - BASCOM kiepsko obsługuje AVRy z tak dużą ilością pamięci FLASH, ale ten problem powinien pojawić się po przekroczeniu 128kB zajętości, co ciebie chyba...
Ale jak pisałem ten projekt Duch ma błędy i forumowicze mają same problemy. W Twoim przypadku było kilka błędów które się na siebie nałożyły. 1. to nadpisywanie zmiennej ss string as 6(za krótka) powinna być 7 lub 8 2. złe pozycjonowanie napisów na LCD 3. złe podłączenie DSów (zasilanie) to że u innych działa to nie znaczy że jest dobrze) jeśli miałbyś...
Witam . Chciałem zrobic tester pomp opryskiwaczy . Chodzi o mierzenie wydajności pompy w litrach na minute a moje pytanie czy nie bedzie gubił impulsów podczas wykonywania przerwania . Pomiar co 1 sekundę a wydajność pomp od 40l do 260l / min Nie musisz obawiac się o gubienie impulsów z powodu wykonywania przerwań. Impulsy są zliczane przez Counter1,...
Teraz Timer1 powinien mierzyć okres a po przeliczeniu zmienna Liczba powinna podać częstotliwość. Sygnał podaje na INT0 i wyświetlacz zaczyna szybko migać więc nie widać jaki jest wynik. Podaje 84Hz ale wyniku na LCD brak. Sam fakt że wyswietlacz 'miga' oznacza że coś tam jednak się pokazuje. Problem jest, że wynik nie pozostaje na długo bo jest natychmiast...
1. Acha... bo ty w programie liczysz ilość kliknięć? Tak? Myślałem że chcesz liczyć czas. 2. Jak używa zmiennych Bascom, nikt nie wie poza twórcą Ale można sobie co nie co poczytać. Może zły konfig dla ramu? https://avrhelp.mcselec.com/index.html?m... I trzeba zwiększyć wartości: $hwstack = 40 $swstack = 16 $framesize = 32 Dla dzielenia...
Wiem ze w PHP operatory sa takie same jak w c, dlatego ucze sie C na uC, a nie np BASCOM'a ;] (choc C lepsze ;]). Dzięki za pomoc, teraz jest ok. Dodano po 14 A jednak nie, wystąpiła jeszcze bardziej komiczna sytuacja. Scislej: Gdy nacisne przycisk, do pamieci zapisywany jest czas wciscniecia, gdy w krótkich odstepach czasu nacisne kilka razy, mam po...
Heh wierz mi, czy nie... napisałem to... i byłoby wszystko ok, gdyby nie to, że nadpisywałem przykład z "Samples" w program files... i już było napisane klikam save i co...? Bascom zdechł a wraz z nim plik zniknął... (Zapomniałem, że vista nie pozwala szarakom na dotykanie P.Files...)... Także sorry nie mam siły drugi raz tego pisać... Dodano po 8 No...
nie bardzo...High i low rozbija jedna czterobajtowa zmienne na dwa kawałki po dwa bajty (słowa)... Kompletna bzdura i to na resorach :| Skąd Ty wytrzasnąłeś takie rewelacje :?: Twój przykład , nadaje się tylko do działu Na wesoło HydePark Nie dziwię się , że krążą po forum dowcipy o Bascomowcach :( :arrow: Madergames9 Zainteresuj się wskaźnikami na...
ERR jest zmienną systemową i zapisywać ją mogą funkcje które mają jej obsługę. ERR sprawdza się zatem zaraz po tym jak wykonała się instrukcja ponieważ następna instrukcja na przykład 1Wreset też zwraca ERR i nadpisze ją 0 znaczy że wszystko przebiegło pomyślnie. ERR się tylko sprawdza.
Następna podpowiedź :P Na otwartym oknie Bascom wciśnij na klawiaturze F1 żeby otworzyć okno Help`a W zakładce Index wpisz "$DBG" i może tam znajdziesz odpowiedź na Twoje pytanie :P W języku C jeśli zmiennej nie zainicjujesz jakąś wartością to ona ma nieustaloną wartość, więc jeśli chcesz żeby miała zero to musisz napisać np. "char myChar = 0". W Bascom...
Moze ktos mi dokladnie powie co robi bascom jak reaguje na przerwanie. Dokładnie to robi tak: - Bez opcji NoSave : +00000082: 920F PUSH R0 Push register on stack +00000083: 921F PUSH R1 Push register on stack +00000084: 922F PUSH R2 Push register on stack +00000085: 923F PUSH R3 Push register on stack +00000086: 924F PUSH R4 Push...
Witam Kolego Jacek M pomyliłeś pojecie transformator z tranzystorem po za tym gratulacje konstrukcji, czy mogłbyś dodać zdjęcia? Dzięki Qbas60 – faktycznie (przejęzyczenie) nie wiem skąd mi się to wzięło – oczywiście chodzi o transformator – już poprawiłem (pisałem po nocy oglądając równocześnie film, albo zadziałała autokorekta w...
Zamieszczam program w bascomie, który jest dosyć niezoptymalizowany więc proszę się nie czepiać tylko ewentualnie udzielać wskazówek... Proszę bardzo :D Staraj się jak najmniej korzystać z funkcji cls, która jest nie przyjemna dla oka. Tekst statyczny umieszczaj przed pętlą, natomiast zmienne wartości przez nadpisywanie wspierając się spacjami, gdy...
Tak na szybko - pierwsze skojarzenie: skopiować element tablicy do zmiennej tymczasowej, na niej przeprowadzić przesunięcie, a następnie nadpisać pole tablicy zmodyfikowaną zmienną tymczasową. pozdrawiam
Jak zwykle czasu nie ma, ale nie mogłem się powstrzymać. Nakręciłem pierwszy klip - ahahahaha :D No musiałem się pobawić edytorem. Efekt to półtora minuty magii :D Ahahaha miałem kupę zabawy z tym :D Przy okazji możesz zobaczyć jak się używa wbudowanego symulatora by zadawać wartości ADC ;) Twój pomniejszony kodzik też poniżej, tylko używając poza symulatorem...
bascom nadpisywanie zmiana zmiennej bascom bascom zerowanie zmiennej
amplituner merkury wzmacniacz goclever ekran startowy kable sufitem
zosia przestrojenie zosia przestrojenie
Xerox WorkCentre 6605 – naprzemiennie blade i mocne kolory zdjęć, pełne tonery, kalibracja Emulator paliwa BMW, Stag PS-02 – dioda LED świeci po adaptacji, ciągłe światło, usterka komunikacji