Dzięki za zainteresowanie. Niby to w miarę proste a jednak ... portb=&B00000000 - wcale nie oznacza stanu spoczynkowego "0" dla pinów tego portu. Oznacza to, że piny tego portu są w stanie wysokiej impedancji ( HiZ), możesz to traktowac tak jakby były nie okreśone i bedą reagowc na przypadkowe sygnały pojawiające sie na wejściu, również te powodowane...
Przy zapisie eepromu należy brać pod uwagę że przez 1-5 ms trwa zapis i nic wtedy nie odczytasz/zapiszesz. A tutaj gotowiec: https://github.com/jnk0le/AVR-I2C-libs/b...
Poza tym funkcje Readeeprom i Writeeeprom są chyba niezbędne? Wypróbuj propozycje zmian i sam się przekonasz.
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...
Z tym, że tablice musiałbym wcześniej wpisać w program, a mi chodzi o to, by "uczyć" tego robota danego zadania. Jeśli zmieniłbym odległośc punktu A od B i znowu postawił przeszkode, w którą by robot uderzył, to wtedy ponownie musiałby zapamiętać nową trase. Przy czym jeśli działałbym w obrębie pamięci RAM, kasowałbym ją po prostu resetem zasilania....
Ile zadeklarowałeś HWstack SWstack i Framesize?
http://www.elektroda.pl/rtvforum/topic14...
Próbowałem 200kHz, 100kHz, 50kHz. Za każdym razem efekt ten sam. To może spróbuj zajrzeć do PDF-ka tej pamięci i zainteresuj się mechanizmem PAGE WRITE, bo to on jest źródłem Twoich kłopotów.
Nic to nie zmieni. I tak, i tak liczby będą zapisane w pamęci dokładnie tak samo. p.s Tylko skąd wzięło się to 576?
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]
Stwórz tablicę za pomocą: Dim Zmienna(5) As Byte 'lub Word, Integer, Long, Single, Double... Przed zapisem aktualnej wartości do Zmienna(1), przesuń wartości z 1, 2, 3, 4 o jeden indeks (na 2, 3, 4, 5). Pamiętaj aby zrobić to tak, by nie "zamazać" wartości przy przesuwaniu. Potem zapisujesz aktualną wartość do Zmienna(1) i masz komplet, który...
Jakiś użytkownik też miał z tym kiedyś problem, rozwiązał to w taki sposób: Pinb.0 = 0 ' pin RW Waitms 100 Initlcd Nie sądzę, że jest to potrzebne, gdy pin został skonfigurowany w config lcdpin . Co z tą częstotliwością? W symulatorze raczej jest podany czas wykonywania kodu (sprawdź bez $sim ). Nie podałeś, jaki masz kod, ile się wykonuje na mikrokontrolerze,...
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.
Zerknij do mojego tematu o .[url=http://www.elektroda.pl/rtvforum/t... pogodowym. Zamieściłem tam cały kod obsługi kart SD. Karta może być pusta. Program sam utworzy stosowny plik do którego będzie zapisywał dane. Pozdrawiam.
Powinno być: [syntax=basic4gl]Print #2 , Godziny ; ":" ; Minuty ; " PIEC-" ; Ts ; " BOJLER-" ; Tb[/syntax]
Przy zapisie do EEPROMU w Bascomie nie musisz wyłączać przerwań. Funkcja WRITEEEPROM robi to sama, ale READEEPROM już nie wyłącza przerwań :)
... Adres musi być dobry skoro zapala diody i gasi lecz odczyt daje wynik 255 A czy ja napisałem, że masz zły adres :?: Powtarzam, przed wysłaniem adresu do odczytu, użyj sekwencji START lub REPEAT START.
Program się zawiesi bo na czas zapisu program jest zatrzymywany w pętli oczekującej na zakończenie zapisu (tak robi BASCOM a domyślam się że mówisz o BASCOMowej funkcji zapisującej a nie jakiejś własnej). Kolejne przerwania od Timera będą wywoływane tuż po poprzednim a więc program główny będzie praktycznie stał w miejscu. O zajeżdżaniu pamięci EEPROM...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Dodatkowo w przypadku wystąpienia takiego timeoutu trzeba by obsłużyć jakoś błąd magistrali: http://obrazki.elektroda.pl/2162467700_1...
Witam Do Atmega1284p z szybkością 8 MHz mam podpięte złącze kart SD. Oprócz zapisu mam tam czujniki DS, BME280, DHT22. Do tej pory zapisywałem wszystko w jednym pliku, ale chciałbym to rozdzielić. Dołożyłem zapis do drugiego pliku - działa [syntax=vbnet] '*********************** Obs-uga karty SD Sub Write_to_sd Sd_year = "20" + Str(rok) ' wartosc zmiennej...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Witam Chciałem zapytać, czy możliwa jest zmiana nazwy pliku w którym zapisują się wyniki - np co dziennie inna nazwa pliku ( np. powiązana z datą ) ? Używam PCF8583 i w sumie mógłbym brać informacje z zmiennych dnia i miesiąca lub dokonywać zmiany o 23:59:59. Używam standardowego kodu do zapisu: Sub Write_to_sd() Local Errorcode As Byte ''()...
Przede wszystkim skoro to idzie na dedykowany LCD to wyrzuciłbym te bmp, na PC skonwertowałbym to do gotowego pliku binarnego do wrzucenia prosto na LCD - po co męczyć się z programem, który zrobi dokładnie to samo, ale na mikrokontrolerze?
Z powodu prowadzenia kresek zamiast nazw sieci schemat jest nieczytelny. LED po lewej stronie raczej Ci nie zaświecą przy takim połączeniu. Mnie bardziej niepokoi te 140 mA niż 220, chyba, że liczysz z podświetleniem LCD.
Bascom ma symulator, w którym możesz sobie patrzeć jak ci się zmienna zwiększa. Języki nie przestrzegają ściśle reguł zapisu matematycznego.
Witam Zapisuje na karcie SD współrzędne otrzymane z GPS. Generalnie zapis jest OK, ale jako, że lubię porządek, chciałem zapisywać w podkatalogu rok/miesiąc. Robię to tak: [syntax=basic4gl] Sub Write_to_sd: Sd_month = Str(miesiac) Sd_year = Str(rok) Call Gettime Ciag_gps = Data_pcf + " " + Czas_pcf + " " + La1 + "." + La2 + "," + Lak + " , " + Lo1 +...
Składnia: rezultat = LOW( zmienna ) Przeznaczenie: Zwraca młodszą cześć (bajt MSB) podanej zmiennej. gdzie: rezultatzmienna do której zapisana będzie młodszy bajt zmiennej, zmiennazmienna której młodsza część ma być określona.
Podnieś Bascom do nowszej wersji. Wersję 2078 już spokojnie znajdziesz w sieci. Na 2080 się to kompiluje bez błędów mimo iż program zgłasza kilka ostrzeżeń o dwukrotnej deklaracji tych samych zmiennych itd.. Musisz wiedzieć że AVR-DOS potrzebuje minimum 1500B SRAM i w Mega32 zostaje Ci 500B SRAM. Nie zadeklarowałeś wielkości stosów HW i SW oraz ramki...
Dzięki za odpowiedzi, taki czas jest dla mnie idealny, nawet "potrojony" mnie zadowala :) Teraz pytania bardziej konkretne. Wstępnie będzie to Atmega128, pamięć typu 628512 podłączona zgodnie z helpem bascoma. Wg. dokumentacji, mogę "sprzętowo" obsłużyć 64kb, czy przejdzie taki myk, by podzielić 512kB SRAM na 8 banków i sterując je adresami A16-A18...
Witam. Włącz przerwania, inaczej dane nie wpadną do bufora.
000048 9ADA SBI PORTA,PA2 000049 9ACB SBI PINA,PINA3 Czyli zapis idzie tak jak jest w kodzie BASCOMA. Raz do PORTA a raz do PINA. Czyli BASCOM nie poprawia tego kodu. Oczywiście zapis do PINA nic nie da.
Należy podać ścieżkę dostępu do tych plików. Opcje > ENVIRONMENT > IDE - File location.
Manekinen`s FusebitDoctor
Jeżeli używałbyś Bascom'owego zegara (Config Clock = Soft/User) data i godzina byłyba prawidłowa. Możesz zrobić eksperyment :), zdefiniuj zegar (zostaną dodane zmienne wykorzystywane przez Avrdos'a _sec, _min, _hour, _day, _month i _year) i dodaj podprogram Getdatetime. W podprogramie należy przepisać datę z PCF do zmiennych wykorzystywanych przez Avrdos....
Witam, W urządzeniu kontroluję zanik zasilania głównego (urządzenie jest nadal podtrzymywane zasilaczem buforowym) i w momencie jego zaniku zapisuję kilka zmiennych do wewnętrznego eeproma. Zrealizowałem to tak jak poniżej i wszystko funkcjonuje ok. PYTANIE: Kod znajduje się w pętli głównej - zastanawiam się czy pomiędzy zapisem kolejnych zmiennych...
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
Może coś takiego : Dim Str1 As String * 10 Dim Koniec As Byte Dim Key As Byte Str1 = "" Koniec = 0 Do Key = Waitkey() 'pobieranie znaku, tu z terminala Select Case Key Case 13 : Koniec = 1 ' np. kod ENTER = 13 Case Else : Str1 = Str1 + Chr(key) ' inne znaki dodaje do str1 End Select If Len(str1) = 10 Then Koniec...
...Nawiązując do sugestii kolegi wrzuciłem linijki do programiku i na nieszczęście nawet wyświetlacz lcd przestał wyświetlać, a tylko mruga pierwsza linijka. Nie no , jasnowidzem to nie jestem :D Poza tym , to tylko "pomysł na ..." , a nie gotowiec.Pokaż(załącznik) cały kod , to może cosik się zaradzi :D Piotrek
Hmm... możliwe, nie pamiętam już czy I2Cwbyte nie wystawia po każdym wywołaniu ACK na magistrali, natomiast zapis do tego PCF odbywa sie "bez przerwy" nie ma podziału na 1 i 2 bajt (rozumiany jako ACK na magistrali)
Zjadłeś przedrostki &B przy wartościach bitowych jaki już z niepohamowaną determinacją chcesz takiego zapisu używać.
Z zapisem nie ma problemu. Od wczoraj testuję na tych wartościach i działa bez problemu, ale częstotliwość zapisu nie może być zbyt duża, testowałem co 5 sekund i czasem zgubi jakiś zapis. Przy ustawieniach: $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu programowego $framesize = 128 ' rozmiar ramki i zapisie co 5 sekund też...
I2C slave też jest płatna ( jakieś 10 Euro), ale kiedyś była na płytce o bascomie w EdW i ktoś się podzielił ;-)
A jak to niby ma wykrywać kiedy się urządzenie wyłącza (czyt. odcina zasilanie, tak?) Albo dajesz zasilanie bateryjne i watchdoga + zapis zmiennych i przejście w power down przy wykryciu power failure, albo zapisujesz zmienne co jakiś czas, np. nastawy po zatwierdzeniu przez użytkownika klawiszem.
Są oczywiście takie moduły zespolone z pamięcią. Mozna tam zapisywać i czytac po bajcie, ale można też sekwencyjnie całe łańcuchy i tablice nawet serializatorem. Dwie pierwsze funkcje podpowiem. Wygląda na to ze działaja ;) Możnaby dodać jakieś zabezpieczenia na wypadek braku komunikacji. https://obrazki.elektroda.pl/8549538400_...
Porty L i G należą do rozszerzonych. Przeczytaj rozdział w Helpie Bascoma - Config 1Wire. Skonfiguruj dowolny pin jako 1Wire i dopisz po przecinku - Extended. Powinno się coś zmienić ;)
Witam, zaczynam (chciałem) zabawę z mikrokontrolerami, jednak mam problem którego nie daje rady przeskoczyć. Od razu pisze ze czytałem juz posty z podobnym problemem jednak nigdzie nie znalazłem odpowiedzi. Problem jest następujący: mam programator na LPT oraz płytkę tylko do programowania ATTINY2313. Oprogramowanie to BASCOM-AVR i PonyProg2000, wszystko...
kol. pablo010 przerabiałem sobie ten kod i wywalałem obsługę zegara wpisując stałą wartość. No i istotnie to nie jest do bascoma. Nie używam tego języka i nie posiadam luksusu używania gotowych bibliotek zatem dzięki za kod do analizy ale na nic mi się on zda. Acha nie ja pisałem "czy może się ktoś zlitować" :)
czy w bascomie8051 jest mozliwosc odebrania danych tak aby zapisac je do tablicy w postaci bitowej? nie musi byc to zapisanie do tablicy, moze to byc string, ale zeby dane bylo w postaci ciagu 0 i 1 Można to zrobic , na w/w sposoby i jeszcze parę innych . Piotrek PS Wysil sie i opisz problem dokładniej :D
mala szansa aby w kilku postach zrobic Ci wyklad ale jak masz 12 linii adresowych tj A0-A11 to wszystkie koncowki musza byc podlaczone w Twoim przypadku najlepiej do portow obu Atmeg czyli w praktyce 2 porty do tego zuzyjesz a 3 do danych jesli chcesz wykorzystac pojedyncze piny danych to tez musisz "zuzyc wszystkie 12 adresow , bez bramek czy dodatkowych...
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...
Podepnę się do tematu. Mam takie same problemy z zapisem powyżej 128k w atmega 2560 (Bascom). Zapis niby przebiega poprawnie ale weryfikacja zawsze daje błąd.
Może być Timer0 inaczej skonfigórowany np: 8000000/256 = 31250Hz Load Timer0, 250 'zapis w Bascom ' TCNT0 = 6 'doliczy 250 31250/250 = 125Hz = 8ms ' występuje przerwanie Timer0 jest ośmio bitowy, więc może zliczyć od 0 do 255 czyli 256 impulsów. W przerwaniu wpisujesz to co ma być wykonane. 256 - prescaler 250 - dodatkowe zliczanie wyprzedził mnie bart-projects
Małe pytanko a obsługa wyświetlania multipleksowanego jest wykonana w przerwaniu czy w pętli programu po ustawianiu zmiennej F4ms? EDIT: Nie rozumiem, zapis do eepromu wykonuje się 20 razy (zmienna Autoret = 20)
Dołączam gotowy projekt komunikacji avr z zew. pamięcią eeprom. Mam nadzieję że umiejętnie go wykorzystasz.
Nie, ale też link jaki podałeś nie powinien być traktowany jako wiarygodne źródło wiedzy.
BASCOM 8051: //ZAPIS I2Cstart I2Cwbyte 160 //adres pamieci na magistrali dla zapisu I2Cwbyte //H adres I2Cwbyte //L adres I2Cwbyte(7); //przykladowy bajt danych I2C_stop(); //ODCZYT I2Cstart I2Cwbyte //adres pamieci na magistrali dla zapisu I2Cwbyte //H adres I2Cwbyte //L adres I2Cstart I2Cwbyte 161 //adres pamieci na magistrali dla...
Witam, ilość odczytów nie ma znaczenia, mam układ gdzie 8 komórek 24C02 jest odczytywane cyklicznie co kilka milisekund w termometrze od ponad 7 lat i jeszcze nic się nie zmieniło. Nigdy nie spotkałem się z informacją o ilości cykli odczytu a jedynie zapisu do EEprom.
Na schemacie masz nie podłączony R/W. Dla zapisu powinien być do masy.
Mój błąd to było w EP 12.2007, 1.2008 2.2008 i 3.2008. Zobacz tu: http://Link... i tu: http://elm-chan.org/docs/mmc/mmc_e.html W opisie jest błąd, przy zapisie do kraty nie można wysłać dowolnego bajtu tylko chyba FE (ja nie pisałem obsługi więc nie wiem dokładnie ale jakiś bug był właśnie przy zapisie) Link usunąłem.
Witam wszystkich, Mam układ, który po I2C zapisuje mi do pamięci 24c256 16 bajtów jeden po drugim. Robi tak co 3 minuty, procedura wygląda w ten sposób, że odczytuje adres zapisany w 4 i 5 komórce, zwiększa go o 1 po każdym zapisie a potem zapisuje do komórki 4 i 5." W komórce 1 i 2 zapisana jest ilość pozycji, pod koniec procedury zapiszdane wartość...
Żaden ;).
Czas zapisu Eepromu wynosi typowo 2,5-4ms. W tym czasie nie powinny byc dokonywane zadne inne operacje na pamieci Eeprom. Informacja o zakonczonym zapisie znajduje sie w rejestrze Eecr (bit 1). Wyzerowanie tego bitu = koniec zapisu Po instrukcji writeeeprom mozesz dac polecenie: bitwait Eecr.1, reset wtedy program bedzie zatrzymywany jedynie na czas...
Nikt nic nie wie??
Witam. Uruchomiłem moduł GPS, poziomy napięć itp - wszytko ok. W komputerze widzę ramki itp.. Teraz zastanawiam się w jaki (najprostszy i niezawodny) sposób odebrać od GPS'u dane, dotyczące: pozycja, prędkość, czas, wysokość, tryb pracy (2D, 3D). Znany mi jest opis ramek standardu NMEA. Jak na razie udało mi się "wyciągnąć" czas z ramki GGA... Chciałbym...
Możesz rozwinąć to "systematyzować". Warto jedną(dwie) komórkę poświęcić by wskazać na której pozycji jest ostatni zapis lub ma być następny. Jeśli wystąpi zdarzenie to należy odczytać tą komórkę wykonać zapis np. 4 kolejnych komórek po czym zwiększyć i zapisać wskaźnik.
Witam, nie wiem jak napisać kod w Bascomie zapisu i odczytu zmiennej LONG do pamięci , popularnych kostek 24C
O ja... Przepisujesz (a nawet porównujesz!) Stringi. Porównuj temperatury jako liczby Integer. W ogóle to tą zabawę w wyznaczanie znaku też mógł byś sobie darować. Przecież liczba Integer zawiera znak sama w sobie i wyświetlenie jest jako takiej na LCD samo zagwarantuje dodanie bądź nie dodanie znaku "-".
[syntax=basic4gl] Open Nazwa_pliku For Append As #ff Nazwa_pliku = "" 'kasujemy zmienną, aby nie przeszkadzała w dalszym zapisie i nie dopisywała się do pliku 'w zależności od ilości czujników zapisujemy odpowiednie dane do pliku If Cn > 1 Then Print #ff , Date$ ; ";" ; Time$ ; ";" ; Tstr(1) ; ";" ; Tstr(2) ; ";"; Else Print #ff , Date$ ; ";" ; Time$...
Po prostu deklarujesz zmienne i robisz tak: Dim Eeprom(128) As Eram Byte 'i potem zapis o odczyt: Eeprom(1) = 123 Jakas_zmienna = Eeprom(128)
Zapis w EEPROM w Bascomie jest faktycznie lekko poroniony :) Tak jak zrobiłeś, czyli sprawdzenie czy A1 różne od A i jeśli różne to A=A1 jest jak najbardziej prawidłowe. Nie musisz natomiast używać komendy writeeeprom. Samo przepisanie A do A1 spowoduje zapis do pamięci nieulotnej. Sprawdzone wielokrotnie na prockach "większych", czyli A32 w górę, ale...
Ale czy to na pewno daje taki efekt jak byś chciał? Skoro się tak da (niby), to dlaczego w innych miejscach nie stosujesz takiego zapisu?
te znaki są zapisywane z automatu, niestety ja na to nie mam wpływu. :-) oj masz na to wpływ :-) Jak w BASCOM robisz zapisanie do pliku - jaką komendą ?? :-) Write czy Print ?? Zauważ że PRINT nie robi znaków typu cudzysłów :-) do zmiennie Valstring trzeba wcześniej "wrzucić" to co ma być zapisane Dim Valstring As String * 25 ........ Open File_nam...
Witam, tu masz link z przykładem: http://www.elektroda.net/dla_domu/zegar_... Pozdrawiam ArteXL
Nastepnym razem napisz jaki masz blad, na moje to zapis powinien byc i=i+1 oraz i=i-1
Niemniej nawet taki prosty bootloader wygląda na coś poza możliwościami autora Dlatego napisałem "teoretycznie mozliwe" . Do tege ten bascom
tak, stosuj tablice. Ulatwi ci to robote.... ALE pamietaj zeby NIE ZAPISYWAC DANYCH W KOMORCE EEPROMA O ADRESIE 0. Jesli zaczniesz deklarowac zmienne w bascomie to : ...jakies zmienne... .... .... .... 'EEPROM dim foo as eram byte 'to ci zalatwia komorke 0, bo tu bascom umiesci tą zmienną, i z niej niekorzystasz dim tablica1(3) as eram byte dim tablica2(3)...
Tylko dlaczego wybieranie ma powodować zapis? Albo dlaczego wybieranie ma być dokonywane przyciskiem zapisu?
Tak.
Chodzi o zewnętrzny eeprom na i2c. A dokładnie na 24CXX, kostki te są naprawdę w świetnej cenie, kusi mnie aby je wykorzystać. Przyznam się szczerze ze przy wyborze AVR-ów do wcześniejszych projektów kierowałem się przede wszystkim ilością pamięci na program a nie np ilością portów i/o i natrafiłem przypadkiem na te układy. Mógł by ktoś umieścić jakiś...
Jak to nic nie robi jak realizuje przerwania od przepełnienia liczników T0 i T1? :) Zreszta program tak do końca nie robi nic. Gdy załaduje program to zapalane sa wszystkie wyświetlacze tak jak powinno być a następnie zamiast wyswietlac kolejne litery i przesuwac je w lewo, zgaszane są kolejno wyświetlacze, co wygląda tak jakby program działał poprawnie...
Tak ale zapisane binarnie. A to zupełnie co innego w tym przypadku. Jeśli chcesz zapis binarny to robisz binarny. A czy to będzie nkb czy bcd to już inna kwestia. W twoim kodzie jest wszystko ok. Kod jest kodem dziesiętnym w zapisie binarnym. Więc liczby drukowane są po "naszemu" używając cyfr. Jeśli chcesz BCD wydrukować w zapisie binarnym to najpierw...
Co przestało działać?
Bascom dopuszcza zapis jednolinijkowy (taki jak miałeś na początku), ale domyślna składnia polecenia if wygląda tak: IF expression THEN [ ELSEIF expression THEN ] [ ELSE ] END IF ważną rolę odgrywa przejście do nowej lini po słowie "THEN"
Freq = Freq jaki senes ma ten zapis?
Cóż, zmęczenie czasami robi swoje. I2cstart I2cwbyte Memw I2cwbyte 24 I2cstart I2cwbyte Memr I2crbyte Bh , Ack I2crbyte Bl , Nack I2cstop Ilosc = Makeint(bl , Bh) Działa zdecydowanie lepiej. Dzięki
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
Spróbuj z Instrukcją CONFIG I2CDELAY
Jeśli adres jest 0x1C to przy zapisie powinieneś wprowadzać adres 0x38 a przy odczycie 0x39. W drugim odwołaniu powinieneś czytać, a wysyłasz "D1".
Zapis 1 do danego PINu przełącza jego stan. W C, C++, Arduino robi się tak samo, np.: PINB = (1<< PINB0); Zmienia stan pinu B0. https://onlinedocs.microchip.com/pr/GUID...
A jak podłączyłeś przycisk TOW do portu ? Standardowo ustawiamy port jako wejściowy i podciągamy go do plusa przez rezystor wewnętrzny a przyciskiem zwieramy do masy. Dodano po 4 Wystarczy wtedy uznajemy TOW jako aktywny z poziomem logicznym zero. Czyli zmienić tam gdzie TOW=1 na TOW=0 Jak przycisk jest wciśnięty to mamy zero jak wolny to jeden
Witam. część kodu z Bascoma (D zadeklarowane jako Word) Input "coś tam.. " , D Waitms 20 Writeeeprom D , 1 w procku "8535" bez problemów zapisuje daną liczbę. Po wymianie procesora na Atmega 16 lub 32, już nie zapisuje tej liczby (kompilator nie zgłasza żadnych uwag). "Po omacku" zauważyłem, że w w/w prockach działa dopiero po dodaniu jeszcze jednego...
... W ten sposób mogę skakać po całej pamięci. Po każdym zapisie bajtu jest przerwa 10ms. Myślę, że podobnie można to zrobić w Bascomie. Policz ile czasu zajmie prockowi zapisanie 8192 bajtów(24c64).Spoko można się zdrzemnąć :D Piotrek PS O pamięci 24c1024 , wogóle nie wspomnę :(
Nie znam Bascoma, nie używam go i nie planuję. Ja bym użył wskaźnika na początek pliku i zapisał dane z offsetem po zakończeniu akwizycji. Tworzyłbym też plik samodzielnie zamiast kombinacji z pustym plikiem na PC. Proponuję szukać w helpie do Bascoma jak zdefiniować wskaźnik na początek pliku albo bufor dla danych z pliku i jak je później nadpisać.
Witam. Standardowe połączenie atmega plus PCF8583, standardowe procedury odczytu i zapisu a mimo to zapis w ogóle nie działa a odczytuje same głupoty. Działanie PCF-a też jest strasznie dziwne. Mianowicie sekundy odlicza normalnie ale dziesiątki sekund zwiększa już gdy jednostki sekund mają wartość 9 a nie 0. Znów gdy dziesiątki sekund mają wskoczyć...
Nie po przedrostku tylko: Dim Eliczba as ERAM byte Co do zaś zanikania danych z komórki 0 to jest to dawna sprawa, a przy tym musi być spełnione kilka warunków by doszło do takiego zdarzenia. W dodatku możesz przecież ręcznie wskazać gdzie będzie zapisana twoja zmienna za pomocą At przy deklaracji zmiennej jako pierwszą zmienną bajtową,lub zadeklarować...
(V-0,5)/4*10. Analogicznie możesz policzyć V na podstawie danych z ADC - res/2^(rozdzielczość ADC)*Vref. Oczywiście te równania można zoptymalizować tak, aby wykorzystać właściwości systemu binarnego. Szczególnie jeśli np. Vref ma wartość elagancką w zapisie binarnym, np. 4,096V.
witam niestety polecenia WRITELN nie mogę użyć. co do INITFILESYSTEM, to inicjuje system plików. zauważyłem jeszcze jedno jeżeli najpierw zapisuje dane do pliku binarnie za pomocą PUT a następnie do innego pliku dane juz za pomocą WRITE to: zostanie utworzony plik test.bin jednak nic w nim nie ma natomiast w pozostałych plikach (według kodu poniżej)...
Niestety, inaczej nie sformatujesz single. Zapis zmiennej z przecinkiem jest dość skomplikowany (mantysa, wykładnik) i znalezienie przecinka nie jest prostą sprawą. Jakie działania potrzebujesz wykonać na single? Może nie trzeba jej używać. Wykonałem próbę w symulatorze najpierw single na string za pomocą fusing(), potem z powrotem na single za pomocą...
Pewnie że można, pytanie tylko czy bascom umożliwia ich zapis do pliku. Użyj albo innego softu albo zapisz ręcznie.
Witam. Czy układ pamięci 2404 można w Bascomie odczytywać z autoinkrementacją (jak np. PCF8573) czy trzeba bajt po bajcie inicjować zapis/odczyt? robiw
bascom zapis czasu bascom eeprom zapis bascom zapis pliku
wodomierz magnes odświeżania pamięci vectra błędy komputera
momenty dokrecania samsung rb34k6232ss
Serwer czasu NTP w sieci domowej – kiedy warto? Precyzja, bezpieczeństwo, Home Assistant, Raspberry Pi, GNSS Błąd A11 w kotłach Buderus - przyczyny i rozwiązania