a tak z ciekawości zapytam - po co ci czyszczenie buforów
Tutaj: If Licz_znaki = Max_znakow Then Licz_znaki = 0 End If brakuje ci czyszczenia bufora. Z doświadczenia doradzę ci abyś wykonywał czyszczenie bufora co jakiś czas. Do tego celu możesz uruchomić timer który będzie generował przerwanie w którym będziesz czyścił bufor.
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ą.
Echo wyłączyłem ; nic nie pomogło. Wykorzystuję takie coś: Xdane: Odb_txt = "" 'wyczyść odb_txt While Bufspace(1) < 254 'dopóki jest coś w buforze Bajt = Inkey() 'pobierz znak If Bajt <> 13 And Bajt <> 10 Then 'jeżeli nie jest to znak CR lub LF Odb_txt = Odb_txt + Chr(bajt) 'dodaj znak do Odb_txt Else 'w przeciwnym wypadku Odb_txt = Odb_txt...
Czyli mógłbym tym poleceniem odebrać na raz całość jaka czeka na mnie w buforze (czyli przykładowo 156 znaków) ? I czy mogę sprawdzać np. w pętli głównej ile znaków czeka w buforze i ewentualnie czyścić bufor z poziomu pętli głównej jeśli uznam to za stosowne?
Do czyszczenia bufora można użyć: [syntax=basic4gl]CLEAR SERIALIN[/syntax]
Dzięki za pomoc w tej kwestii z tym że wszystko super działa jeśli odnosi się to do jednego kanału pwm a ja chciałem wpisać dla każdej wartości z 3 oddzielnie i dlatego rozważam warunek tekstowy chyba ze jest jakiś lepszy sposób odniesienia do każdego z pwm P.S. Rozumiem że Bufor sam się czyści ??
Twoim podstawowym błędem jest to że ciągle czyścisz ekran. Ta operacja zajmuje prawie 2 ms Nie wiem po co to robisz ? Wystarczy zdefiniować bufor w który bedziesz wpisywać swoje wyniki i ten bufor cyklicznie wyświetlać ale tylko wtedy kiedy to będzie konieczne czyli w zależności od ustwienia ew. flag sygnalizujących np. zmianę czasu. Inna sprawa czy...
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...
Fajnie by było gdy byś przykładowo napisał co takiego przesyłasz.........jakie dane?? Mógłbym to przy okazji sprawdzić u siebie. A tak przy okazji z kodu wynika że pomimo tego czy jakiś znak jest czy nie w buforze to co 500ms "czyści" Ci sie wyświetlacz, spróbuj zamiast inkey() użyć waitkay(). Bo waitkay() powoduje zatrzymanie programu na czas napotkania...
Może i tak. Ale na moje oko i tak kombinujecie. Ja od początków jak stosuję przesyłanie danych przez UARTa to stosuję jeden algorytm który wymyśliłem jak tylko zacząłem się zajmować programowaniem, i okazał się na tyle skuteczny że korzystam z niego od kilku lat i nie zmieniłem od tamtej pory w nim nic. Wysyłam: 23, Dana, Dana, Dana, Dana, ..., Dana,...
USART pracuje asynchronicznie. Spróbuję po zmianie prędkości i na początku po inicjalizacji sprzętu (bo też się zdarza) czyścić bufor i ewentualnie podciągnąć RX rezystorem do Vcc choć wydaje się, że nie powinno to nic zmienić. Wydaje się także, iż jedno zbocze nie może tego dokonać chyba, że jest to "śmietnik" zboczy przy przełączaniu multipleksera...
Wiesz, każdy musi swoje odsiedzieć jeśli chce coś zrobić samemu a nie małpować :D Więc przykład działa na co jest dowód, ale inny moduł pewnie wymaga innego traktowania. Masz taki mikrokontroler że możesz uruchomić terminal na drugim USART. Możesz ustawić sobie jakąś diodę i po kolei zapalać ją w różnych procedurach i gasić na ich wyjściu. Będziesz...
No właśnie. Bo program tak normalnie się nie zawiesza. On idzie dalej. Timer działa. Przerwanie do Timera też działa. I co ciekawe program główny też działa. Bo nie wiem czy zauważyliście ale całkowite zawieszenie się programu głównego spowoduje że w buforze zostanie 256 próbek których przerwanie nie usuwa. Były by one odtwarzane w pętli co dało by...
dziękuję bardzo za podpowiedzi, temat okazał się znacznie prostszy - przyznam, że nie doczytałem w PDFie, że odpowiedź z modemu GSM wygląda następująco: <ENTER><odpowiedź><ENTER&... zatem wychodzenie z pętli po pierwszym enterze było w tym przypadku bez sensu bo dane dopiero wchodziły do bufora, a gdy dane nie były buforowane lub nie...
Łap bo jak zaczniesz z tym Multimaster to się nigdy z tego nie wygrzebiesz a odkrywasz tu koło na nowo :D Po pierwsze nie zauważyłem wcześniej, że już skonfigurowałeś Serial in 0. Błędem natomiast jest jest używanie Serial out 0 a potem zamiast to wrzucić do bufora to wycinasz po jednej literce ze stringa i nadajesz pojedynczo... Po prostu napisz Print...
Mam problem z transmisją danych. Na PC mam uruchomiony terminal (terminal v1.9b), i jak wysyłam treść z AVR do portu RS232 to terminal poprawnie odczytuje wysłaną treść. Natomiast problem tkwi w transmisji w drugą stronę. Żeby sprawdzić czy poprawnie AVR odbierze dane wysłane z RS232, napisałem tak program żeby po odebraniu treści wysłanej z terminala...
Nie wszystko w tej chwili jest używane, bo to testy. Na przykład Dim Napis As String * 15 Const Koniec = &HFF itp. [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 8000000 '---------------------------- $hwstack = 128 $swstack = 128 $framesize = 128 $baud = 9600 Dim Napis As String * 15 Const Koniec = &HFF '------------------- Declare Sub Oproznij_bufor...
Są dwie opcje: Oproznij_bufor: Do Kod = Inkey() 'Czyści bufor Bufor = Ischarwaiting() Dane = "0" Loop Until Bufor = 0 Return lub Odczytaj_uart: Kod = Inkey() Dane = Dane + Chr(kod) Bufor = Ischarwaiting() Ring = Instr(dane , Ringtxt) If Ring > 0 And Stan = 0 Then Stan = 1 Wait 1 Print...
Witam, mam dziwny problem, SIM900 nie wysyła sms-ów. Program w Bascomie napisał mi kolega, nie należał do najkrótszych i wszystko działało, odbierał sms-y z komendami i włączał urządzenia, wysyłał sms, dzwonił, odrzucał połączenia itd. Kiedy wyodrębniłem z tego programu fragment który miał tylko wysyłać sms kilka razy zadziałał, a później przestał,...
...Sprawdzę w datasheet bo widzę, że opinie są różne. A myślisz może , że mi to sie przyśniło :?: Niepotrzebna zgryzliwość :-( Nie da mi to jednak odpowiedzi na pytanie jak będzie pod Bascomem...robiw Chyba umiesz w Bascomie ustawić lub skasować bit :?: Piotrek Wyobraź sobie, iż umiem więcej... jednak pisząc w języku wysokiego poziomu nie wiesz jak...
tak wygląda sam kod do odczytu predkośći "trochę nie ogarnięty sorki" [syntax=basic4gl] $regfile = "m16def.dat" 'wew rezonator $crystal = 8000000 'jest włączony wew rezonator $baud = 9600 'szybkosc ibusa Config Lcd = 16 * 2 'używany wyświetlacz i piny do jakich jest podłączony Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7...
I mam problem z odbiorem SMS: Przed główna pętlą: '--[załączenie trybu TXT oraz czyszczenie karty SIM z wiadomosci SMS]----------- Print "AT+CMGF=1" ; Chr(13) ; Waitms 20 Print "AT+CMGDA=" ; Chr(34) ; "DEL ALL" ; Chr(34) ; Chr(13) ; Waitms 20 Print "ATE0" ; Chr(13)...
W pętli głównej czekasz na odebranie znaku (bodaj Ischarwaiting()), jeśli tak, to go czytasz i sprawdzasz, czy to znak początku (.), jeśli tak to przechodzisz do właściwego odczytu (to może być oddzielna funkcja) i czytasz kolejnych 12 znaków do bufora, oraz dodatkowy znak terminujący (.), jeśli znak terminujący jest poprawny kopiujesz bufor do zmiennej...
Dzięki. Oczywiście pomogło, tylko, tak jak wspomniałeś chip przestał być programowalny, a nawet soft programujący (BASCOM - DEMO) go już nie widzi. Posiadam programator ISP - podłączony pod port równoległy (taki za 15 zł z aukcji, z buforem we wtyczce lpt), ale tak jak pisze dokumentacja ATTINY-13 jeżeli reset jest zablokowany, to należy użyć procedury...
Witam wszystkich mam taki problem.Potrzebuję z aplikacji android wysłać cztery zmienne typu Word do procesora Atmega 32 i zapisać je w Epromie.Dane wysyłane w Srtingu. Na razie wysyłam dane z terminala z Pc-ta.Aplikację na Android pisze mi ktoś inny.Potrafię wysłać jedną zmienną nadaną jako String przekształcić na Word i zapisać ją w Eprom na procku...
Najistotniejsze pytanie: DLACZEGO GDY NADAJĄ 2 NADAJNIKI, TO PROCESORY LUB PROGRAMY Z POWODU ŚMIECI "IDĄ W KRZAKI" PODCZAS ODBIORU TYCH ŚMIECI? Bo program jest źle napisany (źle "wymyślony" algorytm odbioru). Niestety nie jestem w stanie pomóc...nie znam Bascoma. No to żeś się popisał...to że coś jest źle to chyba wiadomo ;P Niestety kontrola musi...
Przykłady parsowania danych tekstowych masz w helpie - keyword reference - string. Np polecenia typu LEFT, MID, RIGHT itd. wraz z opisem działania masz przykłady. Do Bufor = Ischarwaiting() 'Sprawdz czy cos jest w buforze If Bufor = 1 Then Waitms 250 Gosub Odczytaj_sprzetowy_uart 'Jesli jest to odzcytaj Oblicz Cls Locate 1 , 1 Lcd Dane; Locate...
Witam Robie włącznik/dialer gsm na C35 ale mam problem czasami z błędnym odczytywanie komend AT oto część kodu. $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Wait 1 Print "ATX0" ; Chr(13) Waitms 100 Print "ATZ" ; Chr(13) Waitms 100 Print "ATE" ; Chr(13) Waitms 100 Print "AT+CLIP=1"...
Im dalej w las, tym więcej grzybów. "Trenuję" nowy problem. W kodzie, po ustawieniu Jumper=0 program czeka na SMS z hasłem. Jeżeli otrzyma poprawne, to zapisuje do pamięci numer telefonu, z którego był wysłany SMS i przechodzi do pętli głównej, a zatem alarm jest uzbrojony - reaguje na czujniki zewnętrzne. W programie brak jest możliwości wyłączenia...
Witam Zbudowałem układ oparty o uC ATmega32 i połączyłem ją z Siemensa C35. Nie będę opisywał połączenia i wrzucał schematów bo to mi działa. Udało mi się odczytać z komórki: *Stan naładowania baterii *Siłę sygnału antenowego *Date i godzinę *Numer osoby dzwoniącej i zawiesiłem się na odczycie SMS-a. Wykrywam nowego sms-a poprzez zapytanie: Nowysms...
Witam, Wiem że były podobne posty na ten temat ale nie wiem co z moim programem jest nie tak. Gdy dzwonię na telefon podłączony do uC nic się nie dzieje. Komunikacja z telefonem działa bo wysyłałem przez uC różne komendy AT i odpowiadał. $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 Config Serialin = Buffered , Size = 100 Config...
Nie da się ustawić, bo jest to fizycznie niemożliwe, chyba że dostaniesz się do struktury i sobie mostek drutem zrobisz ;]. Multiplekser sygnałów zegarowych, którego wyjście jest jedynym źródłem zegara dla ADC, nie ma doprowadzonego sygnału bez podziału, najmniejszy dostępny to 2. Nie będzie próbkował z taką częstotliwością, bo się po prostu układy...
listing programu w Bascomie : $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 12000000 'informuje kompilator o częstotliwości oscylatora 'taktującego mikrokontroler $baud = 19200 'informuje kompilator o prędkości transmisji Config Lcd = 16 * 2 'konfiguracja typu LCD Config Lcdpin = Pin , Db4 = Portc.3...
Witam, postanowiłem trochę pobawić się z odczytywaniem danych z telefonu za pomocą atmegi. Docelowo ma to być prosty netmonitor. Niestety napotkałem przeszkodę z ktorą nie mogę sobie poradzić. Telefon podłączony jest bezpośrednio do linii TX,RX i GND procesora, komunikacja jest ( sprawdzalem wybierjaąc numer). Przez chwilę wszystko dziala OK, ale po...
program pisze w bascomie i to tak wyglada: Sub Nadaj Dim I As Byte Call Mcpw(&H30 , &H03) Call Mcpw(&H31 , &H1) konfiguracja danej do wysłania jaki identyfikator Call Mcpw(&H32 , &H0) Call Mcpw(&H35 , Do_nadania)-zapisz do rejestru 0x35 MCP ile bajtow do nadania For I = 1 To Do_nadania A = &H35 + I- rejestr danej Call Mcpw(a , Nadawane(i))- zapisz daną...
Ja też mam parę nadajnik-odbiornik na pasmo 868 mhz, ale miałem ustawione trochę inne wartości konfiguracyjne... Zauważyłem że mam chyba jakiś problem z mikrokontrolerem - wygląda to tak, jakby się restartował przy wysyłaniu przez SPI... Będę musiał poeksperymentować na innym modelu. A co do bibliotek, znalazłem gotowce na częstotliwość 433 mhz tylko:...
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
Witam wszystkich. Mam urządzenie (AVR+bascom) które wysyła po rs'ie dane o ogólnie rzecz mówiąc stanie czujników, podzespołów. Dane odbierane w terminalu wyglądają jak poniżej: W:sterownik v5.14 - 05.12.11 U:6.12V I:42.0 H:poziomo - poza zakresem h:0 V:pionowo - poza zakresem v:0 V:pionowo - w górę v:9 U:6.15V...
Znalazłem, że na SIM800 jest to komenda AT+CMGDA="DEL ALL" więc ją wstawię do kasowania z karty wszystkich wiadomości SMS, a do odczytu będzie AT+CMGL="ALL". Przetestowałem na razie czujki w terminalu i wszystko jest OK Dodano po 3 Ok więc zauważyłem, że jak zwiększę oczekiwanie (waitms) po wysłaniu wiadomości zwrotnej na 4000 (4 sekundy) to zaczyna...
hmm, no rzeczywiście (doczytałem w książce)... Dodano po 3 W dalszym ciągu ucina mi napisy ;/ przy wpisaniu tekstu: "DIODA ELEKTRODA 0123456789ABCDEF elektroda" ucina mi na cyfrze 6...dalej nic nie ma przez chwilę tak jakby tablica BUFOR była pusta. poniżej przedstawiam kod programu: $regfile = "m8def.dat" $crystal = 1000000 Config Portd =...
Witam, na wstępie uprzedzę, że jestem początkującym programistą bascom. Tworzę projekt, który jest połączeniem dwóch tematów tj. http://www.elektroda.pl/rtvforum/topic22... oraz ]http://www.mp3car.com/forum/mp3car-tech... . potrafię już odczytać dane z szyny i-bus w bmw i...
Witam, Mam mały problem z komunikacją między uC. Ale od początku. Schemat układu pochodzi z EP http://obrazki.elektroda.net/52_12696388... http://obrazki.elektroda.net/91_12696388... Samą komunikację udało mi się zestawić i działa bardzo dobrze (załączony kod poniżej). Master non stop odpytuje slave i jest git. I teraz mój problem,...
Analizuję od początku, uwzględniając wcześniej nabyte informację. TestFor123 1. wyłączenie przerwań 2. odczytywanie znaku z UART, pakowanie do zmiennej bstatus 3. wysłanie odebranego kodu znaku po uart (coś w rodzaju echo?) 4. Jeśli 5 razy po UART napłynie znak inny niż 123 lub 124 uP zostanie zresetowany 5. Gdy napłynie znak 123 lub 124 zmienna bkind...
Witam W oparciu o projekt Kolegi _Duch - rejestrator pogodowy zrobiłem swój ( na razie prosty ) rejestrator. Wykorzystałem podane w wątku pliki config_mmc.bas i Config_AVR-DOS.BAS . Na płytce testowej EVB 4.3 v.4 . Podłączenie z SD standardowe. Niestety nic się nie zapisuje na karcie SD ( próbowałem 2 Gb Kingston i 1 Gb Sandisk - formatowane na FAT...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
https://obrazki.elektroda.pl/4706372500_... W poprzednich częściach pokazałem zasadę działania oraz uruchamianie pozyskanych wyświetlaczy (modułów) VFD. Teraz przyszła pora na zbudowanie własnego sterownika wraz z potrzebnym zasilaczem. • Zasilacz Ze względu na dość złożony sposób zasilania samego wyświetlacza postanowiłem zacząć...
Witam :) Pisze z prośbą o pomoc w rozwiązaniu problemu a mianowicie mam program w bascom który po otrzymaniu literki "a" poprzez uart za pomocą btm-222 powinien zgasić diodę. W symulatorze program działa bez zarzutu lecz gdy zaprogramuje uP to nie gasi tej diody, i nie zwraca wysłanej literki ale dioda "Data" na module się świeci czyli moduł odbiera...
Pozbierałem różne fragmenty z forum i zlepiłem coś takiego Nie robi tego co powinno czyli set porta.0 kiedy tel dzwoni. Komunikuje się z telefonem poprawnie - sprawdzalem, wiec blad w programie. Co mam nie tak? $regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Serialin = Buffered , Size = 100 Config Porta.0 = Output Enable Interrupts...
czyścić bufor bufor czyścić bufor bascom
czujnik krancowy ibiza uszczelniacz schemat elektryczny samsung
Antena rybaków i tuner CG-3000 - współpraca Ładowarka kompatybilna z akumulatorem JCB 12V