Spróbuj do każdej wartości dodać znak % na końcu: [syntax=basic4gl]Data 7848% , 7748% , 7652% , 7559% , 7468% , 7380% , 7294% , 7211% , 7129% , 7048% [/syntax]
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...
Takie coś działa zawsze: Niekoniecznie. Ale generalnie sprawdzilem tez na gcc "pc-towym" i tez tak jest - ale trzeba jednoznacznie rzutować na unsigned (podejrzewam że wystarczy aby zmienna po lewej stronie byla unsigned ale zapomnialem sprawdzić). Tak ze podejrzewam ze mozemy przyjać ze operatory bitowe w gcc sa bitowymi bez wzgledu na typ integera.
Może zbyt szybko chcesz odczytać liczbe z eeprom. Wydłuż czas od zapisu do odczytu. Zapisanie w eeprom najlepiej to 10mS.
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
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...
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ą...
Nie za bardzo mi to wychodzi.. powiedziałbym, że nawet wcale :( uint8_t adr __attribute__((section(".eeprom"))); (...) eeprom_write_byte(&adr, zm); i zm=eeprom_read_byte(&adr); -dziala, jednak zalezalo mi na nieco wiekszej wartosci
przeanalizuj sobie dobrze ten kdzik poniżej bo on jest dobrze napisany - naprawdę ;) ja wprawdzie kiedyś przy okazju swojej wytrawiarki też zrobiłem sterowanie w Bascomie 2 odbiorników przy 75 krokach ale dałoby radę więcej kroków i jeszcze kilka odbiorników. Z tym, że już nie pamiętam dokładnie zagadnienia więc trudno mi się teraz znowu w to wgryzać....
https://obrazki.elektroda.pl/8545401100_... Zapraszam na drugą część przygody z płytką Wemos D1 ESP8266 i czujnikiem temperatury/wilgotności DHT11. W tej części rozwinę swój program o zapis wyników w pamięci Flash ESP8226, wykorzystam do tego bibliotekę o wdzięcznej nazwie EEPROM . Dlaczego klasa do zapisu we Flash nazywa się tutaj...
Witajcie. Napisałem programik zliczający energię w kWh. Super działa do czasu wyłaczenia z prądu - wtedy się resetuje i od nowa prawidłowo nalicza. Są wbudowane funkcje w eeprom.h które próbuję zmusić do działania i nic z tego nie wychodzi - ciągle kompilator wywala błędy. Zapisywanie do EEprom chcę zrobić funkcją eeprom_write_float ../main.c:387:5:...
Pisze sobie program i mam problem z jedną sprawą, niby trywialną bo chodzi o przyciski. Na pewnym etapie program ma zapisać wartości z ADC do eepromu po zwolnieniu przycisku (sygnał z przycisku pochodzi z transoptora), więc musi to byc jednorazowa pewna reakcja. Przyznam, że dopiero niedawno wziałem sie z programowanie i mam jeszcze pewne problemy nawet...
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,...
Witam Program to termostat który wyświetla dane na wyświetlaczach 7 segmentowych LED i problem polega na tym, że wyświetlacze zaczynają migotać gdy dołożę zapis ustawianej zmiennej do eeprom. Pętla główna [syntax=basic4gl]Do If F4ms = 1 Then Reset F4ms If Ust = 0 Then Wysw = T Else Wysw = Tu Gosub Wyswietl_zmierz End If If F100ms = 1 Then Reset F100ms...
Witam Chciałbym zapisywać liczby z zakresu 200 - 400 w pamięci EEPROM 24C02. Mam zestaw EVB4.3 i tam pamięć ma nogi A1, A2 do +5V, A0 do GND. Na początek chciałem ustalić, czy dobrze obliczyłem adres - korzystając z Datasheet'a - strona 11 1 0 1 0 A2 A1 A0 R/W R/W R- 0, W -1 1 0 1 0 1 1 0 0 odczyt 172 1 0 1 0 1 1 0 1 zapis 173 Czy organizacja pamięci...
Witam, dzisiaj zabrałem się za zabawę z pamięcią EEPROM. Pierwszy z problemów jaki napotkałem to adresowanie pamięci EEPROM. Znalazłem w internecie 2 polecenia które mnie interesują: eeprom_write_byte (adres, zmienna); x = eeprom_read_byte (adres); Problem w tym, że jak zrobię tak jak podano w tym wątku: http://www.elektroda.pl/rtvforum/topic18...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Witam serdecznie Jest to pojekt z tego linku: http://www.elektroda.pl/rtvforum/topic11... I stamtąd też pochodzi kod, zmodyfikowałem jedynie maksymalną temperaturę zadaną z 30 do 99. [syntax=vbnet] '***************************************... '#######################################... '# # '# Autor: klops_mops...
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...
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...
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ś...
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,...
"Too many arguments" angielski na tyle znam, że nie potrzebowałem translatora na to wyrażenie, jednak fakt, nie znam opisu tej biblioteki ;/ Jeszcze jedno - jak zostawiłem "block" program się kompiluje i niby jest ok. W symulatorze eeprom_write_block(&i, &i_ee, sizeof(i)); ta linia zapisuje do pamięci, jednak jak program wróci...
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...
Jakby co to całość programu znajduje się $regfile = "2313DEF.dat" $crystal = 10000000 Dim Eaddress As Eram Byte At 2 'adres pilota Rc5, zosatał umieszczony pod adresem 2 gdyż z doswiadczenia wiem, że komórki 0 i 1(szczególnie 0) pamięci EEPROM potrafią się skasować przy nagłych skokach napięcia zasilania Dim Epamiec(16) As...
Witam. Zbudowałem urządzenie z wykorzystaniem atmega32 jest w nim ok 2kb kodu napisanego w bascom. Urządzenie wykonuje cykl pracy bazując na kilku zmiennych odczytanych z eeprom wewnętrznego. Maszyna posiada licznik cykli i za każdym razem przy 17 cyklu wyskakują na wyświetlaczu krzaki a po następnym atmega sie resetuje. Wykluczam tu zakłócenia - układ...
Dodaje poprawnie listing programu. [syntax=basic4gl] 'OSTATNIE ZMIANY 08,10,2014 'Problem z blednie wysylanymi danymi 'Problem z wylaczaniem sie sterownika $regfile = "m32def.dat" $crystal = 7372800 $baud = 19200 $include "Config_MMC.bas" $include "CONFIG_AVR-DOS.Bas" $hwstack = 128 $swstack = 128 $framesize = 128 '**************KONFIGURACJA LCD*****************...
Już sobie poradziłem z tym, przekaźnikiem. I mam jeszcze jedno pytanie, chciałbym zrobić tak, że: w trybie MANUAL jeśli temperatura przekroczy 80'C to automatycznie włączy się przekaźnik pompy, a wyłączy przekaźnik elektrozaworu. Bo jak zrobię warunek na te 80'C i gdy przy 80 wyłączy elektrozawór to zaś warunek płomienia go co sekundę załącza a ten...
Witam. Jak zwykle kiedy nie mogę sobie z czymś poradzić muszę zaczerpnąć porady na forum. Tak jest i tym razem. Otóż zbudowałem sterownik co który między innymi steruje też zaworem c.w.u. Zaworem "kręci" silnik dc a za rozpoznawanie pozycji odpowiadają dwie krańcówki mechaniczne zwierające do masy. Silnik ma hamulec który po odłączeniu zasilania zwiera...
Oczywiście to że się poddałem było żarcikiem primaaprilisowym ;-) Dziękuję za wskazówki odnośnie roku przestępnego itp. póki co ich nie zastosowałem, wrócę do tematu po stworzeniu "rdzenia" programu. Mało miałem ostatnio czasu, ale zoptymalizowałem trochę kod dodając procedury. Dodałem w menu opcję wyboru czy programujemy zegar czy już gotowe nastawy...
Poniżej kod sterownika: $regfile = "m8535.DAT" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.3 , Db6 = Portc.2 , Db7 = Portc.1 , E = Portc.5 , Rs = Portc.6 Config Lcd = 20 * 2 'Sterownik pieca C.O. 'zależności: 'Tp < Tn & Tp > 20st.C to zal. PK1 'Tp > 20st.C to zał. PK2 'Tb < Tp to zał. PK3 'Tk > Tb o dT1 pompa...
Zbudowałem układ, który mierzy temp. z trzech ds18b20 i wyświetla na lcd. Problem zaczyna się gdy włączę przerwania od timera0 (który tylko w tle odmierza sobie odcinki czasu po 8ms), a mianowicie mierzona temperatura jest nie prawidłowa a później zaczyna się krzaczyć lcd. Ma to być sterownik pieca CO więc potrzebuję odliczać krótkie odcinki czasu na...
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...
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...
Witam Prosilbym o pomoc ludzi znajacych sie na programowaniu. Mam przedwzmacniacz i w procesorze sa wolne 2 wyjscia. Pod jedno chcialbym podlaczyc odbiornik podczerwieni zeby moc sterowac wzmacniaczem z pilota a pod drugie przekaznik ktory zalaczal by glowne trafo w wzmacniaczu. Prosilbym o odpowiednie zmodyfikowanie schematu i programu do sterowania....
Witam serdecznie. Mam mały problem z zapisem/odczytem eepromu. Przykładowy kod: temp_dol_k1 = eeprom_read_byte(1); ............. ............. ............. eeprom_write_byte(1,temp_dol_k1)... Niby wszystko ok ale kompilator mowie że: ../cos.c:2054: warning: passing argument 1 of '__eerd_byte_m32' makes pointer from integer...
A może skorzystasz z biblioteki eeprom.h? Jest tam procedura eeprom_write_byte (uint8_t *addr, uint8_t val); - do zapisu [nie rozumiem tylko dlaczego adres jest 8-bitowy - przecież np. ATmega8 ma 512 bajtów EEPROMU...] oraz uint8_t eeprom_read_byte (const uint8_t *addr); - do odczytu bajtu. (Jest też fajna procedurka eeprom_read_word(..) / eeprom_write_word(..)...
Mała poprawka zwykły procek AT98c2051 i zapis do pamięci AT 24c04 zmiennej typu integer (temperatura) Teraz chyba jest dobrze Proszę o pomoc :cry:
Nie ma tam oddzielnej funkcji do zapisu, wszystko robi obsługa żądania http. Jak już pisałem i jest w dokumentacji: conf.handleFormRequest(&server); Spróbuj w ramach ćwiczenia dodać sobie pole o nazwie "robo" typ liczba całkowita (odpowiedni INTEGER) zobacz czy ci się pojawi na stronie, zmień ją z przeglądarki, zapisz, wyłącz wszytko, włącz i zobacz...
Bardzo przepraszam za odkopywanie tematu. Ale mam pytanie Czy tak samo można robić ze zmiennymi single -> integer i odwrotnie. Czy konieczne jest do tego typu operacji angażowanie kolejnej zmiennej ? Czy istnieje inny sposób ?
Udało mi się w przerwie świątecznej posiedzieć trochę nad radyjkiem. Projekt wciąga :) - dołożyłem czcionkę DotMatrix - edytowałem plik BDF czcionki Spleen tak aby mieć polskie litery i przekonwertować go na format U82G - w załączniku gdyby ktoś chciał sobie dodać Co prawda w zakresie 33-255 da się wkodować tylko ISO-8859-2 i Windows-1250 ale zawsze...
Wcześniej zapodałem o zapisie ale to chodzi o odczyt z pamięci, przepraszam za pomyłkę. Podam całą procedurę odczytu z eeprom, jak powinna wyglądać: ' procedura odczytu Sub Odczyt(adres As Integer , Wartosc As Byte) I2cstart I2cwbyte Adres_upz I2cwbyte Adres I2cstart I2cwbyte Adres_upo I2crbyte Wartosc , 9 I2cstop Waitms 20 End Sub
Cze ! Nie widzę potrzeby stosowania tablic w tym projekcie. Wszystko da się ładnie upchać w pętle For...Next. Co do obliczania adresu w EEPROM to też jest bardzo prosty sposób: nrobrazka=0 For polowka=0 to 1 'ustaw polowka LCD For strona=0 to 7 'ustaw strona LCD For kolumna=0 to 63 'ustaw kolumna LCD adresEEPROM=nrobrazka*1024+polowka*512+s...
Tak zgadza się tylko jak szukałem materiałów to trafiłem na A1. ________________________________________... Witam problem z zapisem zmiennej do pamięci EEprom typu string lub innej zmiennej rozwiązałem tak: 'Parametr opcjonalny AT pozwala na umieszczenie zmiennej 'w ściśle określonej komórce pamięci lub rejestrze. 'Gdyby...
Cześć Temat wraca jak bumerang, chociaż mój problem polega raczej na brakach w C. Ale do rzeczy. Zapisuję i odczytuje dane z pamięci EEPROM. Wszystko działa. Ale ponieważ nie lubię warning-ów, to próbuję je wyczyścić. Są takie linijki w programie do odczytu kolejnych komórek z pamięci EEPROM i wrzucanie ich do odpowiednich zmiennych: [syntax=c] volatile...
Niestety - chyba wszystkiego nie zrozumiałem. To mój kod (wycinek) [syntax=c]float sredn = 0.5; // średnica drutu 0.25 - 1.25 float *wsk_sredn = &sredn; uint8_t *w8_sredn; w8_sredn=(uint8_t*) &sredn; Tu ERROR Tak mam zamiar kopiować do EEPROMu for(int n=0;n<4;n++) { EEPROM_write((10+r),(w8_sredn+n)); r++; } [/syntax] Lecz kompilator wyrzuca...
Sprytnie poradziles sobie z laczeniem 2 bajtow w calosc ... Jeśli masz na myśli tę ... Function Ile_wpisow() As Byte Local Ids As Integer Local High_adr As Byte , Low_adr As Byte Readeeprom High_adr , 1 Readeeprom Low_adr , 2 If High_adr > 0 Then Ids = High_adr + Low_adr Else Ids = Low_adr End If Ile_wpisow = Ids End Function ... funkcję...
K_o_n_r_a_d, jeżeli masz trochę czasu to przedstaw mi swój sposób zapisu/odczytu danych do/z EEPROM. Z góry dzięki. Ja to robię tak mniej więcej: Dim pomocnicza As single At 700 Dim X As Eram Single At 100 X=pomocnicza 'zapis do eeprom pomocnicza=X 'odczyt z eeprom Zrobiłem już dużo sterowników i innych urządzeń ale jeszcze nigdy nie używałem zmiennych...
Witam! Mam problem z prawidłowym zapisem danych do pamięci 24c32. Poniższy program teoretycznie powinien zapisać dane w 9 kolejnych bajtach, adres jest zwiększany o 10. Ale tak nie jest. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3...
Jak zapisuje się do EEPROMU w Atmedze liczbę typu integer? Zaznaczam, że nie chcę korzystać z gotowych funkcji (eeprom_read_word). Poniższy kod oparty o dokumentacje Atmegi32 bez problemu zapisuje zmienne 8-bitowe. [syntax=c] void ZapisDoEpromu (unsigned int adres, unsigned char dane) { ATOMIC_BLOCK(ATOMIC_FORCEON) { while (EECR & (1<<EEWE));...
układ będzie się buntował, bo zmienna nie ma przypisanej wartości Zmienne typu liczbowego (integery) właściwie nie mają "nie przypisanych wartości", EEPROMowe mają same binarne jedynki, w RAM mają zera Zapisywana zmienna - zawsze liczba dodatnia, całkowita, z przedziału 0 – 65535. W takim założeniu pozbawiasz się wykrycia "nie zainicjowana". Moze warto...
integer eeprom zapis odczyt eeprom zapis eeprom xmega
lexia sterowniki interfejsu selenowy bambino suszarka drugi
reset programowy reset programowy
Volvo XC60 I gen. 2.4 D5 separator oleju i zawór PCV – lokalizacja i opis działania Jimmy JV85 Pro, H8 Pro, H10 Pro – kod F5, przeciążenie silnika, objawy i naprawa