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.
Nie przyśpieszy, ani nie zmniejszy jego objętości, bo zapis 145 i &10010001 są równowazne. Podczas kompilacji zostanie wygenerowany ten sam kod.
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]
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.
Post wyżej napisałem jak ma wyglądać wyświetlanie tekstu. Wstaw tą linię tam gdzie umieściłeś komentarz "Tu wstawiam..." :) ps. Pisałem z pamięci i zamiast Seq(1) = Text powinno być Seq(1) = Tekst czyli zapisanie aktualnej wartości po przesunięciu.
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.
Zmienna _a1 to pomost pomiędzy biblioteką a programem użytkownika. Tak, to zawartość tej zmiennej odczyta lub zapisze układ Master. Procedura I2C_master_needs_data wykona się, jeśli kod z biblioteki wykryje operację odczytu z magistrali (zostanie zaadresowany Twój Mega8). Jeśli zatem w treści tej procedury zapiszesz cokolwiek do zmiennej _a1 to ta wartość...
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....
Manekinen`s FusebitDoctor
Wazniejszy będzie odczyt na początku i stwierdzenie które dane są aktualne Robisz sume z bufora 1 i porownujesz z zapisana w buforze 1 , tak samo dla drugim buforze i ten z wadliwa suma odrzucasz , gorzej gdy oba maja poprawna sume to wtedy albo na podstawie analizy danych stwierdzasz które są nowsze albo na podstawie indeksu dodanego do danych tylko...
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ć.
Należy podać ścieżkę dostępu do tych plików. Opcje > ENVIRONMENT > IDE - File location.
Duży filtr na zasilaniu A po co? Wystarcza tylko dioda shottky'ego+ mały supercap 1F albo duży zwykły i sprawdzanie czy jest napięcie przed diodą. Ale czy to tańsze, szybsze i bardziej niezawodne niż bateria i watchdog? :) Szczególnie jak się A/D do czego innego chce wykorzystywać..
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ż...
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_...
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...
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ć ;)
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ć" :)
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...
Dim zmienna As long ,long1 as byte at long overlay, long2 As Byte At long + 1 Overlay, long3 as byte at address + 2 overlay, long4 as byte at address +3 long=1 do WRITEEEPROM long1 , 1 WRITEEEPROM long2 , 2 WRITEEEPROM long3 , 3 WRITEEEPROM long4 , 4 loop end
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.
Witam. Jaki jest poprawny sposób zapisu / odczytu danych do pamięci EEPROM typu 24cXX ? W Sub Read_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cstart I2cwbyte 161 I2crbyte Test, 9 I2cstop End Sub Sub Write_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cwbyte Value I2cstop...
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.
ooo aaa eee
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
Na schemacie masz nie podłączony R/W. Dla zapisu powinien być do masy.
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 "-".
Tak, musi być for Append, dodatkowo każdy wpis powinien być zakończony dodaniem nowej linijki (czyli polecenie Print bez średnika na końcu, który blokuje dopisanie znaków CR LF)
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...
[url=http://bascom.dxp.pl/bascom_dyrekty... opisane dyrektywy miedzy innymi $eeprom i $eepromhex.
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.
Przerabiałem ten temat kilka miesięcy temu i musze powiedzieć że na temat kart MMC i SD jest i dużo i mało informacji. Osobiście wiele mi pomogła ta strona http://www.roland-riegel.de/sd-reader/ Z góry jednak uprzedzam że jesli będziesz myślał o czymś w rodzaju dos-u czyli zapis/odczyt plików w postaci FAT16 lub co gorsze FAT32 to ATMega32 jest za mały,...
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ś...
Tylko dlaczego wybieranie ma powodować zapis? Albo dlaczego wybieranie ma być dokonywane przyciskiem zapisu?
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...
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
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...
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ć.
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...
To na pewno PCF8583 bo podmieniałem na inny egzemplarz i efekt ten sam. Kontroler to Atmega16. A jak inaczej czytać PCF-a jak nie przez I2C? Zamieszczam cały program ale jest on skopiowany z zegara który cały czas działa a więc nie wiem czy w nim jest problem. [syntax=vbnet] '----Zegar nixie LC-513----.' 'opis złącza ISP 'czerwony - "+" 'zielony - RESET...
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)...
Pewnie że można, pytanie tylko czy bascom umożliwia ich zapis do pliku. Użyj albo innego softu albo zapisz ręcznie.
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...
(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. 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
powinno byc cos takiego (to tylko fragment kodu) dim znaki(19) as byte dim licznik as byte licznik=0 enable interrupts enable urxc on urxc odbierz 'jak odbierze znak to przerwanie do:loop:end 'glowna petla tu robisz co chcesz odbierz: znaki(licznik)=inkey()'o... znak trafi do tej zmiennej incr licznik if licznik...
Czy ktos da rade przepisac ten program na bascoma 8051 (tylko zapis danych )??? uP 89C52
Tak Integer jest 16 bitowe, a ja muszę rozbić liczbę 17 bitową (131071) na 1bit + 8 bit + 8bit [P,FSB,LSB]. Nie znam C ani Asm'a :(, więc musi być Bascom, tylko może da się zoptymalizować ten zapis bod względem wielkości pod kompilacji...
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ą...
bascom zapis czasu zapis eeprom bascom bascom pcf8583 zapis
kostka corsa aspekt prawny oprawa 2x36w
odkurzacz roboclean odkurzacz roboclean
Mastercook ZWE-1445X – kody błędów d01–d13 i F1–F9, diagnostyka, typowe usterki Mazda MPV 2.0 – zasilanie bezpiecznika 25, schemat, połączenia, F-25 ST SIG, MAIN 120A