W jaki sposób zapisać nazwę aby kompilator nie wyrzucił błędu ? sugerowana nazwa poniżej nie jest akceptowalna lds r1, {Dane(1)} lds r1, {Dane(1)} - tutaj chcesz pobrać pierwszy element tablicy. Tak się nie da. Zarówno niveasoft , jak i pawlik118 mają rację. W przypadku odpowiedzi kol. pawlik118 otrzymasz adres początku tablicy. Natomiast jeśli chodzi...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
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
Znalazłem specjalnie dla Ciebie jeszcze kilka bajtów :D ahahahahaha Bascom stara się być "ignorantoodpornym" czyli jak ktoś może czegoś nie wiedzieć to on to, na wszelki wypadek, robi za niego. W języku C każdą zadeklarowaną zmienną najczęściej inicjuje się jakąś wartością ponieważ po reset nie można być pewnym, że w niej znajduje sie zero lub potrzebna...
No właśnie tak jak napisałeś. Parameter(8) = "Off" to jest właśnie zapis. Oczywiście pod warunkiem że jest to tablica Stringów a nie jeden String.
Po pojawieniu się PINB.0 = 1 zwiększaj indeks tablicy Idx. Idx to zmienna którą będziesz indeksował tablicę w poleceniu: Lcd Tablica(idx). Ponieważ program może być na tyle szybki, że mógłby przesunąć indeks tablicy o parę kroków naprzód jeśli na PINB.0 utrzymuje się stan wysoki, to musisz też zapamiętać czy zwiększenie zostało już wykonane i pozwolić...
Chyba dopiero zaczynasz z tymi tablicami ASCII :D Znaki od 0 do 32 (chyba) są niedrukowalne. Należą do nich CR Carriage Return i LF Line Feed. Numer 32 ma spacja. Kolejny to chyba wykrzyknik. Teraz jeśli masz tablicę z wzorami jak dany znak ma wyglądać, i na przykład w kodzie Autora informacja jak dany znak ma wyglądać mieści się w pięciu bajtach, to...
Może ktoś wie jak założyć tablicę 66 elementową ( każdy element to bit) w obszarze adresowanym bitowo, tak by można było odwoływać się do poszczególnych bitów poprzez współżędne w tablicy np. bit22=Tablica(22). Bascom co prawda przyjmuje deklarację Tablica(66) as bit, ale traktuje to jak zmienną 1 bitową tzn. zapis Tablica(22) = 1 ustawia na 1 wszystkie...
Pokaz kod odpowiedzalny za wyświetlanie pojedyńczej kolumny jeśli potrafisz Jeszcze powinieneś dodać kod szóstej kolumny Kol6 , czyli zmienić cały zapis w tablicy kodów .
Witam, W programie zapisuje kilka zmiennych String w eepromie potrzebuje uzyskać z nich taką tablicę do po prawnej działania pętli for [syntax=basic4gl] Memory(1)="zmienna a zmienna b zmienna c" Memory(2)="zmienna a zmienna b zmienna c" Memory(3)="zmienna a zmienna b zmienna c" Memory(4)="zmienna a zmienna b zmienna c" Memory(5)="zmienna a zmienna b...
Witam wszystkich *********** Wielka prośba o pomoc *********** Napisałem w Bascom'ie na procka AT89c2059 mały programik zamka obsługujący pastylkę Dallas'a. Odczytuje pastylkę i porównuję ze wzorcami które wpisałem w program na stałe i to wszystko działa. Tutaj mam pytanie jak odczytany numer z pastylki który jest w tablicy (8 elementowej) zapisać...
Panowie, ekspresowe pytanie: czy w bascomie jest jakiś sposób, żeby zapisać danymi całą tablicę naraz? Chodzi mi o coś takiego: [syntax=basic4gl] Dim Tablica(5) as Byte Tablica(1) = 1 'tak można Tablica(2) = 2 . . Tablica(5) = 5 Tablica = 1,2,3,4,5 'a tak już nie można Dim A as Byte For A = 1 To 5 Tablica(A) = A 'tak też można, ale nie o to mi chodzi...
Witam, ma ktos sposob na tablice znakow? czy powiedzmy takie cos ma sens? Tab = Tab + Zmienna Tab - string 10 Zmienna string 1 - przyjmuje rozne wartosci. Ma ktos lepszy pomysl?
I2crbyte Z(i) , Nack Wcześniej masz for i=0 to 5 Nie wyrzuci ci takiego błedu ale zapis jest zly. W bascomie adresowanie tablicy zaczyna się od 1 (z(1) - to jest pierwszy element tablicy) Błąd wyświetla dopiero chyba bascom avr. Daj pętle przesuniętą o 1 i będzie dobrze. Ale uważaj - to przesuniecie (for i=1 to 6) może ci też pogmatwać inne...
Potrzebuję pomocy. Nie wiem jak napisać i jaką pętle aby sprawdziła mi czy w danej komórce, która będzie testowana wraz z kolejnym krokiem znajduje się określony tekst, a jeśli tak to żeby wartości z innej kolumny w tym samym wierszu co owa komórka zostały zapisywane do tablicy, a następnie aby ta tablica była podana losowaniu i ostatecznie wylosowane...
Da się bez większego problemu. Plik *.font to plik tekstowy. Taki bardziej na wzór ASM, ale komuś kto się tym nie zajmował najprościej chyba wytłumaczyć to że zapis jest podobny do tego od znaków wyświetlacza alfanumerycznego. Przykład małej czcionki : .db 0,36,126,36,126,36,0,0 ; # Musisz sobie stworzyć swoje znaki w tym samym rozmiarze i po prostu...
Teraz jak przestawiłem przerwanie na int0 wszystko jest ok 128 przerwań na zboczu opadającym ale zapis do tablicy robi o 0,4us za późno :( rozkładam ręce , pomocy :wink: Po pierwsze wstaw aktualny kod. Po drugie jaki masz ustawiony poziom optymalizacji? Powinien być ustawiony na -O2 lub -O3.
No fakt, to jest BASCOM 8051 a nie AVR. :oops: Ale idea jest taka sama. Trzeba zrobić sobie bufor w pamięci (np. tablica bajtów - Array) i dwa wskażniczki: Zapis, Odczyt; które będa sobie biegać w kółko po tablicy - tworząc tym samym bufor kołowy (http://en.wikipedia.org/wiki/Circular_b... Zapis będzie wskazywał element, który aktualnie można zapisać....
Nareszcie ktoś odpowiedział:) No w czymś jest problem, chce zrobić tablice na wzór tej w BASCOM Dim _Dana(1000) as eram Word tylko teraz to ma być w 24Cxx. Problem w tym, że podczas zapisu zwykych danych odbieranych z UART trzeba zapisać jeszcze adresy gdzie te dane zostały umieszczone. Do tej pory zapisywałem w wewnętrznym EEPROMie M32 (wszystko szło...
Mam problem z klawiaturą matrycową i instrukcją getkbd w Bascom Avr (Atmega 16) Klawiatura matrycowa 4x4 jest podłączona do portu D. Odczytywanie pojedyńczych znaków i konwersja działa. Chciałbym wprowadzać z tej klawiatury kody wielocyfrowe, napisałem odpowiednia procedurę opartą o zapis kolejnych cyfr do tablicy - ogólnie wszystko jest OK. (przy szybkim...
Wielkie dzięki, przetestuje i poinformuję cię o ofektach, jeśli chodzi o konfiguracje SPI to mam zapisuje i odczytuje już bajty lecz strasznie długo to trwa dlatego potrzebuje szybko czytać z kart, sam zapis może być standardowo. Czytanie 512B jest lepsze niż 1B - dlatego że tak i tak żęby odczytać jeden bajt to bym musiał odczytać 512B? Wieć załadować...
Reg_no(i) = 1wsearchfirst() For I = 1 To 8 Writeeeprom Reg_no(i) , 10 Next tego całkowicie nierozumiem, najpierw zapisujesz dane do tablicy pod indexem którego nawet nieznasz (zmienna 'i' niejest zainicjalizowana) oraz nierozumiem zapisu 8 bajtów, wszystkie pod ten sam adres w pamięci eeprom, pierwsze 7 bajtów zostanie nadpisane i ich nieodzyskasz....
Z tym ENA sprawa rozbija się o czas stanu niskiego tej szyny przy wpisie danych. U mnie wygląda to tak: RW ustawione na zapis ENA = H (stan wysoki) 1. wybieram CS'a (połówkę wyświetlacza) 2. ustawiam rejestr RS (dane/sterowanie) 3. odczytuję dane z tablicy i wystawiam na port (D0-D7) 4. zatwierdzam wpis zmianą linii ENA : - ENA = L - oczekiwanie (aktualnie...
Witam Skoro szczytujesz po jednym bicie to po szczytaniu 8 bitów zapisz je w pamięcie, i odczytując je po koleji możesz odtpowrzyć z powrotem. Pozdrawiam Witam. Tylko mnie się wydaje że kol. przemo.t niewie jak z bitów zrobić bajt,choć może się myle :) Moja propozycja brzmi: $map Dim Twojbit As Bit , Wynik(16) As Byte , I As Byte , J As Byte '... For...
Jeżeli między znakami masz jedną kolumnę odstępu, to na pierwszej stronie będą dwie, a nie jedna kolumna z drugiego znaku, no ale to szczegół ;) Nie wiem, jak masz zapisaną "czcionkę". Jak na moje oko, to może być po bajcie na każdą linię i takich linii 7, jedna po drugiej, potem następny znak itd. Nieużywane bity (te z prawej, znaki wyrównane sa do...
Ok tutaj masz kody zrodlowe z ksiazki "Programowanie mikrokontrolerow AVR w BASCOM". Proponowalbym na tym etapie zakonczyc temat! 'Program obsługi jednego układu DS1820 dołączonego 'do magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
Przepisujesz z ksiazki? :cunning: Popatrz dobrze czy np. jest tam cos takiego: $regfile = M8def.dat Tutaj masz poprawny kod: 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
Zapisać -> Nie wiem w jakim stanie go masz, ale pewnie jako 8 bajtów:) Wytnij z tego bajty rodziny etc, zostaw sam SN właściwy, i jak pisał chyba JmL masz "tablice" w eepromie, no to siup zapisujesz pod ta i ta komórkę, co potrzeba. - tyle apropo zapisu Odczyt -> odczytujesz co któryś bajt(same SNy) do jakiejś innej tablicy w ramie i szukasz w niej...
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.
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
To nie Bascom jest przyczyną tylko źle napisany program ;). 1. odczyt timera1 16bit odbywa się po przez rejestr pomocniczy TEMP, ten rejestr jest też używany przez inne procedury i funkcje i jeśli jest użyty to właśnie niszczona jest wartość High timer1 bo ona tam jest wpisana gdy używasz komendy. wpisując tak timer1 do tablicy możesz gubić High timer1....
Po to poradziłem Ci aby użyć do tego tablicy aby w łatwy sposób, przy użyciu pętli For...Next można było nią zarządzać (w tym i wyświetlać). Dim Seq(5) As String * 10 Dim Tekst As String * 10 Dim Index As Byte Tekst = "Aktualna" For Index = 4 to 1 Step -1 Seq(index + 1) = Seq(index) 'przesuwanie 4 do 5, 3 do 4,... Next...
Wyszukujesz początek ramki, czyli pewnie "$GPRMC," Potem ładujesz znaki do zmiennej textowej aż natrafisz an przecinek. Jak natrafisz na przecinek to zatrzymujesz ładowanie znaków (a przecinka nie ładujesz). Konwertujesz Text na liczbę Integer (chyba że chcesz tablicę Stringów). Potem masz przecinek. Omijasz. Zbierasz kolejne dane aż do kolejnego separatora....
- czym jest / są: Spmcsr.0, Eecr.1. To nazwy rejestrów ATmegi z których odczytywany / badany jest pojedynczy bit . W przypadku Spmcsr bit 0 a w przypadku Eecr bit 1. Taka konwencja zapisu.... - czym są r0, r1, r30, r31 To są rejestry wewnętrzne ATmegi.... - z czego wynika dzielenie firmware-u na kawałki akurat 128 bajtowe ? Z tego, ze zapis Flasha odbywa...
Dlaczego? W jednym bajcie możesz zapisać osiem bitów. Nic się nie marnuje. Trzeba tylko odpowiednio interpretować dane.
Proponuje użyć tablicy. Do kolejnych jej elementów zapisujesz czasy poszczególnych odcinków. Potem porównujesz zawartość tablicy z aktualnymi pomiarami i wiesz czy jest już przeszkoda czy nie.
No chyba, że dane generujemy w biegu (np pomiary) i ich nie modyfikujemy tak wlasnie o to chodzi atmega 8 ma tylko zapisywac na czystej karcie wyniki z pomiaru - nic nie bedzie modyffikowac tylkow puste miejsca bedzie zapisywac jeden pomiar nastepny juz w innym miejscu W pętli zapisu zamiast pobierać dane z tablicy trzeba wykonywać pomiar i w biegu...
Witam Czy zapis poniżej można jakość skrócić gdy chcę ustawić we wszystkich komórkach tą samą wartość (0) czy wchodzi w grę tylko użycie pętli for next. [syntax=basic4gl] Tablica(1)=0 Tablica(2)=0 Tablica(3)=0 . . . [/syntax]
Hehehe, jak już chcesz tak optymalizować to: if(liczba) wystarczy ;-D Jesli chodzi o sposob zapisu to masz 100% racji, ale kompilator dokladnie taki sam kod wygeneruje w obu przypadkach :) i to else break; też tak trochę jak na mój gust nadmiarowe jest... Nie jest nadmiarowy, gdyz bez niego petla bedzie mlocic indeksy dla zerowej wartosci liczby, a...
Kolejna tablica tym razem string, w której masz zapisane "wzorce", które możesz otrzymać po UART. Otrzymujesz dane, przeszukujesz tablicę string, odnajdujesz zgodny zapis, w tym momencie masz numer pola w tablicy, więc odpowiadasz wartością zmiennej z drugiej tablicy. Choć to trochę przekombinowane, więc może pomyśl o innym protokole transmisji.
Cześć. Mam kilka LED WS2812 i prosty program do sterowania. Wszystko działa, ale nie mogę dojść jak dla każdej LED pobierać z tablicy zdefiniowane kolory. Kanały odpowiadają kolejnym diodom i ich kolorom. Kod wygląda tak: [syntax=vbnet] 'Led1 Kanal(1) = 0 : Kanal(2) = 0 : Kanal(3) = 0 'Wartosci koloru LED1 'Led2 Kanal(4) = 0 : Kanal(5) = 0 : Kanal(6)...
Daleki jestem od poprawiania negowania pomysłów zunka, bo uważam, że jego kody mają wysoką optymalizację i zawsze mnie urzekały profesjonalizmem, ale czy nie lepiej było by stworzenie dotykowej zmiennej index Const rozmiar= 100 Dim index as byte, Tablica(rozmiar) as word If index >rozmiar then Index = 1 End if Tabica(index) = NowaTemp...
Zamiast "bawić się" z Readeeprom można to zrobić tak: [syntax=basic4gl]Dim Tablica(12) As Eram Byte Dim Wart As Byte Wart = Tablica(3) 'odczyt 3-ciego elementu z tablicy umieszczonej w EEPROMie Tablica(5) = 123 'zapis[/syntax] Trzeba tylko pamiętać, aby przed użyciem zmiennej umieszczonej w EEPROMie, skopiować ją do zmiennej umieszczonej w RAMie.
Niestety zapomnieliście o jednej małej drobnostce. Forma zapisu zmiennych dword i long w Bascomi'e to little endian :). Więc wynikiem będzie: A(1) = &HDD A(2) = &HCC A(3) = &HBB A(4) = &HAA
witam ponownie ,oto cały kod: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config Kbd = Portb , Debounce = 40 Config Sda = Portc.0 Config Scl = Portc.1 Config Pind.0 = Output Config Pind.1 = Output Config Pind.2 = Output Config Pind.3 = Output Config Pind.4 = Output Config Pind.5 = Output Config Pind.7 = Output Set Portd.7 Config Timer0...
Proszę kogoś o podpowiedź i wyjaśnienie który fragment kodu jest odpowiedzialny za zapis w tablicy pamięci układu DS2430A, nie mogę się jakoś połapać. Dziękuję
Z Font nic nie robisz. To jest tablica czcionki. Ją zostaw. ldi R24, 80 !Out Spcr, R24 ldi R24, 1 !Out Spsr, R24 ldi R16, 255 ldi R17, 16 Loadadr Znaki(1) , X !Loop_zapis: St X+, R17 'Inc R17 dec R16 brne Loop_zapis Enable Interrupts Enable Timer2 Do !Loop_wait: In R16, TCNT2 cpi R16, 255 brlo Loop_wait nop nop nop nop nop nop Znaki(1) = Asc( "T") Znaki(2)...
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ą...
To chyba jest taka pseudo tablica...
Witam. Sekwencja to kilkanaście sekund, odtwarzana w kilkuminutowej pętli. Proponowane wykorzystanie timera daje jedynie odmierzanie owych 1ms impulsów dla liczników i zapewni jedynie większą dokładność pomiaru niż waitms. Z tym nie ma problemu. Komenda ta zapewnia mi to czego potrzebuję i z tym nie mam problemu. Wykorzystanie tablicy to pomysł wart...
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_...
nono cos tego typu. moze bedzie prosciej jak napisze tak: wyobrazcie sobie ze jest maszyna do wtryskiwania goracego plastyku do formy. i jest kilka form max 5 i dla kazdej formy mam dane o temperaturze plastyku sile wtrysku i dlugosci wtrysku czyli 3-zmiene. i teraz przy zmianie formy wybieram sobie na wyswietlaczu ktora forme zakladam uprzednio ja...
Jako że asembler jest z reguły samodzielnym niezależnym, i nie związanym z IDE programem wszelkie etykiety i makra są jego wyłaczną domeną. Generalnie etykiety i marka to jest inna droga przy kompilacji ale te rozważania wkraczają w naukę o kompilatorach/translatorach. Jeżeli assembler jest makto-assemblerem (dziś trudno o inny) to wszelkie maka są...
zapis tablicy bascom tablicy zapis tablicy eeprom
termostat naprawa lista użytkowników integra błąd p0638
schemat zasilania lasera podłączenie podwójnego gniazdka
Falownik Sofar 3.3-12KTLX-G3 – migająca zielona dioda i sporadyczny alarm, interpretacja sygnałów LED Schemat elektryczny układu rozruchowego sprężarki hermetycznej: kluczowe elementy i działanie