WAIT 2. faktycznie - juz poprawione Mój ulubiony "kwiatek" :) Gosub Wybor Wybor: Potem mamy masę gosub'ów bez poprawnego wyjścia. gdybys konkretnie wyjasnil co jest nie tak. To nie watchdog tylko przepełnienie stosu. Chociaż i watchdog może w kilku przypadkach resetować, zwłaszcza tam gdzie jest Jak nie ma włączonego watchdoga program staje w miejscu...
I znowu mam dziwy problem z moim led cube. Sprawa ma się tak że odczytuje plik txt z karty i jeden plik śmiga aż miło a drugi już nie :( Program działa tak: 1 otwieram plik .txt 2 pobieram z tego pliku pierwszą linijkę w której mam zapisane krotność powtarzania jednej klatki animacji. 3 kolejnych 8 linii to długie stringi które później dzielę na 3 znakowe...
[syntax=c]TWI_write(pgm_read_byte( &cyferki[cy4] ));[/syntax] Mam tablicę znaków wyświetlacza "cyferki" a zmienną "cy1" - "cy4" wskazuje odpowiedni znak z tablicy. W buforze z RFM12 mam stringi a potrzebuje int aby wyświetlić znaki z tablicy.
Dzięki ;) A może można jakoś inaczej wysyłać dane do ESP aby łatwiej było by to "obrobić" w LUA? Z ESP współpracuje z ATmega (BASCOM) i tam wysyłam dane tak: [syntax=vbnet] Print "temp_zew:" ; Temperatur ; " " ; "wilgotnosc:" ; Humid ; " " ; "cisnienie:" ; Luftdruck ; " " ; Chr(10) [/syntax]
Szczerze to jeśli ktoś ma takie problemy to znaczy, że coś sobie zamotał i prawie na pewno da to się łatwiej rozwiązać. Nie da się tak zmiennych wstawiać jak ty chcesz ze stringów podczas działania programu. Jedyne takie kombinacje są dostępne za pomocą preprocesora.
sprawa banalnie prosta a o to przepis : Atmega8+LCD+MAX485 ,protokół sam możesz zrobić w bascom ,tą cześć raczej trudno nazwać protokołem ,raczej atmega zajmowała by sie odbiorem stringów które by latały po RS leprzy protokół wyglądał by tak : PC->AVR string+CRC PC<-AVR OK opisy znajdziesz na elce
Wydaje mi się że nie opłaca się ładować tych 32 bajtów do eepromu , pewnie procedura odczytująca zajmie więcej miejsca. Ale :) można by tam coś innego władować, w eepromie masz coś około 500 bajtów wolnych. Wolne miejsce można by wykorzystać na teksty wyświetlane na LCD. Niektóre łańcuchy też się powtarzają. Często masz np . [syntax=basic4gl]Locate...
Ja proponuję użyć RFM12B, albo RFM01/02. Posiadam te moduly i spedzilem wiele (naprawde wiele) godzin na probach uruchomienia ich. Niestety bezskutecznie. Byc moze moja wiedza programistyczna nie jest az na tyle zaawansowana. Przegladalem mnostwo materialow, i testowalem wiele softu ale nijak nie moge ich uruchomic. Dlatego przeszedlem na cos prostszego....
Ile pamięci zżera wam obsługa bootloadera (o ile są tu użytkownicy Bascom AVR) ? Mi zostało jakieś 40% z 64 kB. Wygląda na w miarę przyzwoicie? Jakieś materiały (godne polecenia) dla kogoś, kto nie uruchamiał jeszcze nigdy bootloadera, a chciałby to zrobić w Bascom AVR, włącznie z obsługą crc, bo przyznać muszę, że obecna komunikacja - sterowanie urządzeniem...
liczbę zamień na string: S1 = Str(i), a stringi dodaj.. S=S1+S2+S3
Witam Mam pewien program z obsługą MMC i dość dużą ilością różnych zmiennych, w Bascomie program kompiluje się prawidłowo nie pokazuje żadnych błędów ale na końcu raportu mam coś takiego : Source string could be too big to fit into target string [T(1)>___STRBUF] in line 483 Source string could be too big to fit into target string...
Miałem chwilę więc chciałem napisać szybko program na Aduino Mega2560, ale potem sobie przypomniałem, że tam mikroskopijny kwarc a błąd przy 16MHz dla 115200 jest za duży. Wziąłem więc Mega128 bo była wolna i pod ręką. Napisałem program w którym przez Charmatch odbieram string "1234567890" po odebraniu Entera. Żeby było uczciwie to jeszcze odpaliłem...
Próbowałeś zmieniać word na stringi (funkcją STR() ) ?
a Temperatura(1) to co to jest? ID DSa odczytujesz? to niby w czym je trzymasz? stringi jakieś jak masz określoną długość i coś z nimi robisz w trakcie działania programu....
Jak zadziała polecenie Len() ? obliczy długość dołączonych zmiennych T1 i T2 ? Tak, choć samodzielne sprawdzenie tego choćby w symulatorze zajęło by Ci 60 sekund ;-) Oczywiście mowa tutaj o zmiennej Command, która, zakładam, jest stringiem.
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...
jak zmienną cool2 dam na byte to kompilator wywala błąd i drze się o stringi :D
Można to tak zrobić: [syntax=basic4gl]Dim Command As String * 4 , Bajty_command(5) As Byte At Command Overlay Printbin Bajty_command(1) ; Bajty_command(2) ; Bajty_command(3) ; Bajty_command(4) ; Bajty_command(5)[/syntax]
Czytaj helpa od Bascoma tam znajdziesz coś takiego jak polecenia val,mid itp...
Witam Jak użyję kodu, czyli podam "na sztywno". Dim D1 As String * 8 Dim D2 As String * 8 Dim G as Byte D1 = "pwm1:050" D2 = Mid(d1 , 6 , 3) ' wyciągnięcie liczby 050 G = Val(d2) ' usunięcie 0 otrzymuję wynik G = 50, czyli wszystko OK, natomiast nie udaje mi się zmusić programu do współpracy z stringiem E
Bo fusing robi stringa proszę szanownego kolegi:) To nie tędy droga...PS może nie zaokrąglanie a histereza?:) Wiem właśnie. I dla tego takie głupoty wychodziły. Ale gdy dam dodatkową zmienną string i tak "zfusuje" wartość temperatury a następnie ponownie przepiszę ją do zmiennej single procedurą Val to ponownie zamiast xx.xx mam xx.xxxxxxxxx. A = Fusing...
Z procka, z tego co wiem, to nie. Mozesz kupic sobie EEPROM z identyfikatorem unikalnym np. [url=http://ww1.microchip.com/downloads/... Mozesz sobie tez podlaczyc scalak o podobnej funkcjonalnosci na 1wire (sa takie). Dla pocieszenia powiem, że większość nowych ARMów ma unikalne serial numbery w krzemie ;]
Motam się znowu okrutnie z uartami. Mam dwa urządzenia i chcę aby w każdym nadawanie i odbieranie chodziło w przerwaniach. Urządzenia A odpytuje cyklicznie co kilka sekund urządzenie B. Całe odpytywanie polega na tym że: Moduł A wysyła poleceniem: Print #6 , "RED" ; chr(13) ; zapytanie o treści "RED" i na to zapytanie urządzenie B...
Czytaj w helpie na temat: left, mid, right
Przekonwertować na dane liczbowe. Dodać i ponownie przekonwertować na dane znakowe. Funkcje: STR(), VAL().
Witam Postanowiłem nauczyć się wykorzystywać funkcji w swoich programach. Na początek chciałem przerobić opanowaną jakiś czas temu obsługę układu DS1307 . Nie wiem czemu, ale wartości na lcd dochodzą do 59 i program staje, procesor się nie zawiesza, po prostu wartość 59 zamarza na wyświetlaczu. Błąd musi być gdzieś w funkcji, w jej wywołaniu, bo zawartość...
Tak często bywa w przypadku programów na Arduino ;) Wkleiłem to żeby było wiadomo jakie stringi przesyła ten program. Prośba do wszystkich. Wskazaliśmy autorowi tematu różne drogi i gotowy przykład w C, ale zadecydował, że zostaje Bascom. Proszę dalej nie ciągnąć tematów innych języków.
Przy okazji mam jeszcze jedno pytanko.Co prawda nie dotyczy lcd ale szkoda zakładać nowy temat. Chodzi o stringi. Otóż każde z moich urządzeń w sieci zdaje masterowi tzw. raport. Otrzymuję taki tekst jako odpowiedź z modułu: <007_(at)_/TIN:H18.0_TOUT:H16.7_POZ:0... i teraz pytanie....
Deklarujesz jakąś zmienną, która "pomieści" znaki wszystkich zmiennych Dim S As String * 200 S=zmienna1 Zamieniasz zmienna2 na stringa zmienna1=str(zmienna2) i sklejasz całość s=s+zmienna1 'lub s=s+" "+zmienna1 s=s+zmienna3 Powinno zadziałać też s=zmienna1+" "+str(zmienna2)+" "+zmienna3
w sub'ie wyciąłem (k), ale wciąż nie działa Nie wiem czy Bascom obsługuje w ogóle to co chcę zrobić. A muszę wysyłaś stringi jako element tablicy bo mam ich trochę, nie chcę deklarować każdego z osobna, poza tym wykorzystyjępętlę do zwiększania k. Wciąż nie działa
Nie ma takiej możliwości - musisz tak zrobić program, aby zmienna była przechowywana. Polecam przejście do następnej transmisji dopiero po sygnale ACK z urządzenia odbierającego.
Nie Enegria_s tylko Energia_s :-) Literówka. Dzięki, aż się sam z siebie zaśmiałem :-)
Proponował bym Ci na początek zrobienie komunikacji między PC a jednym z tych ATMEL-i. Wtedy będziesz wiedział o co chodzi. Mój program dla ATMEGA16 w BASCOM-ie wygląda tak: $crystal = 16000000 ' mam kwarc 16 Mhz $baud = 9600 ' prędkość na RS-ie Config Com1 = Dummy , Parity = None , Stopbits = 1 , Databits = 8 ' konfiguracja portu Echo Off ' nie chcę...
Otóż pisząc program obsługi tablicy reklamowej (na Atmega32 )zupełnie przypadkiem stwierdziłem, że na zmienną typu string np 10 znakową można zapisać np 20 znaków instrukcją Restore i Read. Co więcej to działa w normalnym programie tak jakby ta zmienna miała faktycznie 20 znaków ! Oto przykład sprawdzony na symulatorze: Dim Tekst As String * 10 Dim...
Tak jak w temacie, chce zapisać zmienną typu string 80 znakową do 24c16, czy musze to jakoś konwerterować, czy eeprom "przyjmie" stringa ? Procek to atmega8
Użyj do tego stringów: Dim Address As String *4 Lcdclear Lcdgoxy 1 , 1 Lcdstr Address , 1 , 0 Lcdupdate
Bo pierwszy kod jest logicznie błędny. Do stringa dodawany jest znak entera, a nie powinien. Poza tym skoro i tak czekasz na enter to dlaczego nie użyjesz input ? A tak poza tym to proponuje robić odczyt w przerwaniu. Polega to na odpowiednim skonfigurowaniu "Config serialin" i jego opcji BYTEMATCH.
Program się kompiluje, tylko się wykłada podczas wykonywania polecenia wysyłania przez uart stringa sms, natomiast tego samego stringa bez problemu zapisuje na kartę pamieci SD za pomocą biblioteki "Config_MMC.bas" Dodano po 3 Program zmieniłem tak jak radził kolega wyżej, ale bez oczekiwanego efektu program się kompiluje,ale podczas wykonywania procedury...
kurczę jeszcze gorszy jest ten problem bo okazuje się że wysłanie jakiegoś dłuższego stringa z PCta do Bascoma graniczy z cudem no chyba że znowu wysyłam znak po znaku i robię pomiędzy tymi znakami znowu przerwy po np 200ms czyli tak jakby symuluję wpisywanie znaków jak z klawiatury gdy jestem podłączony terminalem gdzie robię błąd ??? Dodano po 55...
...problem polega na tym że nie wiem jak zapisać te dane, chciałbym je otrzymać binarnie na LCD lub w terminalu po Rsie.Prosze o pomoc. drugie problem. jak uskutecznić w tyum przypadku transmisję przy użyciu instrukcji shift in? atmega dostaje zegar i dane z zewnatrz (wlasnie te 48 bitow). Ad.1 Użyj tablicy i/lub stringa Ad.2 SHIFTIN pin , pclock ,...
Nie wiem czy na pewno w wewnętrznym, ale przy niektórych rezonatorach procesor robi duże błędy i to może być powód a przy 11,0592 mhz nie robi takich błędów w ogóle joy_pl: Jakto robi bledy? Co oznacza, ze procesor robi bledy? Co to za bledy?!? HEYAH: nie znam zabardzo bascoma, ale sprobowalbym zmienna V rowniez jako Word zadeklarowac (tak jak Wart_ac)....
B100=4 ;) tyle to wiem, tylko w tamtym przypadku to było zapisywanie konkretnych pozycji do tablicy, potem konwersja danych z tablicy do stringa, potem do binarki no i nie pamiętam jak to się robiło :) Co do kodu - póki co nie działa. Wyświetla się tylko na pierwszej pozycji wyświetlacza na zmianę znaki * oraz -. Całość nie reaguje na żadne wejścia...
Tak, wiemy o co koledze chodzi, tylko to zadziała jedynie pod warunkiem kiedy mamy pomiar single (na żądanie) albo zawsze z tego samego kanału mux bierzemy pomiary (bo nie wskoczy nigdy pomiar z poprzedniego kanału czy też zakłócony przez muxa - jak dobrze kojarzę przy zmianie kanału atmel zaleca olanie pierwszego wyniku), ale jednocześnie nie wyeliminuje...
Chyba w podobnym temacie umieściłem nawet film i Ty też... Musisz kiedyś zrozumieć dlaczego Single nazywa się Single a Double double :D Nie dość tego AVR nie wspierają sprżetowo pracy na liczbach "z przecinkiem" i lepiej jest i szybciej rozwiązywać takie sprawy na liczbach całkowitych. Są o tym temacie całe wywody i nie ma co się powtarzać bo pewnie...
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...
Ja bym się nie pchał w 8051 bo to zacofane układy. Powstał w 1980 roku. To że dużo osób na nim pisze, nie znaczy że jest dobrym wyjściem. Polecam AVRy, i nie tiny, bo on nic nie ma, tylko od razu ATMega8. Pisanie, że assembler jest trudny, świadczy o jego nieznajomości. Jest to język którego rozumie sam układ, więc musi być najprostszy. Składnia prosta,...
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...
Witam Jako, że mało jest informacji o obsłudze alarmu w układzie zegarowym PCF ( a PCF8563 to już wcale ), to sam spróbowałem coś podziałać. '*********************** Obsługa alarmu Sub Getalarm() I2cstart I2cwbyte 162 I2cwbyte &H09 I2cstart I2cwbyte 163 I2crbyte Al_mm , Ack 'Odczytuje minuty I2crbyte Al_hh , Ack 'Odczytuje godziny I2crbyte Al_dday...
Witam. Jestem nowym użytkownikiem tego forum. Z mikrokontrolerami dopiero zaczynam swoja przygodę. Piszę ponieważ napisałem program wyłącznika schodowego z regulowanym czasem działania i gdy programuje mikrokontroler to nie wykazuje on zadnych oznak zycia. Mikrokontroler ma być sterowany czterema przyciskami. Dwoma przyciskami niestabilnymi typu microswitch...
Witam Mam program do odczytu danych z modułu GPS. Mój problem polega na tym iże nie wiem jak zrobić zabezpieczenie przed pewną sytuacją a mianowicie w przypadku gdy np. odłączę Moduł. Chcę aby w tej sytuacji wyświetlał napis informujący o tym, bo teraz program się zatrzymuje i zawiesza. Do If Ischarwaiting() = 1 Then A = Inkey() If A...
bascom stringi stringi atmega stringi bascom
bezpiecznik termiczny przełącznik landi tomasetto lovato
przedwzmacniacz ne5532 napraw suszarkę electrolux
Ciśnienie sprężania Ford Focus MK3 1.6 TDCi Solarman Smart – nie mogę wyjść z ekranu Rozpocznij ustawienia mojego domu