Może coś takiego : Dim Str1 As String * 10 Dim Koniec As Byte Dim Key As Byte Str1 = "" Koniec = 0 Do Key = Waitkey() 'pobieranie znaku, tu z terminala Select Case Key Case 13 : Koniec = 1 ' np. kod ENTER = 13 Case Else : Str1 = Str1 + Chr(key) ' inne znaki dodaje do str1 End Select If Len(str1) = 10 Then Koniec...
najpierw zewrzyj sobie nóżki 11 i 12 i zobacz czy to co wpisujesz w terminalu wraca do niego - powinno być echo - czyli piszesz literkę np A i powinna ona polecieć do MAX232 i wrócić do terminala i się wyświetlić - jak to będzie dobrze to możesz być pewien, że ten tor masz OK , a jeśli nie będzie tak? to sprawdź kabel i połączenia - nie ma bata, musi...
Ma się dobrze jeśli ma odbierać dane z bufora. Jeśli Twoje Print Komenda ; Chr(13); zmieniłbyś na Print Komenda To z powodzeniem mógłbyś odbierać w przerwaniu Pozostało by ci tylko ustawić: Config Input = Crlf , Echo = Crlf Config Serialin = Buffered , Size = 80 , Bytematch = 13 a przy odbieraniu: Input Odczyt Noecho
Witam Jeśli dobrze rozumiem zdanie: "na zmienienie wartości string odczytanej z eeprom na zwykły tekst" masz na myśli zamianę liczby (zapisanej w kodzie ASCII ?) na jej odpowiednik znakowy. Program, który wykorzystałeś bazuje na kodach ASCII znaków, (komentarz przed tabelą znaków Fontlookop), dlatego też po mojemu niepotrzebnie stosujesz zapis: Czytaj_str...
Odwrotnie: 0101-0000. A przelicz na piechotę albo w kalkulatorze obsługującym system binarny (czyli na przykład w kalkulatorze z Windowsa). Dodano po 2 A w sumie to nie musisz przeliczać. Możesz napisać: LCD Chr(&B01010000)
Bo niektóre z tych kodów to kody funkcji lub "regionów" klawiatury. Algorytm powinien być taki. Pod 0xE0 umieszczasz jakąś wartość, np. 200 i teraz jeśli otrzymasz wartość 200 i w krótkim czasie po niej wartość z pozycji oznaczonej przez np. 0x75 (czyli strzałka w górę) to znaczy że to jest strzałka w górę, w przeciwnym wypadku jest to cyfra z klawiatury....
Kurdemol ,gdzieś posiałem neseser z moim muzgjem. Locate x,y zapewne działa siłą rzeczy też jak Cls... I pomimo to nie będzie ściemniał ostatnich znaków?
Napotkanie Inkey() powoduje zatrzymanie pracy programu aż do odczytu znaku z bufora UART.
Wyświetla mi tylko 11 pierwszych liter;/ (łącznie ze spacjami). No i bardzo dobrze , tyle maksymalnie miał wyświetlić. Ja Ci pokazałem , jak odszukać urządzenie na magistrali , jak zapisać/odczytać dane i jak złożyć z danych napis , a reszta należy do Ciebie.Na koniec podpowiem jeszcze , że jeśli chodzi o 24C04 , to pierwsze 256 bajtów masz pod adresem...
Nie kumam o jakie bramki Ci chodzi. Jeśli kość została zablokowana przed odczytem (kopiowaniem) to nic nie zrobisz jedynie przeczytasz kod 16-wy,a i nie zawsz. Opisz dokładniej o co Ci chodzi. a może masz problem z programatorem i pisze że nie widzi uC ?? czekam.
powinno byc cos takiego (to tylko fragment kodu) dim znaki(19) as byte dim licznik as byte licznik=0 enable interrupts enable urxc on urxc odbierz 'jak odbierze znak to przerwanie do:loop:end 'glowna petla tu robisz co chcesz odbierz: znaki(licznik)=inkey()'o... znak trafi do tej zmiennej incr licznik if licznik...
7401 to była jakaś bramka, nie ma to chyba tutaj większego znaczenia. O ile pamiętam 74151 to multipleksery - tutaj chyba odpowiadają za doprowadzenie odpowiednich danych do 7447. Sygnał możesz brać z wyjścia 7442 tak, jak dotąd - to wiecej kabelków, ale jak już masz podłączone.... Chyba, żeby się okazało, że program się nie wyrabia z tymi wszystkimi...
Pomijając tragiczny kod zastanawiam się po co wysyłasz milion znaków, przecież w jednej ramce rs możesz wsadzić 255 różnych znaków, na tak prostą rzecz nie potrzebujesz takich ramek.
Dlaczego pokazuje -1 na wyświetlaczu a nie np 255 jak jest dla zmiennej typu Byte. Bo Integer to zmienna ze znakiem, FFFF to właśnie -1. Byte jest zmienną bez znaku (zawsze dodatnią). Dwubajtowa zmienna bez znaku to w Baskomie "Word". Na wyświetlaczu po resecie będzie wówczas 65535. 2. Czy taki zapis eeprom będzie poprawny przy pierwszym sprawdzeniu...
W przerwniu i programie głównym używasz zmiennych zadeklarowanych jako word. Myślę, ze tu leży pies pogrzebany. W C wystarczy użyc volatile i atomic_block. W Bascim? Był taki na Elektrodzie (niveasoft) co wiedział w jaki tajemniczy sposób Bascom zarządza takimi zmiennymi. Myślę, że nie masz wyjścia, tylko przed odczytej w programie głównym zmiennej...
Nie :D Chodzi mi o to że nie zapisuj tego textowo. Bo na razie zapisujesz textowo, i olaboga, dwójkowo! Czyli jeden pixel zajmuje Ci jeden znak (0 albo 1). A jak zapiszesz "surowo" to w jednym bajcie będziesz miał 8 pixeli. Np. takie "A" to jest 65d, czyli 41hi czyli 01000001. Czyli jedna litera "A" zapisze Ci to samo co aż 8 znaków "01000001". Tylko...
Witam. Myślę, że w tym przypadku przed odczytem bufora RS sprawdź czy jest w pełni zapełniony, czyli czy cała wiadomość 7 znaków wpadło do bufora.
Mój jest ponad 4 razy większy. Bez problemu można odczytać go z odległości 7-8 metrów. Wielkość znaków to około 20mm. Arduino jest łatwiejsze niż Bascom. Zamieściłem cały program więc można zmienić co nie pasuje i gotowe.
Przepraszam, że dopiero teraz ale jestem w delegacji. Minęły dwa dni a Twój termometr nie działa... Możesz słuchać każdego. Ja proponuję takie rozwiązanie które zajmuje dosłownie dwie minuty jeśli robiło się to wczesniej. Sprawa jest w pełni odwracalna. To nie ślub z kobietą :D Więc co szkodzi spróbować? Kiedyś może sam komuś pomożesz. Należy zacząć...
Nie zwykły bufor Serialin Flaga od entera może się Ci przydać by na przykład po jej ustawieniu przenieść odebrany ciąg gdzie indziej, zresetować flagę i ustawić A= "". Zamiast Case Else można by ciąg budować np po: Case 65 to 90 Wtedy do ciągu dodawane były by tylko wielkie litery lub: Case 32 to 127 - czyli wszystkie znaki podstawowe bez sterujących....
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...
Z noty HD44780 wynika ze RW trzeba ustawic na 1 w momencie sprawdzania zajetosci. Wiec uzywa sie go nie tylko do okreslania zapisu/odczytu. http://www.republika.pl/ggrunge/hd44780.... Sproboj jeszcze 8mioma liniami go podlaczyc.
Hmm , z tym rozpoczęciem programowania poprzez reset to lipna sprawa niestety. Moduły są rozsiane w róznych miejscach i właśnie dlatego założyłem ten temat. Myślałem że już może ktoś to zrobił wcześniej. Ja osobiście wolałbym użyć np. watchdoga do inicjacji wgrywania oprogramowania czyli : wysłać poprzez rs485 polecenie np: firmware_1 i to polecenie...
Ok zastosowałem instrukcje PRINTBIN,ale co dalej ?Co należy zrobić żeby zamienić to na jakieś strawne dane?: Co masz na myśli pisząc "strawne dane"? Przecież układ RFID wysyła nie ciąg znaków ASCII tylko bajty. A jak widać na zdjęciu karta się przedstawia zawsze tak samo - komunikacja jest poprawna.
Gdzie PDU ? Przyjrzyj się ramce jeszcze raz: +CMGR: <stat>,[<alpha>],<... Ano w następnej linijce, bo masz zwracane <CR><LF> Ponadto nie filtrujesz znaków <LF> co może ci nieco namieszać. Proponuję odbierać przy pomocy Input i bytematch tak jak ja to zrobiłem w moim projekcie,...
Być może takie rozwiązanie animacji, okaże się optymalne: Na poziomie całego kodu zdefiniować nową zmienną i ustawić na 0, np.: Dim Klatka As Byte Klatka = 0 A w miejscu gdzie animacja miałaby się wykonać, umieścić taki kod: If Portb.1 = 0 Then Locate 2 , 2 Lcd Chr(Klatka + 3) End If If Portb.2 = 0 Then Locate 2 , 13 Lcd Chr(Klatka + 3)...
Witam. Program nie pobiera po jednym znaku ale pobiera 16 znaków, odczekuje 2ms następnie pobiera znowu 16 znaków z tym , że zaczyna pobierać o jedną komórkę pamięci dalej. W sumie daje to złudzenie przesuwania sie napisu. Można przerobić aby przesuwał sie w drugą stronę.
Musisz napisać co ci się w tym kodzie nie zgadza. Pominąwszy to, że w linii 256 brak znaku komentarza przy tekście tu jeszcze mam kody na: [/b]
$eeprom - dyrektywa kompilatora, która informuje go, że od tego miejsca dane będą trafiać do pamięci EEPROM. Faktycznie dane te trafią do pliku EEP, którego zawartość podczas programowania zostanie przelana do wewnętrznej pamięci EEPROM układu. Napisa: - Etykieta dla polecenia READEEPROM. Jest to przyjazny zamiennik adresu pod którym dane w tej pamięci...
Po pierwsze - do "szlifowania" telegrafii Wg mnie tego akurat nie ma sensu wymyślać. Istnieje wiele programów na PC do nauki telegafii, gdzie ćwiczy się zarówno nadawanie (komputer "słucha" i ocenia), jak i odbiór (komputer nadaje, są nawet takie programy, gdzie dodawany jest szum i zakłócenia, np. G4FON, SP8QED). Poszukaj tu i na grupie 'pl.rec.radio.amatorskie',...
Witam, jak wiadomo (przynajmniej mi narazie) z helpa Bascoma - zwykłe polecenie PRINT generuje na końcu dwa dodatkowe znaki CR i LF Niekoniecznie :D Za pomocą polecenia PRINT , można wysłać stringa zakończonego ... praktycznie dowolnym znakiem - również sterującym. Print "Zmienna" ; Chr(13) ; ' średnik zakazuje wysyłania znaków sterujących. ... druga...
Pamięć 24C daje sięprogramowac bez problemu w ukłądzie, tylko pamiętaj że lutując ustawiasz jej adres {sprawdź w nocie katalogowej nóżki A0, A1 , A2.!} Co do gadania do mikroprocka daj sobie na razie spokój z wysyłaniem znaków . Poszukaj w domu pilota z kodem RC5 najlepiej jakiegoś Philipsa lub LG. I napisz program, który po naciśnięciu wybranego klawisza...
Może by tak: $regfile = "m16def.dat" $crystal = 16000000 $baud = 4800 '---------------------------------------... Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 On Urxc Przerwanie_uart_rx '---------------------------------------...
Tych znaków jest trochę więc proponuję bufor wejściowy. Wyświetlacz przyjąłem 16*2: $crystal = 4000000 $baud =4800 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portc.6 , E = Portc.2 , Rs = Portd.6 Config Serialin = Buffered , Size = 32 Dim Znak As Byte Dim I As Byte Cls Enable Interrupts I = 1 Do Do...
Bo reszta pinów jest nieskonfigurowana i łapie śmieci z powietrza. Rozumiem, że działasz na Portd.3 i Portd.2 Gdybyś czytał Helpa do Bascom .... For the XMEGA, if you set the priority with CONFIG PRIORITY, you must enable the MED priority. Czy to Tobie coś mówi? :D Przedobrzyłeś. Xmega ma trzy różne priorytety przerwań. Bascom sam włącza te potrzebne,...
Witam, przepraszam że dopiero teraz odpisuje ale dopiero teraz znalazłem troche czasu na wznowienie projektu. Dziękuje za pomoc. Wcześniej miałem zrobione tak: Select Case Text Case 0 : Pion = Lookup(linia_zmian , Dig_0 ) ...itd... Case 104 : Pion = Lookup(linia_zmian , Big_pz2 ) End Select A tablice znaków wyglądały tak: Dig_0:...
Ale co nie działa ? Być może zbyt często chcesz wyświetlać jak na Bascom. A co ze znakiem CR ?
Witam. Robię mini komputer pokładowy. Funkcje to pomiar poziomu paliwa, temperatury w i na zewnątrz, i napięcia aku. Na razie mam paliwo i jedną temperaturę. Poziom paliwa symuluje na razie potencjometrem. Do pewnego poziomu fajnie wypełnia mi kolejne kwadraty, jednak gdy zapełnię pierwszą linię, i przekręcę jeszcze trochę potencjometr, to wypełnia...
Witam. Mam mały problem. Mianowicie, zrobiłem nadajnik i odbiornik na 90S2313, nadajnik zczytuje znaki z klawiatury, dekoduje je na ASCII, przedstawia je na wyświetlaczu LCD i wysyła (polecenie Print w Bascomie). Odbiornik zczytuje te znaki i wyświetla na wyświetlaczu LCD. Oba moduły sa na razie zasilane z tego samego źródła. Problem polega na tym,...
Ja robie to w ten sposób: Ustawiam buforowanie: Config Serialin = Buffered , Size = 150' ilość odbieranych znaków Enable Interrupts' trzeba zezwolić na przerwania W pętli głównej daje warunek: B = Ischarwaiting() If B = 1 Then Gosub Odbierzuart A dalej procedura odczytu: Odbierzuart: C = "" Do A = Inkey() C = C + Chr(a)...
Witam, Jeszcze aby była pełna jasność odnośnie sposobu działania modułu odbierającego RFM01 (a może również i RFM12xx). Na podstawie własnych obserwacji przedstawiam sposób działania sygnału nIRQ dla modułu odbiorczego RFM01 ver. 3.0 868MHz. Konfiguracja modułów dokładnie jak w przykładowych programach od producenta. Poniższy obrazek przedstawia przebieg...
Czy istnieje możliwość odczytu procka do postaci kodu (kod był bascom)? Odczytaj plik z Atmegi i zapisz go na dysku a potem porównaj z plikami wynikowymi z bascoma, ten który będzie taki sam z odczytanym, wskaże który program wpisałeś do procka. Tak jak pisałem dodaj spacje po znaku C bo tam stoi kursor i zakłócenia tam sie pokazują, widać to na Twoim...
Przy odbiorze danych p rzez RS trzba znać gdzie się kończy transimtowany ciąg znaków. Są dwie metody: 1 Liczyć ilość odebranych znaków i wycinać ze stringu właściwą sekwencję np. odczyt numeru tel z SMS. 2 Na końcu trasmisji nadaje się znak specjalny np chr(13) lub chr(10) W AVR jest obsługa portu w przerwaniu więc dane są odebrane po pojawieniu się...
Szanowni Koledzy Pytanie jak w temacie czy macie jakieś doświadczenia i sugestie jeśli chodzi o odczyt kodu kreskowego skanerem i skojarzenie łańcucha cyfr przełanego przez czytnik ze zmienną np tekstową? Myslałem o instrukcji GetAtKbd ale ona zatrzymuje działanie programu dopóki w buforze nie znajdzie się znak do odczytu a dodatkowo tu chodzi o odczyt...
To zależy co robisz w przerwaniach. Wysyłanie znaku z klawiatury zajmuje ok. 4ms. W przerwaniach obsługuję odbiór i nadawanie znaków przez uart i odczyt z ADC- i nic się jakoś nie psuje. Być może- jeszcze. Ale co ile Twój Timer0 generuje przerwanie- nie wiadomo- bo nie podałeś częstotliwości. I ile czasu zajmuje obsługa przerwania- też nie wiadomo....
Tak w Bascomie istnieje idealny sposób aby rozwiązać odbiór znaków przez RS232 (także nadawanie) - za pomocą przerwań. A kod zajmie kilka linijek. Wystrczy zapoznać się dogłębnie z takim poleceniem jak Config Serialin oraz wykorzystaniem np jednego z parametrów do tego polecenia - Bytematch (ale także innych) wtedy przy minimum wysiłku i kodowania będziesz...
Przedstawiam kod. Mam nadzieję, że przybliży on ideę działania jaką chciał bym na początek osiągnąć. Mam narazie 5 transponderów do testów. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 11059200 $baud = 19200 Config Pind.0 = Input Config Porta.0 = Output Relay Alias Pina.0 Dim Odczyt As String * 1 Dim Transponder As String * 1 Input "" , Odczyt...
Pytanie do autora tematu: Możesz mi wytłumaczyć po co jest ten fragment: X = Char * 5 podczas wypełniania tablicy kolumn? Dla przykładu litera A ma numer ASCII=65. W takim wypadku X=65*5 da nam indeks znaku=325, nie za bardzo rozumiem po co taka operacja? Przecież po odczycie: Char = Asc(str_temp) w Char już mamy właściwy numer znaku do odczytu za pomocą...
Czy "kropka" jest znakiem unikalnym? Nie ma szans na pojawienie się jej w środku treści? Wygląda to tak jakby przy następnym odczycie było jakieś przesunięcie w znakach. W żaden sposób nie synchronizujesz odczytów - użyj "kropki" jako znaku początku lub końca - szukaj jej w ciągu. Podałeś zestaw znaków, ale czy po takiej sekcji nie ma znaku CR+LF lub...
A mam jeszcze pare pytań co do odczytu eeproma... na przykładzie z helpa : I2cstart I2cwbyte AdresKomórki I2crbyte dana, ack ? ? I2cstop Na jakiej zasadzie to działa? Jeżeli chcę pobrać np 30 bajtów to muszę za każdym razem przypisywać danemu bajtowi inną zmienną? np [...] I2crbyte dana1, ack I2crbyte dana2, ack I2crbyte dana3, Nack [...] Czy mogę wstawić...
Witam, zaczynam (chciałem) zabawę z mikrokontrolerami, jednak mam problem którego nie daje rady przeskoczyć. Od razu pisze ze czytałem juz posty z podobnym problemem jednak nigdzie nie znalazłem odpowiedzi. Problem jest następujący: mam programator na LPT oraz płytkę tylko do programowania ATTINY2313. Oprogramowanie to BASCOM-AVR i PonyProg2000, wszystko...
proponuje ci dać printa w pętli głównej aby podglądnąć co procesor czyta z UARTA. Może się zdarzyć że czytasz śmieci i przy takiej pętli co się kręci miliony razy na sekundę ciągle się trafia przypadkowy znak 87. Albo wyślij inny znak i zobacz czy procesor czasem na niego też nie zareaguje, jeśli tak to masz pewność że jest coś nie tak sprzętowo. Albo...
Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak deklaracja:[syntax=vbnet] Declare Function Ustaw(byref Godziny As Byte , Byref Minuty As Byte , Sekundy As Byte) As Integer Declare Sub Znak(cyfra As Byte) 'deklaracja tablicy stałej do wyświetlania cyfr i znaków na wyświetlaczu 7 seg Declare Sub Czytaj 'deklaracja funkcji bez parametru do...
nie ord, ale ASC() i CHR() pomyliło mi się z PHP, w którym ostatnio dużo siedziałem :D a co do sklejania znaków to jest ziemma typu String * N (przechowująca N znaków) i potem dodajesz do niej literki, jakbyś sumował liczby.... NA PRAWDĘ polecam lekturę możliwej do znalezienia polskiej wersji pomocy do bascoma* - wiele wątpliwości wyjaśnisz sobie sam......
Witam , przepraszam że podłącze się do tematu ale tu kolega ładnie opisał działanie vfd i wiele więcej :) pomyślałem sobie że może ktoś pomoże ... trafił do mnie dekoder vec - 4730cd a w nim wyświetlacz vfd HCS-12M103T SPI zasilanie prosto z dekodera. Pomysł wykorzystania jako wyświetlacz do zegarka w ładnej obudowie :) oczywiście po usunięciu płytki...
Dane na RS wysyła komenda print (program napisany jest w BASCOMIE). W przypadku terminala wszystko dziala ok i dane nie nadpisują się. Jak rozumiem każdy ze znaków składający się na string jest wysyłany na RS osobno. Czyli odbiór powinien wyglądać tak że`czekam na sześć znaków po wystąpieniu zdarzenia i dopiero zapisuję wszystko do RevS. Jeżeli to...
ja ci kolego nie podam gotowca z 2 powodów, bascom mnie zupełnie nie interesuje a druga sprawa ze net jest pełen przykładów. A różnica jest zasadnicza bo sprzetowa transmisja aby wysłać znak potrzebuje takich czynności jak ustawienie interface (predkość, polaryzacja sygnału) a potem tylko trzeba ustawić pin odpowiedziałny za sygna CS urzadzenia oraz...
Witam Piszę Programik w Bascomie, wyplułem na wyświetlacz między innymi temp. z Lm35 dokładność do 0.5 stopnia, lecz waha się do 1.5 stopnia (temp. skacze). Jak uśrednić to. Czytałem troszkę posty że trzeba próbkowanie zrobić, lecz nie wiem jak się zabrać... O to kod: [syntax=bascom] $regfile = "m8adef.dat" $crystal = 16000000 '*******************Konfiguracja...
To jest odczyt z UARTu. W pierwszej pętli program czeka na pojawienie się litery "R" Potem w drugiej pętli zapisuje wszystkie odebrane znaki do zmiennej K3 aż do momentu pojawienia się znaku nowej linii CR (czyli chr(13)
http://obrazki.elektroda.pl/8836607800_1... Witam Chcę przedstawić konstrukcję termostatu 4 Kanałowego z wyborem trybu pracy. Układ wykonany na Atmega 32 a program napisany w poczciwym Bascomie. Wyświetlacz ma 4 wiersze po 20 znaków Zastosowane czujniki temperatury firmy Dallas DS18B20 Sterowanie jest za pomocą 4 przycisków (menu, up,...
Witam. Mam do was pytanie-bo do obsługi kart SD jest potrzebny jakiś "większy" mikroprocesor (z tego co wyczytałem w helpie) ale czy dałoby radę zrobić to na attiny2313 lecz chodzi mi tylko o to, że na karcie SD mamy jakiś tekst zapisany (nie ważny format byle dało się edytować go na komputerze) i ten tekst jest prawie że bezpośrednio wyświetlany na...
Niestety nadal występują problemy z przesyłaniem danych z PC do atmegi poprzez rs232. Z atmegi mogę wysyłac max 14 znaków w jednym poleceniu (nie wiem dlaczego) a z PC do atmegi idą max 3-4. O co chodzi?? Nie mam już pojęcia. Czasem lubi nawet zgubić część przesłanych danych np. wysyłam cd1234 a do atmegi dochodzi 234. Dodano po 5 Może ma ktoś jakąś...
1) wyrzuć ten kawałek bo mi się nie podoba: Else Kod_cyfra = Lookup(0 , Kody7seg) Portc = Kod_cyfra Zauważ że za chwilę nastąpi odczyt z innego pind.x i za ułamek sekundy na portc zostanie podana inna dana. Za chwilę znów to ELSE zmieni portc, i znów jakiś pind.x zrobi zmianę. Wyrzuć to i sprawdź czy coś się poprawiło 2) tranzystory BC557 dają...
Witam, Programuję sobie procesorek AT89C2051 i magistralę 1-Wire. O ile z odczytem danych z magistrali nie było problemów, o tyle z wysłaniem tego przez RS-232 jest problem. Czy ktoś z użytkowników ma jakieś gotowe procedury zapisu i odczytu do porty RS232? W BASCOM wszystko działa, ale chcę to zrobić w C. Na razie doszedłem do: //funkcja obsługująca...
Dzisiaj wypróbuje układ z większym transformatorem, żeby nie przysiadało napięcie. Inicjalizacje powtórną już zrobiłem. Rzecz w tym, że po jak to nazwaliście zresetowaniu LCD powinien być efekt taki jak po jego odpięciu od procesora i ponownym podłączeniu. Wtedy wyświetla bzdury, ale z zakresu zdefiniowanych znaków. W moim przypadku wyświetla wręcz...
Bardzo ciekawa konstrukcja, interesuje mnie, ta klawiatura, jak ona działa ? I jeszcze coś, ile zajmuje wsad do procesora, i w jakim języku pisany był soft. Ja dopiero się zabieram za obsługę wyświetlacza od 3310, i widziałem biblioteki w bascomie, które zajmowały 6-10kB w zależności od funkcji i tablic znaków, dlatego myślałem, że nie wcisnę tego do...
Staram sie napisać programik w Bascom, który odczyta mi numery seryjne z termometrów dallasa DS1820 (docelowo 3-4 termometry) ma go zapisać w pamieci eeprom procesora, a nast ma być odczytany. Na końcu użyłem komendę dla wyświetlenia na lcd ale jakoś mi to podejżanie działa ponieważ nie wyświetla mi znaków a tylko jakieś "9". Może źle odczytuje lub...
To jest następna wersja :wink: Działa ale bardzo niestabilnie tzn np. naciścięcie P1.0 + P1.7 generuje kilka różnych znaków i nadal po linnie nadawcze wchodzą w stan niski i nie wracają Mam kłopot napisałem coś takiego Ale wysyłany jest znak a potem #13 , #10 Jak zrobić by CPU nie wysyłał tego rrugiego znaku (#10) ****************************************...
Zrób sobie 6 element tablicy który będzie np znakiem ENTER (żeby rozpoznawać koniec tablicy) natomiast w Bascomie możesz wtedy użyć nawet polecenia INPUT, które po otrzymaniu znaku ENTER wpisze ci twoich 5 elementów tablicy do stringa (też jakby tablicy) - a ze stringa możesz to przełożyć do normalnej tablicy bascomowej - zrobić z tym co ci się żywnie...
Witam. Problemy rozwiązanie. Odczyt temperatury pieca CO z modułem transmisji 433MHz, historią temperatury oraz regulacją jasności podświetlenia jest ukończony. Teraz czas na obudowę i montaż. Dziękuję tym co pomogli oraz tym co "zmusili" do zgłębienia tematu i też pomogli. Pozdrawiam. Można zamykać. P.S. Pamiętajcie w tym LCD 40x4 na zamianę funkcji...
Witam. Na znanym serwisie aukcyjnym zaopatrzyłem się w wyświetlacze LCD 2x16 znaków które miałybyć kompatybilne z HD44780 jednak nie są. Wyświetlacze to PC1602V-P8 firmy Powertip. Na stronie $regfile = "m8def.dat" 'procesor mega 8 $crystal = 8000000 '8mhz Wait 1 Config Adc = Single , Prescaler = Auto , Reference = Avcc ' ustawienie adc Dim...
Według mnie obie są błędne, a pierwsza jest karygodna. Błędy pierwszej: 1. Wait w obsłudze przerwania !!!!!!! 2. Odczyt w przerwaniu przez input, a bez bufora - po odebraniu znaku zawiśnie na Input. Błedy drugiej: 1. Zupełnie nie potrzebny Gosub 2. Skoro wykorzystujesz bufor to dlaczego nie Bytematch = 13 ? 3. Znowu Input zawiśnie.
BASCOM i wątki - czarno to widzę. To co chcesz zrobić nie wymaga stosowania wątkó, tylko dobrze zorganizowanej pętli. Pętla mogłą by wyglądać tak: Odczyt temperatury z ADC. Ustawienie przekaźnika w zależności od temperatury. Wysłanie temperatury przez RS-232. Można by też gdzieś do tej pętli wrzucić odczyt danych z RS-232, na przykłąd w celu modyfikacji...
http://obrazki.elektroda.pl/2929008000_1... Witam. Po raz pierwszy zdecydowałem się przedstawić na łamach forum swoją konstrukcję. Chciałbym zaprezentować swój pomysł na Termometr Samochodowy. Podczas upalnego lata zauważyłem że po zainstalowaniu instalacji gazowej moje auto ma bardzo duże wahania mocy silnika w zależności od temperatury...
Witam; Testuje ostatnio wyświetlacz od Nokii 3310/5110 Do obsługi wyświetlacza używam kodu z tego tematu: Poprawiam syntax -> kod języka Bascom Basic to basic4gl
Witam Mam mały problem z tym dość prostym programem. Generalnie działa tak jak powinien, tylko przy włączeniu układu następuje krótkie załączenie przekaźnika. Jest to spowodowane tym, że początkowy odczyt z DS18B20 jest 85 stopni ( integer 850 ) co przekracza ustaloną przeze mnie początkową wartość 45 stopni ( integer 450 ). Próbowałem dać badanie warunku...
Coś namieszałeś w tym podprogramie odbioru z UART. Najpierw czytasz do zmiennej F, potem to Case 0 to 4 (?). Jeśli używasz ASCII to skąd niby mogły by się odebrać takie wartości ? Potem nagle ni z tego i owego pojawia się zmienna E bez związku z odczytem. Myślę, że ciągle mylisz kod ASCII z liczbami i przez to masz problemy. Możesz też przed parsowaniem...
Mógłbyś trochę rozwinąć ? Niestety nie mogę tego ogarnąć - to już moje drugie podejście, po próbie połączenia UART z PWM, wtedy odpuściłem, bo blokowało mi wyjścia na czas połączenia. Przeglądając przykłady na tym forum wyszło coś takiego: '********************* Konfiguracja UART Config Serialin = Buffered , Size = 40 , Bytematch = All Enable Interrupts...
Dzisiaj sprawdzę i dam znać co i jak..... Dodano po 5 Witam Wpisałem kod w program i to ma coś takiego być.... działa, temp. nie skacze... na razie jest zrobiony na płytce stykowej i zasilanie biorę z zasilacza komp. a tak to ma być na płytce finalnie i temp. sprawdzona w komorze temperaturowej (mam dojście :-))) jeszcze raz wyniki porobione.. póki...
Witam. Przepraszam ze zawracam głowę, ale mam problem z wyświetlaczem lcd 16x2 opartym na hd44780. Podłączyłem go do arduino, piny są prawidłowo połączone jednak lcd wyświetla jedynie pierwszych 8 znaków resztę ucina, to samo dzieje się w drugiej linii. Oto mój kod : [syntax=c]#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void...
Przykład odbioru z sms.bas b - zmienna typu Byte Sub Getline(s As String) S = "" Do B = Inkey() Select Case B Case 0 'zamiast ischarwaiting Case 13 'filtracja znaku CR Case 10 : If S <> "" Then Exit Do 'filtracja LF i zakończenie Case Else S = S + Chr(b) 'budowanie ciagu End Select Loop End Sub Chociaż...
No fakt, to jest BASCOM 8051 a nie AVR. :oops: Ale idea jest taka sama. Trzeba zrobić sobie bufor w pamięci (np. tablica bajtów - Array) i dwa wskażniczki: Zapis, Odczyt; które będa sobie biegać w kółko po tablicy - tworząc tym samym bufor kołowy (http://en.wikipedia.org/wiki/Circular_b... Zapis będzie wskazywał element, który aktualnie można zapisać....
Program działa, chociaż wydaje mi się, że temperatura jest ciut zawyżona, no ale może i faktycznie taka jest. Mam jeszcze inny problem, a właściwie póki co za małą wiedze w temacie, żeby wiedzieć jak ten temat ugryź, a mianowicie: Mam tak zdefiniowane zmienne: ( or ) missing [IF(CHR(S2(1)) = 4 THEN] Assigment error...
Witam. Miałem dwie atmegi spięte przez port szeregowy. Full duplex. Master, wysyłał do slave znak "Q" a w odpowiedzi otrzymywał stan wszystkich ośmiu bitów wybranego portu. Master odebrany komunikat wysyłał na port i zapalał LEDy. Ukłąd prosty. Wszystko działało przepięknie. Odbieranie znaków w układach master i slave realizowałem przerwaniem od URXC...
Niestety nie znalazłem :( Ale jest coś ciekawego w programie, który zamieściłem, mianowicie zapisuje on rzeczywistą szerokość i wysokość każdej litery, znaku, cyfry. Na przykład m (font_times_new_roman24) program automatycznie obcina zbędne piksele (zera). Na początku chciałem właśnie wykorzystać kodowanie ARL, by zmniejszyć rozmiar każdego znaku. Ale...
Komenda shiftlcd left tego nie zrealizuje Niby dlaczego? Problem będzie tylko, gdybyś chciał wykorzystać inne linie do czegoś innego. Tu masz przykładowy program, korzystający z pamięci EEPROM: $eeprom Data "Baaardzo d{003}uuugi napis.!Jest zapisany w pami{002}ci EEPROM. W ATTiny 2313 mo{007}e mie{001} do...
W taki sposób, że zaraz po zakończeniu nadawania właściwej zmiennej, z powrotem startuje nadawanie znaków NULL. Tak więc moje rozwiązanie "wyłuskuje" wszystko z pomiędzy tych pustych znaków ;) [EDIT] A jednak mój sposób zawiódł. Nie tyle że nie działa, co po prostu przerwania od bufora są zbyt częste i mam problemy z napisaniem dalszej części programu...
No i niestety nie działa. Pod INT0 i INT2 działa ale pod INT4 nie... Już mi się kończą pomysły.. Spróbuję jeszcze wyrzucić odczyt z przerwania i dać go w pętli. edit: Niestety nadal nie działa. Dodano po 1 Bardzo ciekawe zjawisko zaobserwowałem. Otóż dla testu skompilowałem program pod wersją 1.11.9.8 i odziwo odbiór RC5 działa poprawnie! Ale za to...
Witam, po przesiadce z bascom do winavr piszę przykładowe programy w celu poznania C dla AVR, tym razem chciałbym wysyłać po rs232 odczyt z przetwornika analogowego. Używam a328p i po krótkim zapoznaniu się z dokumentacją układu ustawiłem transmisję i adc [syntax=c] #include <avr/io.h> #include <util/delay.h> int main( void ) { UCSR0B =...
Po dłuższej przerwie zabrałem się za wyskalowanie KTY 81-210 :-))) Całkowicie dałem nowe obliczenia bo te znalezione to ciężko było stwierdzićjak obliczone zostało. Zostawiłem tylko rezystor 2.7k Temp. wyszła mi całkiem przyzwoita. Do wyskalowania obliczyłem ze wzoru na prostą y=ax+b tak samo jak zrobiłem w pt100 :-). Potrzebowałem 2 próbki odczytu...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Teraz przykład prosty, też uniwersalny niema znaczenia ilość zmiennych i ich długość, ale do ESP musisz wysłać same zmienne przedzielone spacją, według wzoru" Bascom: Kod: vbnet Próbuję zrobić tym sposobem i klapa... Jeżeli poślę z AVR siedem zmiennych to jest OK, ale jeżeli będzie ich więcej to już nic z tego ;( ESP w konsoli się drze: [syntax=bash]...
Jeszcze wracając do poprzedniego pytania o sczytywanie z klawiatury to w końcu zajarzyłem że niezbyt dobrze napisałem , więc poprawiłem na : $regfile = "Attiny2313.dat" $crystal = 4000000 Config Portd = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.1 , Db6 = Portd.5 , Db7 = Portd.4 , E = Portd.0 , Rs = Portd.6...
Gwałt na parserach. Parser powinien przetwarzać od tokena do tokena, a nie konkretną ilość znaków. Dopiero wtedy może sprawdzić, czy to, co jest pomiędzy tokenami, jest akceptowalne, czy nie. Parsowanie po ilości znaków prędzej czy później kończy się katastrofą - raz rozjechany parser już nigdy nie zsynchronizuje się z ciągiem danych które ma sparsować.
Jeszcze parę dni zajmie mi samo zapisanie odczytanego SNa do zewnętrznej pamięci :( Teoretycznie wiem jak to ma wyglądać ale ciężko mi to wykonać nie znając składni BASCOMa. Dodano po 1 ...a Sn wyświetla mi się jako 16 znaków. np. 01DA176100000004
Jak odczytać komponentem CPort wartość liczbową wysłaną za pomocą printbin z uC. Z czytaniem znaków z rs-a nie mam problemu, ale nie wiem jak czytać wartości liczbowe. Którego zdarzenia Cport-a użyć? Proszę o jakąś podpowiedź. Pozdrawiam Piotrek
Witam, Chciałbym za pomocą modułu SIM300CZ oraz sterowania uC, wysłać smsa np. o tresci "1ON" Lub "1OFF" i włączy badź wyłączy przekaźnik. Problem jest taki, że gdy wyśle do modułu smsa to : 1. Pokazuje mi w jakim miejscu na karcie sim jest zapisany sms. 2. Jeżeli znam numer (na karcie tego smsa) i próbuje go wyświetlić to wyświetla mi duża ilość znaków...
[ Proponuję część pamięci EEPROM podzielić na bloki (tak jak dyskietka na sektory) po 8 bajtów i tam zapisywać ciągi znaków (8 bajtów = max 7 znaków) z nazwami. Nie mam zielonego pojęcia jak to zrobić, ale poszperam po necie i się podszkolę. Jestem poczatkujący "baskomowiec"
Witam Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Ja ci radzę jednak wysyłać hexem stałej długości. Np coś takiego: #F,FFFF(enter) Następnie w obsłudze rs'a sprawdzasz jaki przyszedł znak i jeżeli jest # to reset licznika wejścia i zapisujesz dane do bufora. Jak przyjdzie koniec (czyli enter lub podobne) sprawdzasz sobie adres(odpowiedni znak) i przepisujesz sobie zmienne do innego bufora. Dodatkowo...
odczyt ciągu znaków odczyt łańcucha znaków generator znaków bascom
zasilanie brązowy tomato firmware linksys atlas copco
kuchenka amica 53gg5 43zptgn spawarka magnum
Alfa Romeo 156 1.9 JTD EDC15 – brak odczytu poziomu i ciśnienia oleju, nie świeci kontrolka świec żarowych po wymianie wiązki Błąd ładowania baterii w Sony Ericsson - przyczyny i rozwiązania