Zastosuj bufor: Config Serialin = Buffered , Size = 100 enable interrupts A oczekiwanie na znak zrób: Bufor_flaga = Ischarwaiting() : If Bufor_flaga = 1 Then Gosub Odbierz_uart Następnie procedura odbioru danych: Odbierz_uart: Bufor = "" Do Bufor_znak = Inkey() Bufor = Bufor + Chr(bufor_znak) Bufor_flaga = Ischarwaiting()...
Skoro z kompa umiesz to powinienes tez umiec z atmegi... z tego co wiem, bascom ( :/ ) zwraca czas w BCD. Ale mniejsza o to... Musisz zrobic tak: 1) Zdefiniuj wlasnego fonta (cyfry 0..9) 2) Zrób sobie bufor ramki, najlepiej JEDNOwymiarowy 3) Napisz parę funkcji które wyrenderują cyfry do bufora ramki 4) No a jak przeslac taki bufor na matryce to juz...
Mnie zastanawia jedna rzecz, skoro korzystasz z przerwań to po jakiego grzyba tam input? Zobacz jak mozna to rozwiazac: Odebrano: Disable Urxc ' wylaczenie przerwania na czas trwania aktualnego 'Jesli licznik znakow jest mniejszy od maksymalnego rozmiaru bufora to... If Licz_znaki < Max_znakow Then '...zwieksz licznik znakow, do buforu transmisji...
Wyłącz echo w telefonie. ale jak mam to zrobic ? ATE0 nie dziala :| Czyszczenie bufora nic Ci nie da.Aby "opróżnić" bufor , wystarczy wyrównać lub wyzerować indeksy _rs_head_ptr0 i _rs_tail_ptr0 . pytanie jak to zrobic pod Bascomem ? Obecnie jest tak jak by to co wysyla telefon ladowalo sie do bufora w roznych miejscach , raz na pcozatku, raz w srodku...
Czy liczba jest zawsze siedmiocyfrowa? Nie mówie że to jedyny sposób ale podam jeden z możliwych. Deklarujesz zmienną tekstową siedmioznakową. Taka zmienna ma w rzeczywistości osiem bajtów. Nie chcesz wysyłać ósmego NULL. No i OK :D Na te zmienną nakładasz bufor siedmiu bajtów. Kiedy zmienna Dword każesz zamienić Bascomowi na string to on zapisze komórki...
Witam ! Jeśli masz problem ze scalaczkiem do programatora t zrób inny programator bez buforu, jednak tu trzeba uważać aby nie uszkodzić portu LPT. Schemat zaczerpnąłem z pliku pomocy Bascom AVR, poniżej schemat. http://obrazki.elektroda.net/47_12361589... Pozdrawiam. Stefan ps. W Bascomie AVR w opcjach - programer ustaw Sample Electronics Programmer....
A jeśli chodzi o AVR to: ON źródło_przerwania nazwa_podprogramu [ NOSAVE ] gdzie: źródło_przerwania - symboliczna nazwa źródła przerwania, nazwa_podprogramu - etykieta określająca gdzie znajduje się podprogram obsługi przerwania. jako żródło przerwania można: URXCprzerwanie układu sprzętowego UART – odebranie znaku UTXCprzerwanie układu sprzętowego...
No dobra. Wywal wszystko na linii Tx telefonu do Rx procesora. Ma być połączenie bezpośrednie. Na drugim kierunku zostaw tak jak masz. Poniżej kod do testów. Powinien działać. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Lcd = 16 * 2 Config Serialin = Buffered , Size = 100 Enable Interrupts 'Declare Sub Oproznij_bufor...
pewnie piszesz w bascom ,wiec masz kod odbierania danych (całych stringów ) w przerwaniu :) : Config Serialin = Buffered , Size = 20 do If Ischarwaiting() = 1 Then '1 - odebrano znak,0 - pusty bufor Call Read_rs232 End If loop Sub Read_rs232 Dim Bufor As String * 24 Input Bufor Noecho end sub
Siemanko. Nie jestem, koledzy zagorzałym fanem Bascom, tylko go po prostu trochę znam. Zaopatrzony w lekturę zgłębiam teraz C i pomyślałem, że to będzie fajne ćwiczenie :D Napisałem to sobie w Bascom ekspresem i wygląda to tak https://filmy.elektroda.pl/65_1422227481... Nie chciałem takiego dużego okna tu wstawiać, ale zastosuje się do polecenia :P...
McRancor: nie zgadzam sie, moim zdaniem to dioda jest na linii VCC miedzy 74hc244 a programowanym ukladem. A prawda jest taka ze poprzez bufor przechodzi napiecie z portu LPT (w moich programatorach bez tej diody dalo sie nawet zaprogramowac 2313 zasilajac go wlasnie z portu LPT przez ten bufor). Poprostu przez bufor "przecieka" napiecie (nie sprawdzalem...
Witam Możesz spróbować zrobić też w taki sposób: Do D = Inkey() If D > 0 Then 'jeśli coś jest odczytane to wtedy to zapisz do tablicy W(n) = D Incr N 'przejdz do czytania kolejnego elementu tablicy If N = 16 Then N = 1 'wykonywanie operacji na całej tablicy itp. End If End If Loop cały czas odczytujesz znaki a jeśli bufor nie będzie...
Witam Cieszę się, że mój program, który defakto nie jest szczytem programowania, kogoś zainteresował. Ogólnie działa on dość fajnie ale mógł by lepiej hehe. Teraz co do programu, to nie mam czasu na dokładną analizę całości (sesja :/ ), nawet swojego kodu już dobrze nie kojarze, ale zauważyłem jedną rzecz: kolega, w tym co dopisał używa zmiennej wynik_o...
Myślałeś o tym by zatrzasnąć stan linii danych w rejestrze na zboczu i odczytać zawartość rejestru już później przez CPU. Mógłbyś dodać licznik i mala pamięć SRAM oraz bufor bo tak małego FIFO raczej nie kupisz... Ale moim zdaniem będzie droższe i większe niż dodanie prostego uC który będzie w pętli robił to czego potrzebujesz - ile teraz kosztuje najtańszy...
Jak czytałeś lub nie :) karta ma sekwencje "startu" , nie pamiętam teraz jaki ma format, jest to jakiś 5bit znak, ja najpierw z czytuje cały bitstream od czytnika i potem funkcją szukam startu jak nie znajdę to "przekręcam" bufor (znaczy ostatni bit staje się pierwszym w strumieniu) i jeszcze raz szukam znaku startu, potem już tylko na podstawie tablicy...
Po prostu nie możesz korzystać z instrukcji Input tylko z instrukcji np. Inkey i odbierać 128 bajtów o dowolnej zawartości (nawet bajtów zerowych) Po odebraniu 128 bajtów sprawdzić sumę kontrolną, tak jak pisał kolega mirekk36. Jeśli odebrałeś wysłasz ack spowrotem np. z sumą crc ramki Instrukcja Input się nie nadaje do tego celu. Tylko odbieranie za...
LCD ktore wymieniles maja calkiem fajne kontrolery, do ktorych bez problemu znajdziesz noty katalogowe. Wiec ich uruchomienie nie jest specjalnie trudne. Potencjalny problem to mala ilosc pamieci, ktora oferuje AVR, taki LCD np. 320x240*16bpp to 153600 bajtow. Co prawda kontroler ma bufor ramki, ale grafike musisz mu z czegos zaladowac. A wyswietlac...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne - w tym przypadku tylko jeden :D Przekłada się to...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
Najlepszy manual to dokumentacja megi32 dostępna bezpośrednio u atmela na stronie. Tak szybko patrząc, at90s2313 ma rejestry UDR/UCR/USR, ale tam jest prosty UART. Mega32 posiada USART, który posiada więcej rejestrów, które dostępne są poprzez UDR, UCSR void UART_init(void) { // ustaw prędkość transmisji UBRRH = (unsigned char)(UART_CONST...
https://obrazki.elektroda.pl/1596322200_... Witam drodzy forumowicze. Temat jak najbardziej świąteczny. Chciałbym Wam przedstawić elementy stanowiące uzupełnienie Szopki Bożonarodzeniowej. Można to nazwać tłem...czy po prostu małym miasteczkiem będącym uzupełnieniem szopki. Wykonałem je samodzielnie przy pomocy najprostszych narzędzi,...
a tak z ciekawości zapytam - po co ci czyszczenie buforów
INKEY i INPUT stricte nie czyszczą bufora. Od tego jest CLEAR SERIALIN. Jednak korzystanie z INKEY i INPUT pobierają dane z bufora i przesuwają wskaźniki, co także powoduje, że bufor jest "opróżniany" - choć dane w pamięci dalej są.
Witam, Mam problem z programatorem usbisp, w bascomie wybieram usb-isp programer, podaczas próby programowania wyskakuje błąd usb programer not found. Dawno nie korzystałem z tego programatora i bascom, myślałem, że może coś padło, jednak w progisp 1.72 normalnie działa odczyt flash i bufor jest widoczny, wiec zakładam, że sprzętowo wszystko jest w...
Kolejnym etapem zabawy z CAN będzie wysłanie wiadomości . Konstrukcja MCP2515 umożliwia ustawianie różnych trybów pracy kontrolera. Rejestr CANCTRL obecnie wygląda - &B10001000 W programie zmieniamy Can_init() [syntax=bascom] Sub Can_init() Local Can_tmp As Byte Reset Mcp2515cs Can_tmp = Cmd_reset Spdr = Can_tmp Do Loop Until Spsr.spif = 1 Set Mcp2515cs...
Digitrace używa tylko wejść portu. Bascom potrzebuje wyjść i wejść. Jeżeli programator to tylko kupa drutów, bez bufora, spróbuj podciągnąć wszystkie linie wejściowe i wyjściowe opornikami ok. 10kOhm do +5V. Jeżeli z buforem to zasil bufor z układu, podciągnij również wszystkie użyte wyprowadzenia portu LPT takim samym opornikiem do zasilania bufora.
Trudno tak wypowiedzieć się bez całości kodu, ale czytałeś/widziałeś temat helpa "config serialin"? Serial0charmatch to raczej powinien być sub z etykietą i return a nie Sub i End Sub. Jest jeszcze jeden niuans. Znaki sa pobierane do bufora w przerwaniu i kiedy wykryty zostanie enter chcesz skoku do tej etykiety. To jest jednak kod który jest doklejany...
Może gubisz przesyłane znaki bo gdzieś pętla jest za wolna. Jeśli taką komunikację wrzucisz do większego programu to problem się tylko pogłębi. Lepiej skonfiguruj bufor i Bascom będzie odbierał wszystkie znaki w przerwaniu. Nie przegapi żadnego znaku. ->Config Serialin0 Widać, że dodajesz Enter na końcu stringów. Możesz to monitorować i parsować dane...
W twoim programie wg BASCOM-AVR są błędy: Error : 254 Line : 17 Variable expected Przepraszam za pomyłkę. W BASCOM-AVR, do przerwań od timera, powinniśmy użyć 'TIMER1_OVF' zamiast 'TIMER1 OVERFLOW'. Podobna sytuacja jest z przerwaniem od INT0, powinniśmy użyć 'INT0_ISR'. Najpierw musimy skonfigurować Timer1 i INT0, następnie włączyć przerwania. Kiedy...
Ech... ogólnie Bascom niestety nie nadaje się do zadań, w których trzeba bardzo szybko przesłać bardzo dużą liczbę danych, a tak właśnie jest z wyświetlaczami kolorowymi. Kiedyś walczyłem z takim bodajże 4 calowym, to w porywach udało mi się wycisnąć jakieś 0,25 FPS'a ;-) Cały ekran wypełniał się grafiką w 4 sekundy. Druga sprawa, że musisz mieć gdzieś...
jeżeli użyłeś config serialin=buffered, size=10 to musisz podawać dane powoli bo jak ci się przepełni bufor uarta to kich. rozwiązanie: albo zwiększysz wielkość bufora uart albo będziesz przesyłał bez bufora. przy tylu danych proponuje zrezygnować z bufora.
witam pisze pewien programik pod bascomem i potrzebuje zaimplementować w asemblerze bufor FIFO dla przychodzących danych. Napisałem pewną procedurkę, lecz nie wiem czemu często coś się w nim zamiesza. sprawdzałem go troche w debugerze ale nic nie mogę wyczaić. Oto kod procedurki zapisującej i odczytującej z bufora: Save_to_fifo: 'Const Wielkosc_bufora...
wyświetlacz na sterowniku ks0108 nie wysteruje bezpośrednio przez i2c, możesz podpowiedzieć jaki bufor dodatkowo musiałbym zastosować ?
Pierwsza sprawa musisz tak napisać program by rozpoznawał początek i koniec paczki , żeby móc policzyć który bajt masz sprawdzać. Możesz czekać na wartość 65 jak ją odbierzesz to odbierasz kolejny, którego nie sprawdzasz i jeszcze jeden który porównujesz z wartością poszukiwaną jak jest ok to wyświetlasz komunikat jak nie wracasz na początek programu...
Witam! Gratuluję autorowi ciekawego sposobu komunikacji z WS2812B! Ja jeszcze bawię się AVR-ami, a nawet Bascomem ;) W układzie z filmiku [youtube]https://www.youtube.com/watch?v... wykorzystałem ATTiny85. Bufor danych do wysłania oczywiście w pamięci RAM. 3 bajty na diodę (RGB). Każdy bajt bezpośrednio określa jasność świecenia...
chcę nawiązać komunikację z urządzeniem które wysyła i odbiera dane na jednej linii protokół standardowy jak w rs232 użyłem poleceń SERIN i SEROUT w bascomie ale po wysłaniu ramki odbiera jakieś śmieci podkreślam że transmisja podsłuchiwana była w terminalu i urzadzenie odpowiada poprawnie , ale procesor odbiera śmieci .Czy trzeba stosować jakiś bufor...
Użyć przerwania. A dokładnie config serialin z funkcją Bytematch. Ewentualnie po każdym odebranym znaku zerowym Chr(0) dać Clear Serialin Wtedy bufor będzie zawsze ustawiony na początek.
E tam, Bascom jest niekoszerny :) Rozumiem, że jakąś automatykę domową chcesz zrobić? RFM22 ma moc 17dBm, w domu spokojnie pociągnie. W dodatku sprzętowo realizuje stosunkowo wysokopoziomowe funkcje (MAC, CRC, nadawanie ramek). Akurat zaczynam tworzyć driver do niego. No i tani. Jeszcze tańszy jest RFM12, ale mniej wygodny w sterowaniu i ma mały bufor...
bolek , praktycznie każdy wzmacniacz operacyjny z wejściem JFET się nadaje. Na przykład taki TL08x ma rezystancję wejściową rzędu 1Tohm, tak, Tera :] Wystarczy prosty wtórnik i bufor gotowy.
Teraz doczytałem, że pod Studiem też masz problemy. Masz pościerane nazwy na układach programatora tak jak na zdjęciach ze sklepu? Pytam bo podobno bufor Maxim`a nie wyrabiał prądowo i lepiej sprawuje się tam GTL2003.
Wazniejszy będzie odczyt na początku i stwierdzenie które dane są aktualne Robisz sume z bufora 1 i porownujesz z zapisana w buforze 1 , tak samo dla drugim buforze i ten z wadliwa suma odrzucasz , gorzej gdy oba maja poprawna sume to wtedy albo na podstawie analizy danych stwierdzasz które są nowsze albo na podstawie indeksu dodanego do danych tylko...
Nie miałem czasu przeanalizować kodu dokładnie, ale... ...zwróć Kolego uwagę na bloki "%END%". W procedurze obsługi HTTP osobno do bufora pakujesz nagłówek i osobno stronę w HTMLu. W obu przypadkach procedura kończy zapełnianie bufora po napotkaniu ciągu "%END%", a w blokach danych na końcu programu masz w jednym przypadku "endblock" zamiast "%END%",...
Zwiększ bufor odbiorczy, a do sprawdzenia czy jest nowy bajt w buforze użyj Ischarwaiting() : [syntax=basic4gl] Config Serialin = Buffered , Size = 20 ' bufor 20 bajtów ........ Do If Ischarwaiting() = 1 Then P = "" Input P Gosub Przelicz End If Loop[/syntax]
Tutaj masz: http://www.mcselec.com/index.php?option=... Można robić różne urządzenia HID. Czyli pendrive też. Tylko trzeba samemu by napisać obsługę zapisu i odczytu danych. No i na plik 256k to trzeba by jakiś duży bufor (np. pamięć FLASH na SPI).
Witam. Włącz przerwania, inaczej dane nie wpadną do bufora.
Kwarc jest ok. A wiecie może jak mam sprawdzić programator?? To jest w końcu tylko bufor tak więc moge podłączyć lpt bezpośrednio do proca???
No tak :/ jeszcze jest Integer :D już mam, dla potomności: [syntax=basic4gl] Do 'Odbierz znak po znaku Kod = Inkey() Dane = Dane + Chr(kod) Port = Left(dane , 3) Stan = Right(dane , 4) Wartosc = Val(stan) Sprawdz = Val(stan) 'dodana zmienna Integer If Port = "red" Then Rgb = 1 If Port = "gre" Then Rgb = 2 If Port = "blu" Then Rgb = 3 'Zapisz w Dane...
Witam! Obsługa przerwania trwa z reguły krócej, niż odbiór pojedyńczego bitu przez USART. Drugim zabezpieczeniem jest bufor FIFO - odbierze kolejny znak, zanim odczytasz poprzedni. Pozdrawiam!
Walczyłem z tym problemem bardzo długo, napisałem post tutaj no i proszę - problem rozwiązałem parę godzin później. Otóż procesor nie wskakiwał w przerwania od odbiornika (URXC), nie chodzi na 1MHz tylko na 14754600Hz, BaudRate jest 9600. Okazuje się, że w przerwania w kółko wskakiwał, ale od UDRE! - czyli tak jakby po wysłaniu czegoś (choć niczego...
Kierunek dobry, ale to pozwala na użycie tylko jednego znaku, który od razu jest przesyłany i następuje wykonanie instrukcji. Chciałbym aby instrukcja była wykonana po wpisaniu np. tekst1 Chyba trzeba zastosować bufor, który będzie dopisywał do stringu kolejne znaki i dopiero po pojawieniu się znaku CR ( czyli kod ASCI 13 ) sprawdzał, czy jest to właściwy...
bascom bufor czyścić bufor bascom bufor rs232 bascom
sygnał video komputer ekranowanie miedź skrzynka bezpiecznik schemat
Jak nagrać gitarę przez Behringer UMC22 w Audacity Piaggio X8 125 2006 – brak iskry, masa regulatora, czarny przewód, punkty masowe