Nie jestem pewny o co tak naprawdę koledze chodzi. Czy to jakoś pomoże? Dim tekst as eram string*30 Najprostszy sposób na zapis stringa w pamieci eeprom. pozdrawiam Tomek
Nie wiem dokładnie czy bascom dokonuje konwersji typu string na byte w tym może być problem. Spróbuj zmienna nm zadeklarować jako 'byte' może pomoże.
nie o to mi chodziło, co mam zrobić z tym stringiem żeby eeprom mógł go łyknąć ?
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 Po co Ci aż 7 12-bajtowych stringów :?: Wystarczy: Dim Dzientygodnia As String *12 , Nrdnia As Byte ... Dzientygodnia=Lookupstr(Nrdnia,Tabli... '0=Pon, 1=Wtor, ... Lcd Dzientygodnia; ... Tablica: Data "poniedziałek", "wtorek"...
Pokaż co tam wykoncypowałeś :)
Może tak? Dim A As String * 1 Dim B As String * 1 A = "z" B = Chr(a) Cls Locate 1 , 1 Lcd B
Witam Z tego co pamietam to by cokolwiek zapisac i odczytac z epromu nalezy podac tez adres komorki pamieci . W BASCOMIE to wyglada chyba tak : Writeeprom Tekst ,adres a potem odczytujemy Readeeprom Tekst ,adres AT90S2313 ma 128 bajtow pamieci EEPROM, wiec jest 128 komorek jedno-bajtowych komorek pamieci. Stad adres : 0-127 Nie wiem jak wyglada sprawa...
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...
Można użyć zmiennej jako adres, ale trzeba ją podstawić tam gdzie adres. A Ty podstawiasz tam gdzie dana. To po pierwsze. Po drugie zmienna adresu ma być typu Byte/Word/Integer a nie String.
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 ;]
$eeprom A to cio to i po cio?
Tyle że ja chcę zrobić to na zewnętrznym eepromie. Mógłby ktoś napisać mi kawałek kodu, (w bascomie) który zapisywał by zmienną string przez i2c do zew. Eepromu?
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
nie bo do eepromu wpisuje zmienne typu string a "{255}" to jest decymarnie 255
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...
Może źle to opisałem. To ma być pilot, który odczytuje kody z innego pilota, zapisuje je w eepromie, i przyporządkowuje kolejny klawisz. Z tym stringiem to było tak tymczasowo do testów, żeby zmniejszyć długość kodu, a później przerzucę się na eeprom.
zrób sobie string o długości jednej lini. Albo o parę znaków dłuższy. Potem załaduj to do niego poleceniem input. Dodatkowo zrób sobie kolejnego stringa - na dwa znaki i tak: for pomoc=1 to x krotki = mid(dlugi,pomoc,2) zmienna = hexval(krotki) !----tu wysylasz te daną dalej incr pomoc next pomoc i powinno działać
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
witam! chce zrobić zapis do pamićcie eeprom 24c512 "podobno są takie" Chodzi konkretnie o to aby zapisywać ciąg znaków takich jak: R260120071330100 na końcu tego stringu będzie znak powortu karetki enter Z260120071345100 na koncu tego stringu będzie znak powortu karetki enter ale ten enter nie jest tak ważny jak to żeby mi te dane program napisamy w...
czy ten zapis: Readeeprom Txt , 0 spowoduje że Bascom sobie przeczyta cały text "napis1" ? Być może przeczyta, albo przeczyta z błędem. Unikaj addressu zeroweg dla EEPROM. Nie jest to wada/przyczyna spwodowana przez Bascom, ale 'od dawna' problem z AVR Atmel. na przykład: ................ cls Const Numds = 17 Dim Dispseq(numds) As String *...
1.Wlasciwie to nie wiem, pomylka :D Użyć stringa*6? 2. a)Właściwie to poprostu napisałem dwa bloki i zapomniałem o tym b)Czemu? nie widzę powodu... 3.Poczytam! Dodano po 6 Chyba poprostu zmienię eeprom na 256kb, po "polskiemu" mało o tym jest.
Spróbuj użyć tego sposobu obsługi parametrów zapisywanych w EEPROM (traktujesz je jak zwykłe zmienne): Dim Reserved As Eram String * 8 'Przyzwyczajenie ze starych AVRów - zapobiega(ło) utracie danych z początku obszaru EEPROM :) Dim Zmienna1 As Eram Byte Dim Zmienna2 As Eram String * 8 Dim Zmienna3 As Eram Long Dim Temp as Byte [...]...
Dim zmienna2 As Eram Integer At 10 Dim zmienna3 As Eram Integer At 20 Dim zmienna4 As Eram Integer At 30 Dim zmienna5 As Eram string * 10 At 40 dim zmienna as integer do gosub zapis gosub odczyt loop zapis: zmienna2 = zmienna return odczyt: zmienna=zmienna2 return zapis_text: zmienna5= " czesc " return i analogicznie odwrotnie......... na początek wystarczy,...
... Moze inaczej sie zapytam: Jak zadeklarowac zmienna do wyswietlenia, aby wstawic ja do funckji pisztekst(PSTR("wyswietl cos")) Zamiast "wyswietl cos" chcialbym wstawic zmienna,ktorej wartosc to "wyswietl cos". W ten sposób sie nie da :( Podejrzewam , że niezbyt dokładnie przeczytałeś manuala.Jest tam napisane: #define PSTR...
Czy można używać zmiennych typu Overlay w EEPROM ? Chcę zrobić mniej więcej coś takiego: $eeprom Adres0: Data 0 Smsc: Data "48790998250" $data a potem na ten obszar nałożyć zmienną Dim Smsc As Eram String * 11 at $1 Overlay I odczytywać w programie jak zmienną zamiast używania ReadEeeprom ? Teoretycznie powinno to działać. Po prostu...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Witam ponownie,ma ktoś może jakiś sprawdzony software'owy patent na odczytywanie znaków z eepromu?Cały problem leży w tym aby zamienić znaki string"abcd..." na ascii i odnaleźć w tablicy znaków w eepromie. Napisałem taki kod: Sub Strlcd(byval Chstr As String) 'wpisanie stringa Local A As Word 'zmienna pomocnicza dopasowujaca wartosc znaku ascii...
Zrób tak: Dim Temp As Byte Dim Reserved As Eram String * 8 Dim Zmienna As Eram Byte Dim Status As Eram Byte If Status <> 123 then Reserved = "Reserved" Zmienna = 100 'Ustawienie wartości po programowaniu Status = 123 End If Temp = Zmienna 'Odczyt zmiennej z EEPROM'u do RAM Temp = Temp + 22 'Modyfikacja Zmienna = Temp 'Zapis nowej wartości...
Dodaje kod do zapisu daty i czasu w PCF8563 [syntax=basic4gl] '********************* Funkcja ustawiająca zegar PCF8563 Sub Settime_pcf Ssek = Makebcd(s) 'sekundy Mm = Makebcd(m) 'minuty Hh = Makebcd(h) 'godziny Dday = Makebcd(day) 'dni Wwk = Makebcd(wk) 'dni tygodnia Mmonth = Makebcd(month) 'miesiace Yyear = Makebcd(year) 'lata I2cstart 'warunek startu...
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...
a mozna tak?: Dim A As Byte Dim B As Byte Dim C As String A = 1 B = 84 Do If Adress = 10 and Comand = 1 Then Temp1 = A + 84 Temp2 = B + 84 Read EEPROM C , A to B Cls_lcd Waitus 50 Print C End If If Adress = 10 and Command = 2 Then Temp1 = A - 84 Temp2 = B - 84 Read eeprom C , A to B Cls_lcd waitus 50 Print C End If End ta metoda wydaje mi sie bardziej...
Ja sobie zdaję sprawę z tego, że gdy program się rozbuduje to może dać znać o sobie takie traktowanie zmiennych. Dlatego we właściwym programie zadeklarowałem zmienną tekstową o właściwej długości i kontroluję czy tekst wpisywany czy to z EEPROM czy też z RS232 ma właściwą długość. Nie mam zamiaru wykorzystywać tego dziwnego zachowania w finalnym programie...
mam problem chcialem adresowac zewnetrzna pamiec eeprom komunikacja i2c (twi) sa tam 2 adresy ktore musza miec 8 bitow (1 byte) chcialem zrobic tak gdy adress2 przekroczy 255 to zwiekszy sie adress1 jak to zrobic? myslalem nad zrobieniem jednej zmiennej 16 bitowa (2 byte'y = 1 word) ktora bede dzieli na 2 czesci. ________________________________________...
https://obrazki.elektroda.pl/2807245700_... Witam, Temat odgrzany, i nie mojego autorstwa, ale warty przypomnienia. Potrzebowałem aby pewne urządzenie wystawiało mi do PCta kilka klawiszy klawiatury. Słyszałem już kiedyś o projekcie SWUSB pisanym w jedynym języku który choć trochę znam - Bascom. Zaprojektowałem jednostronną niewielką...
Mam pytanko co do zapisu eeprom . Mam do zapisu cztery zmienne [syntax=basic4gl]'''''''''''''''''''''''... Readeeprom Cena , 1 ' zmienna typu string Readeeprom Waga , 8 'zmienna typu string Readeeprom Z , 16 ' zmienna typu word Readeeprom Przep , 24 ' zmienna typu word ''''''''''''''''''''''''''''''''zapis...
No tak, ale błąd wywala mi właśnie w momencie gdy z tej zmiennej robię stałą ...a tak poważniej to na screenie widać, że błąd jest w liniach 479 i 711 więc tam należy szukać. błąd linii 479 po zmianie zmiennej Lista_znakow na stałą wskazuje na te linie. Linia 711 to ten sam błąd bo zrobiłem w kodzie dwie prawie identyczne procedury tyle że ta druga...
Pozostaje więc wykorzystanie sprzętowego spi lub i2c i dołożenie zewnętrznej pamięci eeprom o ile wewnętrzny jest zbyt mały Ma to sens. Taki 24c256 za 3 zł (32kB) warto zastosować dla układu z LCD gdzie będzie trzeba zrealizować dużo komunikatów. W ten sposób łatwo też przygotować wersję językową (jeden eeprom dla PL, drugi dla ENG i odwoływanie się...
Po kiego grzyba Ci te "hexvalue" skoro ta funkcja (jak nazwa wskazuje) zamienia liczbę w String :?: :arrow: zumek : Z HEXVAL() Przeznaczenie: Zamienia tekstową reprezentacje liczby szesnastkowej na odpowiadającą jej wartość. Wiec zamienia tekst na liczbę, odwrotnie niż pomyślałeś. Inna sprawa, to czy jest ona potrzebna przy zapisie do EEPROM w tym...
Witam, a możecie pisać trochę jaśniej? Ja dopiero zaczynam nie nie wszystko rozumiem. Dlaczego jak w HyperTerminalu wybiorę opcję Wyślij plik tekstowy , to nie wysyła całości (czyli test zapisu pamieci eeprom prze rs232) tylko pierwsze 3 znaki, a 4 jakiś dziwny? http://obrazki.elektroda.net/78_12519209... $regfile = "m32def.dat" $crystal...
Ok, już się uporałem: Dim Address As Byte , Command As Byte Dim Str_address As String * 3 Dim Str_command As String * 3 Do Disable Int0 Enable Interrupts Getrc5(address , Command) Command = Command And &B01111111 Call Lcdinit Str_address = Str(address) Str_address = Format(str_address , "" ) Str_command = Str(command)...
Ja sie podepnę, bo też się zacząłem bawić w bascomie AVR i "wyskrobałem" takie coś: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zminnych Dim I As Byte Dim Buffer As String * Maxlen Dim E As Eram String * Maxlen I = 0 Declare Sub Store 'Deklaracje funkcji Declare...
Czuję się powalony na łopaty..... Piotrek ja nie wiedziałem, że do wewnętrznego eeprom-u można tak bezpośrednio zapisać zmienną SINGLE. Ciągle czytałem o konieczności rozbiórki, a nikt do tej pory takiej prostej rzeczy nie napisał.... Nawet w Pomocy BASCOM-a (tłumaczenie na polski) tego nie ma, ba nawet w książkach na temat AVR "tysz ni ma".... To jest...
Inne napisy umieściłem w eeprom, zyskałem jakieś 400 bajtów miejsca. Z nazwami procków kombinowałem już na wszystkie sposoby, no i niestety nie zrobiłem tego... każdy jeden wpis "Print "napis"" kosztuje mnie 18 bajtów (w tym 9 bajtów sam napis), gdy np chcę przepisywać napisy do zmiennej string i na końcu wyświetlać - wychodzi po 20 bajtów na każdy...
Witam. Niestety to nie działa, gdy inkrementacja zmiennych "przesunięcie1 i 2" się zeruje po osiągnięciu len(x) w warunku if...then w głównej pętli, cały napis z Bufor_text zanika i tworzy się na nowo. widoczne na nagraniu: na Lcd pierwszy wiersz jest bufor_text + " "+ zmienna(przesunięcie) 1022010 const gdyż nie są wpisywane w moim projekcie na sztywno...
Niestety nic nie da rady już zrobić - kod po skompilowaniu zajmuje 2046 bajtów. Widać że nazwy są poskracane. Bascom nie oszczędza drogocennej pamięci :( Musiałem się mocno natrudzić aby upchnąć te wszystkie nazwy rozkazów i pilotów. Standardowo napisane zajmowało z 1kB więcej!Być może zrobię i nadajnik ale potrzeba 4kB flusha. Gdybyś odrobinę skomplikował...
...Czy istnieje jakiś sposób, aby ostateczną zmienną 'Ss' (string) zapisać w zmiennej typu Single (lub innej?) aby umozliwic porównanie jej z tą zapisaną w eepromie? A może ktoś zna inną metodę na rozwiązanie tego problemu? Z Twojej wypowiedzi wynika , że nie wiele masz wspólnego z programowaniem uC - ale mniejsza z tym. Zmienna string jest potrzebna...
Witam, jest program który ma za zadanie komunikować uC z PC. Wszystko poprawnie działa o ile procesor jest podłączony do programatora, a dokładnie podłączony jest kabel SCK. Dlaczego nie chce program działać po odłączeniu programatora? Programator zgodny z stk 500v2. Program: $regfile = "m32def.dat" $crystal = 11059200 $baud = 9600 $hwstack...
Nawet jeśli jest tylko dołączone. Odpytywanie następuje co parę sekund a efekt bielenia ekranu mam za każdym razem kiedy nacisnę przycisk w celu załadowania nowego obrazka. A tu raport (wklejam na razie większość gdyż może Wam to coś ułatwi: Report : System_LCD_TOUCH PAD_rs485 Date : 04-17-2010 Time : 13:48:37 Compiler : BASCOM-AVR...
Tu masz przykład odbierania tekstu po RS-232 w Bascomie: [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zmiennych Dim I As Byte Dim Pwm As Integer Dim Cmd As String * 4 Dim Buffer As String * Maxlen Dim E As Eram String * Maxlen I = 0 Config Pinb.2 = Output...
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Program napisany w BASCOM AVR i wyskakujące 3 błędy , mogę wiedzieć dlaczego one wyskakują podczas kompilacji , poniżej zamieszczam kodzik. 'podwójny woltomierz i amperomierz (dwa kanały pomiaru napięcia i dwa kanały pomiaru prądu 'UWAGA _ PONOWNE WGRANIE PROGRAMU SKASUJE WARTOŚCI WSP KOREKCJI Z PAMIECI EPROM '---------------------------------------...
próbowałem tego wcześniej ale program nie generuje przy kompilacji pliku z rozszerzeniem eep jak podglądam w symulatorze zawartość to jest pusta jeśli załaduje na początku dane z deklaracją do epromu na początku programu to w symulatorze mogę sobie podejrzeć zawartość a mnie chodzi aby te zmienne były wpisane podczas pracy programu i w razie zaniku...
Dzięki, śmiga programik - kluczowanie PWM z częstotliwością ~31kHz a wyjście jest na pinie 14, jakby ktoś chciał wiedzieć: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zmiennych Dim I As Byte Dim Cmd As String * 4 Dim Buffer As String * Maxlen Dim E As Eram...
Nie nawet tego nie dodalem do programu ale widze ze mrugania temperatura nie ma wnioskuje to po braku blink on Ja podałem ci procedurę zmiany/ustawienia temperatury zał i wył went. oraz zapisu jej do EEprom (zgodnie z tytułem tematu), tak aby system pamietał jej poprzednie/ostatnie ustawienia na wypadek wyłączenia zasilania. To zabawkowe mruganie nie...
Witam Chciałem zrobić zabezpieczenie przed rozładowaniem akumulatora ( 12V/65Ah ) zasilającego moje halogeny LED nad biurkiem. Woltomierz na PCF8591 działa ok, nawet dodanie warunku określającego reakcję na spadek poniżej ustawionego napięcia również ( chwilowo jest tam tranzystor FET sterujący paskiem LED ). Chciałbym, aby układ po osiągnięciu zbyt...
Zle mnie zrozumieliście Panowie. Nie chodzi mi o sam zapis i odczyt bo to prosta sprawa ale o to, że pamieć składa się z komórek które mają rozmiar 1 Bajta, tak wiec do kazdej komórki można zapisać maksymalną liczbe 256. A ja chce zapisac liczbe typu 17352965 i kiedy to chce zrobić bascom wywala błąd "Value doesn't into BYTE" co jest całkowicie zrozumiałe...
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ść...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Oto zapis i odczyt pamięci 24C32. Odczyt_eeprom zmienna B to kolor piksela i tą zmienna wysyłasz na port DATA w Twoim programie właśnie w tej pętli. Inaczej wygląda zapis tekstu. A jest to tak: [syntax=vbnet]Dim Text As String * 32 Dim Text_do Zapisu(32) As Byte At Text Overlay[/syntax] Trzeba zapisywać bajty a nie litery (STR) Celowo rozmiar zmiennej...
Witam. Walczę z obsługą magistrali I2C łączącej procesor Atmega324p i czujnik DS1624. Chcę zapisać na karcie SD póki co dwa surowe bajty z rejestru temperatury, jednak prawie za każdym razem otrzymuję wynik 255, czyli same jedynki w bajcie. Piszę "prawie", gdyż przy ostatniej próbie z jakiegoś powodu była to liczba 151. Podobny efekt daje próba zapisu...
Teraz mam inny problem. Chcę robić pomiar temperatury i zapisywać na kartę SD. Używam do tego modułu prototypowego tego autora: Ponieważ post dotyczy innego tematu niż oryginalny wątek, temat podzieliłem. Na przyszłość proszę w przypadku napotkania problemów niezwiązanych z oryginalnym tematem postu zakładać nowy wątek. W ten sposób inni będą mogli...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
A może znasz jakiś jeszcze inny sposób (PROSTY) żeby jak najszybciej sprawdzić zmianę stanu na 18 wejściach do uC? Najprościej byłoby zastosowac inny processor np: ATMega48/88/168, które mają PCINT co najmnjej na 20 'użytecznych' pinach wejściowych. W subrutynie do każdego PCINT wstawisz instrukcje wyłączającą przekaźnik na którymś tam porcie wyjściowym,...
Witam, właśnie jestem w trakcie zabawy z GPSem, wstępny program udało mi się przygotować na podstawie tego co znalazłem w internecie ale mam problemy: 1. nie mogę poprawnie wydzielić prędkości z danych odbieranych przez GPS: $GPVTG,165.48,T,,M,0.03,N, 0.06 ,K,A*37 prędkość nie zaczyna i kończy się zawsze w tych samych miejscach, odczytując Case 24 To...
Witam robie stacje lutowniczą z atmegą8 napisałem taki kod w bascomie, czy bardziej doświadczeni koledzy mogli by na nieo zerknąć i wytknąć mi poważne błędy jakie popełniłem. Temperatura z termopary jest brana za pomoca mac6675 i spi, uśpienie powinno się włączyć po minucie leżenia kolby nieruszanej i zmniejszyć ustawiona temp do 160 stopni, po podniesieniu...
Ok wklejam kod: $crystal = 8000000 $lib "mcsbyte.lbx" $lib "i2c_twi.lbx" $regfile = "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.2 , Rs = Portb.3 $baud = 9600 Config Serialin = Buffered , Size = 15 $eeprom Data 0 , 22 , 22 , 22 , 0 $data '$prog &HFC , &HE2 , &HD9...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
P_min = 509 ' ustawienie wartości P_min P_max = 510 ' ustawienie wartości P_max Intuicja podpowiada mi, że chodzi o zamianę int na string, dla jakiegoś UI. Niestety nie znam bascoma, nie podpowiem.
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...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
Witam, mam problem z kompilacją kodu sprzed 10-ciu lat, najnowszy bascom. problem jest z rejestrami: Ocr0b = &H80 Ocr0a = &H80 proszę o wskazanie przyczyny. [code][syntax=vbnet] $projecttime = 0 $regfile = "m32def.dat" $crystal = 16000000 ' gdy Baro_idle=0 nie widzi adresu 238 ($EE) ' gdy Baro_idle=1 widzi adres 238 ($EE) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!....
Witam. Czasami komórka pamięci o adresie 0 może zostać nadpisana przy rozbudowie programu, lepiej używaj pierwszego adresu o nr.1 do eepromu. W sprawdzaniu stanu przycisku dałeś wait2 (2s), to nie za długi czas?, standardowo aby wyeliminować drgania zestyków wystarczy czas 20-30 mS. Jeszcze jedna uwaga, pisząc bardziej rozbudowane programy unikaj polecenia...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
Udało mi się coś zrobić i nawet działa, ale: -jak uruchamiam układ powinno pisać w dolnej linii Ustaw godzine , a jest jak na fotce niżej, -ustawianie godziny - jak trzymam przycisk w pilocie cały czas wysyła sygnał, a układ odbiera kod raz na 3 sek - wcześniej było 250ms (tak jak jest zdefiniowane w programie). http://obrazki.elektroda.net/19_12181272...
Mam sobie niżej pokazany programik w bascomie ale niestety nie wiem jak dopisać obsługę pilota :| Programik jest na 89c4051 ;) $large Config Lcd = 16 * 2 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Sda = P3.1 Config Scl = P3.0 Dim Licz As Byte Dim I As Byte Dim Nast(5) As Byte Dim St As String * 7 Dim W_reg As Integer Dim Wielk1...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Znalazłem coś takiego : 'name : 'purpose : test for M2560 support 'micro : Mega2560 'suited for demo : yes 'commercial addon needed : no '---------------------------------------... $regfile = "m2560def.dat" ' specify the used micro $crystal = 8000000 ' used crystal frequency...
$regfile = "m128def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 128 $swstack = 128 $framesize = 128 Config Portb.5 = Output Config Portg.0 = Input Portg.0 = 0 Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down Enable Compare1a Enable Interrupts Compare1a = 255 '#######################################...
Po wlaczeniu funkcji MUTE na calym wyswietlaczu zostaje wyswietlony tan napis kilkakrotnie. Czy mozna zmienic jakos kod programu aby ten napis byl wyswietlony tylko raz i na srodku?? Kod: $large Config Lcd = 16 * 2 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Sda = P3.1 Config Scl = P3.0 Dim Licz As Byte Dim I As Byte Dim Nast(5) As Byte...
Wiem że zżera. Ale nie wiem w jaki inny sposób mógłbym to rozwiązać.Pewnie , lepsze było by jakieś bezpośrednie ładowanie grafiki na LCD. W przypadku "showpic" nie ma problemu ale znowu grafika musi siedzieć albo bezpośrednio w atmedze albo w zewnętrznym eepromie co w obu tych przypadkach nie ma miejsca bytu. Zapewne C lub asm poprawiło by wyświetlanie...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
Wrzucam nową wersję programu bez użycia biblioteki LS020. Program jest przeróbką oscyloskopu autora Dirk Milewski. Znaki 5x8 są przechowywane w pamięci EEPROM -> polecam odpowiednio zaprogramować bit EESAVE. Wrzucam jedną z moich poprzednich wersji dla podniesienia apetytu. W prezentowanej wersji zdjęcia nie wymagają obrócenia o 90 stopni oraz wymagają...
moje pytanie odnosilo sie do Bascoma i pamieci typu 24cxx a typ danej to liczba calkowita typu long. Co do zapisu w kolejnosci to w jaki sposob mozna nastepnie rozkodowac taka dana jesli zapisze bajt po bajcie, a nastepnie odczytam w taki sposob to jak skleic te dane zeby otrzymac poczatkowa liczbe np drugi bajt ma postac 01110011 to odczyta to jako...
Witam ponownie Poprawiłem to zapisywanie do expanderów, troszkę lektury HELP-a i doszedłem do: deklaracja: Declare Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) a tu podprogram: 'podprogram obslugi ukladow PCF8574 Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) I2cstart I2cwbyte Kosc I2cwbyte Ex I2cstop Return End Sub i jego...
Witam Znalazłem taki projekt: 'Ansteuerung für das Siemens-Display S65 mit der Anfangsnummer LS020... ' by Dirk Milewski (c) 2006 - www.comwebnet.de 'Pinbelegung, Rückseite Display, Anschluss auf linker Seite 'Auflistung von oben nach unten 'RS C0 'Reset D7 'CS C2 'CLK C4 'Dat C6 'Vcc 3 Volt (max. 3.3 Volt, min. etwa 2.4 Volt) 'GND 'Vdigital...
-------------serdecznie dziekuje za pomoc,podpowiedzi! i prosze o wyrozumialosć ----------- wklejam caly kod (napisany w Bascomie) i bylbym wdzieczny za pomoc w przeanalizowaniu jego dzialania, czesc kodu odpowiedzialna za dzialanie przetwornikow AC i sterowanie wyswietlaczem LCD nie istotna dla mnie w tym momencie ----------------------------------------...
Hej, Próbuję zrobić menu ustawień swojego sterownika i kompletnie mi to nie wychodzi :( Menu ma być sterowane pilotem NEC (pilot działa poprawnie) Jak ja to sobie wymyśliłem: 1. ekran główny (tu jest OK) - przycisk strzałka w lewo przełącza ekran na zegar "MAXI" - przycisk strzałka w prawo przełącza na ekran główny - przycisk strzałka w górę blokuje...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: http://mikrokontrolery.blogspot.com/2011... Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM....
Witam, Uczę się bascoma, i stworzyłem sobie programik z zegarkiem i termometrem, lecz na LCD temperatura miga mi na przemian z godziną oto kod: [syntax=basic4gl] 'definicja użytego procesora $regfile "m32def.dat" 'prędkość taktowania 16MHz $crystal = 16000000 $eeprom 'piny podłączenia LCD i definicja jaki LCD | 16x2 Config Lcdpin = Pin , Rs = Portb.0...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
Witam! Program działa poprawnie. Testowałem z 3-4 programy do obsługi tego czujnika ciśnienia. Wyniki są złe, porównaniem z innym ciśnieniomierzem zaniża o 30..40hPa. Zasilanie BMP180 3.3V, ATMEGA32, 8MHz. Czy ktoś się spotkał z takim problemem? [syntax=vbnet] '----------------------- '| Test modułu BMP085 | '----------------------- 'Uwaga: pomiar jest...
Witam, Jak można zainicjować dwa odrębne pola tekstowe tak aby wyświetlały dwie zmienne wysłane przez UART -Atmegi kod VB [syntax=basic4gl] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO Imports System.Data Public Class Form1 Public comm_stat...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
Program napisany jest w Bascom. Delay nie ma w ogóle. Program napisany chaotycznie, ale działał ok dopóki nie dopisałem obsługi DCF77. Gdy przyjdzie odpowiednia godzina, dioda IR ma wysłać kod do odbiornika. Wtedy właśnie procesor zwalnia. Sekundy wtedy "idą" co 3 no i dźwięk ma zwolnione tempo. [syntax=vbnet] $regfile = "m32def.dat" $crystal = 8000000...
string eeprom bascom string bascom eeprom eeprom string
wiercenie betonie renault podtrzymanie zasilania podłączenie falownika pompa
lodówka whirlpool pokrętło renault mascott
Komputer wyłącza się po wymianie Intel i5-7400 na i5-9400 Jak zbudować generator sinusoidalny na tranzystorach?