Przed Tobą długie i wnikliwe czytanie pomocy jak definiowane, i jak obsługiwane są tablice w BASCOM.
Projektuje uklad w ktorym PC (VB6) bedzie wysylalo tablice do atmegi 32. Tablice wysle z VB6 w nastepujacy sposob: Dim tArray(1 To 5) As Byte Dim vntBuffer As Variant tArray(1) = 100 tArray(2) = 101 tArray(3) = 102 tArray(4) = 103 tArray(5) = 104 vntBuffer = tArray msComm.Output = vntBuffer moje pytanie jest jak to wrzucic do tablicy spowrotem w bascom?
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 tam powinno mi się to zmieścić, potem robię tablica: data "poniedziałek", "wtorek" ..... itd przy próbie wyświetlenia lcd tablica(x) mam tylko 11 zaciemnionych kostek . czy trzeba wpisywać do tablicy kody ASCI dla każdej literki ? jak to zrobić , żeby działało....
Czy przy tablicy informacyjnej większych rozmiarów zbudowana na Atmega i na układach MBI5025 linie sterujące powinny być bezpośrednio podpięte pod atmege? Chciał bym się zabezpieczyć przed ewentualnymi zakłóceniami zbieranymi przez 2 metrowe ścieżki sterujące.
Witam . Mam pytanie jak w temacie czy wiecie jak napisać żeby program pobierał z tablicy zmienne typu word. w skrócie mam taki programik: Dim Adres As Word Dim Pozycja As Byte Dim Rejestr As Byte Do If P3.7 = 0 Then Waitms 200 Pozycja = 0 Pozycja = P1 Adres = Lookup(pozycja , Tablica) ... ... End If Loop Tablica: Data 0 , 41 , 49 , 58 , 65 , 74 , 84...
a która komenda mówi o tym żeby rozpoczął drukowanie?? (z dosem nie będę się bawił, bo elektronicznie jest wszystko OK - trzeba poodciągać nóżki przez rezystory do masy i jest OK jak nie "wiszą między 0/1" Działa, bo drukarka odbiera komunikaty typu 7 (piszczek) Jakby mi ktoś podał komunikat drukujący to co jest w pamięci to byłbym dozgonnie wdzięczny,...
witam, mam do zrobienia jako prace dyplomową tablicę informacyjną LED. Zbudowałem już matrycę, która składa się z 24 kolumn i 8 wierszy diod LED, a także sterownik do niej. W matrycy diody led połączone są multipleksowo. W sterowniku działa mikrokontroler atmega8 połączony magistralą I2C z trzema 8-bitowymi ekspanderami PCF8574, które odpowiednio połączone...
Witam, zrobiłem tablicę LED połączoną multipleksowo składającą się z 8*24 diod, oraz sterownik do niej. Potrafię już zaświecić daną diodę lub zbiór diod. W dalszym ciągu nie mam pojęcia jak zabrać się za wyświetlanie i przewijanie napisów. Może ma ktoś jakiś pomysł. W załączniku schemat sterownika, oraz podłączenia LEDów.
Witajcie ! Wiem, że temat był wałkowany na Elektrodzie wielokrotnie, czytałem chyba wszystkie, nie znalazłem jednak rozwiązania mojego problemu. Może na początek schemat : (tablica ma faktycznie 5 rejestrów i 40 kolumn, nie chciało mi sie jednak całości rysować.) teraz banalny kod : $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 =...
Witam, Chciałbym zrobić w bascomie następujące rozwiązanie: zdefiniowana tablica zawierająca zestawy komend wyświtlanych na ekranie, czyli: K11 K12 K13 K21 K22 K23 K31 K32 K33 W zależnośći od wyboru dokonanego przez użytkownika, w danym miejscu kodu mają być wyświetlane napisy KX1 KX2 KX3, po resecie użytkownik może wybrać inny zestaw. Moje pytania...
Witam. Zbudowałem termometr w oparciu o DS18b20. Chciałbym zapisywać co 1200 pomiar do tablicy 3-elementowej. Po zapełnieniu tablicy 3 pomiarami: pierwszy pomiar = 1 element tablicy drugi pomiar = 2 element tablicy trzeci pomiar = 3 element tablicy chciałbym porównać wartości i sprawdzić, czy temperatura wzrosła, czy spadła. Wszystko wydaje się proste,...
Czy deklarując w bascomie globalna zmienna tablicowa byte o wielkośći 224 Dim Tablica(224) as byte Muszę jakość ją uwzględnić przy parametrach $hwstack = 250 $swstack = 250 $framesize = 25 Procesor to atmega64
Witam. Mam wyświetlacz z taką tablicą znaków: Jak "przeliczyć" odczytać te dane by znaki można było wpisać pod postacią: Chr(xxx).
Witam! Chciałbym do czujnika dodać wyświetlanie maksymalnej i minimalnej wartości (potrzebne jest to do kalibracji). Wymyśliłem więc by po włączeniu zasilania przez chwilę zczytywać dane z ADC i zapisywać je do tablicy, a następnie wybrać wartość maksymalną i minimalną. Prosze o Was o sprawdzenie poprawności programu: (jest to tylko wycinek do kalibracji)...
Witam, dopiero zaczynam przygodę z bascom`em i mam problem: chcę wysłać z komputera do atmegi id czujnika ds18b20, jedyne co przychodzi mi do głowy to wysłać to w postaci xx;xxx;xx;xxx;xx;xx;xx;xxx; ale odczytanie tego polegało by na rozbiciu tej wartości względem ";". Może są jakieś prostsze metody przesłania takiej tablicy ??
witam, Od razu do rzeczy. Jak w temacie! Program odczytuje po 1wire temperatury z 2 czujników. Wszystko działa poprawnie (płytka, czujniki dodam ds18b20). Kod programu poniżej. Error : 261 Line : 39 Array expected [ID1] Error : 261 Line : 43 Array expected [ID2] Error : 124 Line : 43 LOOP expected ostatnim errorem...
Witam! Z racji tego że nie można tworzyć tablic wielowymarowych w Bascomie proszę o pomoc w rozwiązaniu mojego problemu. Potrzebuje (w sterowniku czasowym - tygodniowym) przypisać do 10 czasów załączania i wyłaczania oraz sterowania dla każdego dnia tygodnia. Nie mama pojecia jak to rozwiązać. Z grubsza do pamięci eeprom musze zapisać: Bit_X, D_tyg,...
Impulsator nie będzie pracował na przerwaniu tylko zwykle w pętli do loop bo takie rozwiązanie wystarczy. W tejże pętli będą także wysyłane sygnały regulacyjne po I2C jako odpowiedź na regulacje wykonane impulsatorem oraz wyświetlane dane na LCD. Procedura obsługi przerwania od Rx (MIDI) odczytuje bajt i jeżeli równy jest 176 (nasze dane) to czyta dwa...
Moja wina nie dodałem że program pisany był pod bascomem. Może i to proste ale problemem jak dla mnie wydaje się być odebranie 2 sygnałów jednocześnie a wygenerowanie 4 x pwm. Może opisze bardziej o co mi chodzi. Odbiornik ma 6 kanałów sterującymi serwami chce 2 z nich zamienić na pwm. Odbiornik nie posiada innych wyjść. Układ kreci 2 silnikami lewo-prawo....
Witam Sprawa prosta. Rozwiązać problem można na kilka sposobów. Ja robiłem tablicę 16-to elementową i w pętli z każdym zboczem sygnału zegarowego wpisywałem wartość do tablicy. Po odczytaniu 16 bitów czytałem te komórki, które mnie interesowały i sumowałem wynik z odpowiednimi wagami bitów. Poglądowy program poniżej. Config Pinx.x : Clk alias Portx.x...
To zależy bascom 8051 zawsze da dłuższy kod niż asm a to dlatego ze w nim nie można wyłączyć procedur inicjalizacyjnych (tablica wektoró przerwań, itp). W bascom avr można wyłaczyć (noinit, nosp) ale częsc będzie zawsze dopisana przez kompilator bascoma. Jeżeli używasz bascom 8051 to pomyśl nad innymi funkcjami w programie, odpowiednim ich poukładaniu....
Witam. Znamy sie juz z mojego wczesniejszego tematu :) gdzie pytalem o cos podobnego ale dla jezyka C. Z racji braku supportu dla polaczenia 1wire-8051-jezykC postanowilem wykonac zadanie w BASCOMIE dla 8051. Usiadlem przerobilem troche kodu z C i oto efekty: $crystal = 12000000 Wysw Alias P2 'a-h W1 Alias P0.1 ' 3 anody dla 3 wyswietlaczy W2 Alias...
oczywiście, że wystarczy $asm ... kod twojej wstawki $end asm ale oczywiście przydałoby się jeszcze wiedzieć jak można uzyskiwać w asemblerze dostęp do zmiennych itp, otóż: Dim Zmienna1 as Byte $asm lds R16, {Zmienna1} ... coś tam robimy sobie w asm ze zmienną i chcemy ją uaktualnić, więc: sts {Zmienna1}, R16 $end asm powyżej...
Dzieki - w Bascomie nie ma funkcji obslugi matryc... jest wyswietlaczy graficznych i alfanumerycznych LCD, klawiatur itp. Mozna napisac program ktory wyswietli na matrycy znaki jednak trzeba stosowac szereg ukladow i "zmarnowc " duze liczbe wyprowadzen a i program zmarnuje troche pamieci :-( a ten scalak jest I2C wiec spoko no i upraszcza konstrukcje...
Zrob to po swojemu, bez kozystania z procedur Bascoma. ustaw odpowiednie rejestry, wlacz przerwanie i w jego obsludze wpisz byte=udr i tyle. W zmiennej byte bedziesz mial odebrana dana. Zmienna najprosciej zadeklarowac jako tablice czteroelementowa i do tego wskaznik zliczajacy do 4. Kazde przerwanie bedzie zwiekszalo dodatkowo wskaznik i sprawdzalo...
Zaciekawił mnie ten temat. Mam pomysł na algorytm aby zrealizować w miarę skuteczne dekodowanie znaków. Sposób dekodowania z pierwszego postu jest kiepski. Nadawcza musi "wcelować" z długością czasów. W miarę skuteczny program powinien dynamicznie dostosowywać się do tempa nadawania. W tym celu należy zapisywać czasy sygnałów i przerw w tablicy. Po...
Witam, mam taki problem... ostatnio zacząłem uczyć się bascoma i teraz probuje go zmusic do tego, by z cyfr odczytanych z klawiatury matrycowej (zalozmy, ze przechowuje je np zmienna Cyfra typu Byte) stworzyc liczbe (np. Liczba typu Integer)... W C bym ja zapisal do tablicy i w odwrotnej kolejnosci pomnozyl przez kolejne potegi 10-ki a potem dodal......
$crystal = 12000000 $regfile = 89c2051.dat Dim Pwmcount As Byte , Count As Byte , Vals As Word , Valcount As Word , Countscale As Byte Config Timer0 = Timer , Gate = External , Mode = 0 Config Timer1 = Timer , Gate = Internal , Mode = 2 On Int1 Readint On Timer1 Pwm Load Timer1 , 250 'przeladowanie timerka dla PWM przy 250uS Set Tcon.2 P1 = 3 Count...
witam, Piszę program w bascomie, jedną z jego funkcji ma być odczytywanie pojemności karty mmc podłączonej do ATMEGI. Nie wiem dlaczego jest ona zakodowana w dość dziwny sposób i żeby ją uzyskać trzeba się posłużyć wartościami z trzech pól rejestru CSD który zczytuję do tablicy. Pola tego rejestru są różnej wielkości np. 2,3,4,5,7,12 bitów więc potrzeba...
Witam! Na matematyce nasz nauczyciel ma prostą regułke kiedy kto ma chodzić do tablicy. Przykładowo jeśli dzisiaj mamy 18 Września i w klasie jest 25 uczniów to do tablicy idą numery 18,2,11,20... Oczywiście nie jest to żadna tajemnica ze strony nauczyciela (zresztą tak bardzo prosta ;) ) i wszyscy o tym dokładnie wiemy. Dziaj mi się nudziło i postanowiłem...
Witam. Jako, że w dziale diy nie znalazłem akceptacjii, piszę tutaj: No więc wiem, że da się sterować lcd od nokii 3310 przez lpt i przez uc. Mi zależy na Uc. W bascomie - jak już zauważyłem napisanie prostego programu wyświetlającego coś w bascomie to dość długa sprawa - dodatkowo bardzo "bajtożerna" - posiadam wersję demonstarcyjną bascoma i nie mogę...
No więc kiedyś kolega drzasiek dumał nad powieszeniem ADC 8 bit na szynie EBI w xmega. Nie wiem czy to zrobił czy nie ale ja tak zrobiłem. I niestety jestem nieco zawiedziony. Przykładowo na wewn ADC da się wyciągnąć ok 6-8MSPS w 8bitowej rozdzielczości przy 48Mhz, nie jest to wcale zły wynik na adc w avr i bascom. Problem jest w tym że DMA w połączeniu...
Mam maly problem: Kompiluje program pod AvrStudio4 zawierajacy tablice danych w pamieci programu. Miejsce w przestrzeni adresowej ustalam uzywajac dyrektywy .ORG. Otwierajac plik hex utworzony w AVRStudio4 pod Bascomem zauwazam, ze tablica danych znajduje sie od razu za kodem programu, niezaleznie od adresu jaki podam w dyrektywie .ORG. W wyniku tego...
Cześć Czy trzeba jakoś specjalnie ustawić symulator w Bascomie żeby pokazywał stan portów? Ta tablica z portami (pod LCD) w ogóle nie działa :| Załóżmy że robie program który ma zmieniać stan jednego z pinów co 100 ms. Co mam zrobić żeby to zobaczyc na symulatorze? Program to BASCOM AVR Demo. Dzięki za wyjaśnienia.
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
Zgadza się, pod tym względem Bascom jest nieco ułomny. Wystarczy na przykład zadeklarować tablicę jednowymiarową (mogliby wreszcie zrobić obsługę przynajmniej 2-wymiarowych) i zapełniać ją wartościami od zera - będą się dziać dziwne i nieprzewidywalne rzeczy. A wracając do tematu: czy ktoś wie, co dopisać w obsłudze przerwania? Rozumiem, że brakujący...
Witam, uczę się pisać w Bascomie dopiero od niedawna, umiem już pisać podstawowe programy. Zainteresowałem się ostatnio interfejsem DMX512, chciałbym napisać program do odbioru sygnału w standardzie DMX512. Niestety moja wiedza nie wystarcza mi jeszcze na napisanie takiego programu samodzielnie. Znalazłem w internecie stronkę: Ściągnąłem z niej listing,...
Niektóre radiolinie mają wbudowane kodowanie transmisji, ale większość z nich nie. W Bascomie można kodować dane za pomocą Xtea, ale zobacz, co się dzieje, gdy wysyłasz te same dane. Zakodowany ciąg Hexstring zawsze wygląda tak samo. Jeśli więc ktoś nagra twoją transmisję, to gdy zostanie ona odtworzona, urządzenie zareaguje tak samo. Możemy to mocniej...
Bez problemu napiszesz obsługę plików BMP. Jak mi się uda odnaleźć to załączę kawałek kodu bascoma. Jaki masz wyświetlacz, kolorowy? Jeśli nie to faktycznie lepiej zapisać w formie tablicy i potem zapalać kolejne wiersze/kolumny. Są też konwertery BMP -> HEX, znajdziesz na forum.
No i udało mi się wstępnie opanować wyświetlanie tekstu bez biblioteki Bascoma. Bardzo pomocna okazała się ta strona - Funkcję PSET z tego przykładu zastąpiłem If Pixel = 1 Then Lpixel Xpos , Ypos , Kolor Else Lpixel Xpos , Ypos , Tlo End If swoją funkcją LPIXEL Sub Lpixel(byval X As Byte , Byval Y As Byte , Byval Color As Byte) Call Lsend(0...
Wg mnie 49911. 65536-15625 A wiesz o tym że przecież wartości 65536 timer nigdy nie osiągnie ? No kurczę jak to nie osiągnie ? ;) to sugerujesz, że on liczy od 1 ? czy od 0 ? ;) Przecież za chwile sam się dobrze domyślasz. No chyba że uwzględniasz tu to ,że skok do procedury przerwania odbywa się gdy Timer osiągnie wartość 0 następnego cyklu. Eeeeh...
dla opisu programu w pseudokodzie(nieznam bascoma.. wole asm itp..) przyjme że bity sterujące znajdują się w dolnych częściach zmiennych.. i zamiast a..h przyjme tablice stan[0] do stan[7] TMP = 0 pętla wykonywana od 0 do 7 ze skokiem o 1 przesuń tmp o jeden bit w lewo tmp = stan[numer wykonania pętli] koniec pętli w tmp jest skompresowany stan 8 bitów...
Tzn. już dowiedziałem sie o co chodzi. Mam podłączyć do mikrokontrolera przez szynę 1wire kilka switchów (konkretnie układów DS2405) i odczytać z nich numery seryjne i jeszcze chyba stan wyjśćia PIO. O ile z numerami seryjnymi mam tylko taki mały problem, że jak zmieścić 8 bajtów w 1 bajcie?: opis z pomocy Bascoma: Dim Ar( 8 ) As Byte czyli oznacza...
A jakby oprogramowanie napisał w linux'ie to już zupełnie samo by chodziło... Zwalanie krzaczenia lcd'ka na język to próba wykazania wyższości świąt Bożego Narodzenia nad świętami Wielkiej Nocy - bzdura. jacynka84: Nie wiem czy próbujesz wykorzystywać jakieś biblioteki do KS'a, jeśli tak to daruj sobie taką pomoc. Ten lcd nie przyjmuje danych jako textowe...
W takim razie polecam: Definiowanie znaków robiłem od podstaw w "C" (w czasach kiedy próbowałem się nauczyć tego języka), ale ponieważ C jest dla mnie niezjadliwy więc obecnie nie mogę rozszyfrować tego co napisałem jakiś czas temu. Jedno jest pewne. Skoro coś dało się napisać z ubogimi umiejętnościami w C to da się też napisać w Bascomie. Jak znajdę...
Łańcuch masz zapisany w tablicy. Robisz funkcję na zasadzie [syntax=vb] i=6 //pomijasz początek licznik_przecinków = 0; while (licznik_przecinków != 8) do { if (tab[i]!=',') i++; else { licznik_przecinków ++; if licznik_przecinków == 7 początek = i; if licznik_przecinków == 8 koniec = i; i++; } }[/syntax] Nie odpowiadam za składnię gdyż już nie wszystko...
Witam!! Prosiłbym o sprawdzenie programu napisanego w Bascomie. Program został napisany dla 8 diod i 4 przycisków. Mogłem zrobić błędy w pętlach, gdyż jest to mój pierwszy, napisany od podstaw program. Opiszę teraz pętla dla każdego z przycisków: przycisk 1 - wszystkie diody świecą przycisk 2 - diody migają od 1 do 8 powracają przycisk 3 - diody zapalają...
Wymyśliłeś sobie, że na sztywno przyjmiesz sygnał sterujący z wtryskiwaczy, do tego kolejny sztywny próg +600mbar i magiczne X, które dobierzesz w drodze eksperymentów na biurku, a pewnie później na hamowni. Powodzenia! P.S. Jeszcze kilka lat temu zajmowałem się sterowaniem silników spalinowych i jak widzę takie pomysły, to mi ręce opadają. Też mam...
Witam, chcialem sie dowiedziec czy taki programik jak ponizej napisany w Bascom-ie bedzie dzialal tak jak tego chce. Ogolnie zadaniem dla mikrokontolera jest to aby pobieral wartosc jakiegos napięcia, ktora bedzie porownywana z wartosciami "tablicy" (w moim przypadku bede robil to na IF-ach, chyba, ze da sie deklarowac tablice w Bascom-ie) i za pomoca...
Witam. Napisałem w Bascomie prosty program do odczytu 2 termometrów DS1820 i PCF8583 - właściwie jest to zarys gotowych procedur. Niestety przy kompilacji wywala mi masę wewnętrznych błędów - Internal Errors w ostatniej linii. GDZIE ROBIĘ BŁĄD? Zmniejszałem liczbę zmiennych typu Byte (chyba jest ich zbyt dużo więc zmniejszyłem rozmiar tablicy Adresy)...
Należy zrezygnować z Bascoma albo zrobić wstawkę w assemblerze, a wynik umieścić w tablicy lub dwóch zmiennych. Niestety Bascom nie potrafi operować na liczbach 64-bitowych.
Witam. Ze względu na warującą ostatnio na dworze temperaturę chciałem zrobić prosty termometr oparty na 89s52 i czujniku 18b20. Napisałem program i o ile pomiar temperatury działa należycie z dokładnością 0.5*C to mam spory kłopot z porównaniem i zapamiętaniem tej minimalnej- aby rano wiedzieć do jakiej spadła temp w nocy. Układ sprawuje się dobrze...
Witam, mam mały program napisałem przy użyciu książki Pana Marcina Wiązania oraz przy użyciu elektrody do obsługi matrycy led, lecz mam nieporządany efekt stroboskopowy. Nie widać liter, tekstu, tylko wszystkie diody mrugają. Czy to jest spowodowane zasilaniem czy też błędem programu? Dorzucam dwa programy, przy których pracowałem i schemat, schemat...
Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części sieciowej od niskonapięciowej. Zdjęcie tablicy też nie...
Ile problemów robi adresowanie tablic w Bascomm od 0? Tyle co użycie dyrektywy CONFIG BASE=0 ... w MATLABie tablice też są indeksowane od 1. Jakoś nie bardzo widzę problem w tym jaki indeks ma pierwszy element tablicy. Co to zmienia czy ma 0, 1 czy 123? Jak jest przenośność C a jako Basic? Dałem konkretny przykład, w C kilka godzin roboty, w Basic...
wielkie dzięki :) ale mam jeszcze jedno pytanie, skąd moge się dowiedzieć jak sie nazywa te porty i po co jest wogóle ta tablica rejestrów specjalnych ?? czy z niej się moge czegoś konkretnego dowiedzieć ??
Staram sie zmusci do wspopracy LCD od 3310 na SPI oraz PCF8544 (zegar RTC) na i2c do wspopracy razem z mega8535. Osobno wszystko smiga, razem nie chce. Jak tylko wlacze linijkie odpowiedzailna za skok do procedurki odczytu godziny z PCF'a to wyswietlacz od noki robi sie bialy i nci nie wyswietla. Program wyglada tak (wycialem deklaracje procedur, deklaracje...
Witam ! Skopiowalem sobie z Helpa bascomu taki oto kod... chce to skompilowac ale wywala blad najpierw przy: W = 1wirecount(ar(1)) pozniej: Ar(1) = 1wsearchfirst() Ar(1) = 1wsearchnext() Posiadam taki procesor jak jest zadeklarowany w kodzie...ale za Chiny nie chce to ruszyc :( '---------------------------------------... ' 1wirecount.bas...
Z reguły proste deasemblery (takie których pełno w sieci) mozna o kant d..y potłuc. Kompilatory często posiadają mechanizmy 'oszukiwania' (np. wywołanie podprogramu a potem ręczny powrót - bez 'ret'). Druga sprawa to tablice, skoki i inne elementy dynamiczne uwarunkowane od czynników zewnętrznych (np. dla 51 'jmp (at)A + DPTR') oszukają prawie każdy...
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
Witam chciałbym prosić o pomoc w korekcji programu napisanego w bascomie. Skonstruowałem tablice o rozdzielczości 8x80 pikseli na której są wyświetlane: zegar temperatura, imieniny. Chodzi mi o to żeby przystosować tablice do wyświetlania nazw przystanków tak jak jest to rozwiązane w komunikacji miejskiej. Chciałbym aby był do tego sterownik z wyświetlaczem...
Witam Robisz tak : Deklarujesz macierz czy tam tablice zwał jak zwał o x zmiennych byte. 1wreset W = 1wirecount() Adres(1) = 1wsearchfirst() Adres(9) = 1wsearchnext() 1wreset itd itd. Masz w tej tablicy adresy kilku czujników a później: 1wreset 1wwrite &H55 ' Będę wysyłał adres 1wwrite Adres(1) , 8 ' Wysyłam...
Witam! Jestem w trakcie pisania softu 3. wersji sterownika do akwarium (1. w ogóle nie wyszła, 2. była bardzo awaryjna). Przesiadam się z Bascom'a na C, przez co mam sporo problemów z nowym językiem programowania. Mój problem polega na tym, że zamierzam zdefiniować 4 piny w tablicy. A mianowicie: #define DEVICE_PIN[4] {2,3,4,5} Jak...
Jeśli Okr1 i Okr2 przyjmują wartości tylko 0 i 1, to łączysz to w jedną liczbę dwubitową (Okr2*2+Okr1) i dajesz 4 ify od tej zmiennej, konstrukcję if elif elfi... end if (albo jak to tam wygląda), albo dajesz (jeśli jest taka konstrukcja) switch/case (głównie pisze w C, więc nie wiem), albo ostatecznie tablica poglądowa czteroelementowa umieszczona...
Mam problem polegający na tym, że na trzy elementowej tablicy BGR(3) as byte muszę wykonać przesunięcie o 12 w lewo czyli wykonać rotate na tych trzech zmiennych tak jakby to była jedna zmienna np: przed przesunięciem: BGR(1) BGR(2) BGR(3) 01000010 01100100 11111010 po przesunięciu o 12 w lewo: BGR(1) BGR(2) BGR(3) 01001111 10100100 00100110 W jaki...
Nie miałem dużej styczności z BASCOM dla AVR i nie znam funkcji, które podajesz. Mogę za to polecić sporządzenie własnych funkcji...skrojonych na miarę. Generalnie można obsłużyć każdy klawisz znajdujący się na klawiaturze. Jest to kwestia prawidłowego rozpoznawania wysyłanych przez nią bajtów. Klawisze "standardowe" takie jak a, b, c itd. w chwili...
Chm. A ja myślałem że w C nie ma takich dziwactw jak w BASCOMie. Ja mam zwyczaj wszystko konfigurować w kodzie (i w BASCOMie też tak robiłem) a nie w ustawieniach projektu. Więc u siebie sekcje zadeklarowałem w pliku ld. Czy się da w jakichś ustawieniach w Eclipse to nie wiem. Ale pewnie tak choćby z tego powodu że do Eclipse jest cała masa wtyczek.
Witam Chciałbym zaprezentować wersje prototypową mini tablicy informacyjnej. Celem budowy układu było sprawdzenie możliwości budowy tablicy na tanim układzie i sama nauka avr-gcc. To jest mój trzeci projekt. Poprzednie były w bascomie. Budowa Do budowy użyłem: 16x 74hc373 ( kolumny) 1x 74hx259 + 2xUDN2983 wiersze 16x kości LED 8X8 i główny sprawca...
Ja tak samo (zrobiłem programik). Mam nawet konwertery do BASCOMa. Tak więc sprecyzuj co dokładnie potrzebujesz.
Witam wszystkich. Jestem początkujący jeżeli chodzi o programowanie, bascom-a mniej-więcej rozumiem, ale nie mam pojęcia jak zrobić coś takiego- wyświetlanie pionowe na wyświetlaczu. Przypuśćmy że mam wyświetlacz 2x 16, przetwornik A/C. Chciałbym aby wartość przekładała się na liczbę właśnie tych słupków ( locate 1,1 i locate 2,1 ). Z tego co pamiętam,...
Poprawiłem programik, zwiększyłem wielkości stosu, stosu programowego i ramki, tablice Src_array i Dest_array wypełniłem danymi. Błąd dalej występuje. Jak widać zmienna B została uszkodzona, a zmienna "C" w której powinna być zwrócona wartość prze Memcopy jest równa 0. [syntax=basic4gl]' BASCOM-AVR ' kompilowane wersją 2.0.7.3.001 i 2.0.7.5.002 '$regfile...
Bascom nie jest taki głupi i nie pozwoli skompilować jeśli Relative Call or Jump jest zbyt daleki. Wywali błąd. Przykładem jest biblioteka hexval.lib autorstwa MWS. Nie jest to biblioteka MCS i użyto w niej RJMP i RCALL. Jest pomocna bo sprawdza czy wartości HEXstringów zawierają tylko dozwolone znaki A-F 0-9, jednak dla większych programów np. z obsługą...
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.
Witam.mam taki male pytanko. NA poczatku zalaczam kawalek przykładowego kodu w C " int main(void) { DDRD=0xff; uint8_t seg Dodano po 13 ups.. to juz zsotalo jedno tylko pytanko..o skok do drugiego elementu tablicy. co do resetu to : Reset zeruje tylko zmienna globalna a zmienna lokalna pozostaje nie ruszona :) Ze tez tego nie moglem sie nigdzie doczytac...
VCO to oscylator przestrajany napięciem. Jakie przebiegi to cudo ma generować ?. Sinuska, fale prostokątną czy coś innego ? Jaka maksymalna częstotliwość ?. To zadanko ze szkoły ( bo może da się zrobić lepsze rozwiązanie). Na szybko jak ja bym to zrobił - pod ADC podpiąć strojenie napięciem. Cyklicznie odczytywać wartość i umownie zamieniać ją na częstotliwość...
Zaprogramowalem procek. Oto spostrzezenia. Zegar odlicza poprawnie czas, ustawienia godziny dzialaja poprawnie. Wystapil natomiast problem z miganiem kropki oddzielajacej jednostki godizn od dziesiatek minut. Powinna ona zapalac sie na sekunde, a potem gasnac na sekunde. Jednak okazuje sie, ze w trakcie sekundy, w ktorej powinna sie swiecic, ona migocze....
tylko ze tu jak dobrze rozumie trzeba każdą informacje wysyłaną na wyświetlacz wpisywać po kolei do tablic i żeby na wyświetlaczu pojawił się jakikolwiek napis to trzeba trochę się napisać i każda informację (np literkę) pisać w osobnej tablicy.. przykro mi ale przy obecnym poziomie doświadczenia nie będziesz w stanie tego sam zrobić. Wyświetlacz nie...
Witam Zrobiłem termometr na Ds18b20 i wynik wyświetlany jest na 3 wyświetlaczach 7 segmentowych Led. Dodatnia temperatura działa bardzo dobrze jednak gdy pojawia się ujemna temperatura poniżej - 10 stopni na wyświetlaczach pokazują sie same 8 8 8 . Może to dlatego że pojawia się - ? Nie wiem jak w bascomie można napisać moduł z liczby np. |-10| = 10...
BASCOM'a nie znam więc programwoo nie pomogę, spróbuję natomiast od strony sprzętowej. Czy nie możesz po prostu wykorzystać przerwania od bufora odbiorczego UARTA? Wszystkie znaki można w nim zapisywać do globalnej tablicy. W przypadku zaistnienia określonej konfiguracji znaków, ustawić odpowiednią flagę i wyzerować tablicę. Jak to zrobić w tym języku...
Witam. Temat rzeka. C jesli jest darmowe, to przez chwile, pozniej nie dziala optymalizacja i kod zajmuje polowe pamieci. Nauczylem sie wszystko robic w ASM i probowalem w C,ale mnie "trafialo". Zdaje sobie sprawe, ze pewnie nigdy nie zrobie nic z USB, bo wszystko jest gotowe tylko w C, wlasciwie sie nie dziwie. Za to ethernet prawie zrobilem w ASM,...
Witajcie. Skusiłem się napisać ponieważ po tygodniu walki stwierdziłem, że już więcej nic nie wymyślę. Otóż chciałbym zbudować w oparciu o procesor atmega nadajnik IR który nada wybrany kod w określonych odcinkach czasu. Otóż korzystam z programu MKdecoder firmy atnel, który w bardzo fajny sposób dekoduje sygnały IR z dowolnego pilota przedstawiając...
Witam. Zakładam nowy temat ponieważ szukałem informacji na ten temat lecz nie znalazłem odpowiedzi. Chodzi o wprowadzania liczb 2 cyfrowych z klawiatury matrycowej. Do odczytu klawiszy wykorzystuję instrukcję "Getkbd". Nie wiem jak dokonać odczytu ile razy został wciśnięty klawisz. W celu wprowadzania liczb wielocyfrowych z klawiatury. Za pomocą zmiennej...
w helpie bascomowym jest napisane jak sie poczyna z tablicami avg nigdy nie uzywalem, jakos niebardzo mi to sie spodobalo czasem lepiej zrobic samemu jakas funkcje, bo te wbudowane w bascoma czasem sie dziwnie zachowuja
W sumie strzelam na oślep, nie ma tam czegoś takiego jak np. define EXTENDEDRAM=16384 ? inne słowa jakie przychodzą mi na myśl to EXTRAM, RAMSIZE RAMEND SRAMEND... He he na oślep, a w tarczę trafił :wink: ->astral Nic prostszego nie udało mi się wymyślić :( Const Extramend = 262144 / 8 -1 Const Extramstart = _ramsize '_ramsize to stała "wewnętrzna"...
A więc wniosek , że program to jedno , a sprzęt to ... drugie :D Heh ..no niestety a ja jakos olalem stroen sprzetowa myslac ze na defaultowych ustawieniach powinno smigac ;) Czyli telefon wysyła echo. W takim raznie niestety wysyla ...i wylanczyc sie go nie da ..bo nie przyjmuje ATE=0 ..... Bufor ..in , czy ..out jest buforem tzw. kołowym. mam rozumiec...
Bez podania treści programu przed i po zmianie oraz podaniu, która zmienna jest naruszan to będzie "trochę" ciężko ! Jedyne co mi przychodzi do głowy to takie przypadki jak - stos programowy może włazić w obszar zmiennych przy wywołaniu podprogramu (teoretycznie powinno być to niemożliwe) - zmienna adresująca tablicę np. w pętli sięga "o jeden most...
więc ja tez mam zapytanko jak w bascomie zrobić coś takiego aby zapisac dane z tabeli załozmy mam cos takiego U Dodano po 1 tych danych oczywiscie ma być dużo wiecej i miejsc po przecinku też np do 4 miejsc po przecinku ...jeśli miałoby to jakies znaczenie przy wprowadzaniu danych taka informacja:) Witam Można ale jest to procedura dość pamięciożerna....
Pozdrawiam wszystkich. Panowie, czy istnieje w Bascomie funkcja która odczytuje określoną liczbę zmiennych (np. z tablicy) typu liczbowego poddaje konwersji do postaci tekstowej (tu się domyślam że to bedzie char) i wysyła RS 232 (print) do komputera ale w ten sposób aby znaki były wyświetlane (np. w hyper terminal) jeden po drugim w jednym wierszu...
Ale ja andal nie rozumiem czym rozni sie PortB od PinB ! PortB.0 -> koncowka 0 portu b PinB.0 -> koncowka 0 pinu b ? xD To bez sensu. edit: Najletwiej byloby mi zrozumiec to na przykladzie tablicy. W php jest np. tak: $x = array('0' => 'costam', '1' => 'xyzabc'); //Robie tablice echo $x['1']; //Pokaze xyzabc
Przyznam rację: bascom jest dobry, ale do PROSTYCH PROGRAMÓW... a do prostych nie nalezy pisanie czegos w rodzaju sprzętowej bazy danych na AVRa. Bascom generuje POWOLNY kod, to jest FAKT. I oblusuje TYLKO 5 poziomów zagnieżdzenia ifów. To tez jest fakt. I TRAGICZNIE rozwiązane przekazywanie parametrów do funkcji? Gdzie w bascomie są WSKAŹNIKI? gdzie...
Spoko, tylko to jest na ATmega128. Co do kart pamięci to musiałbyś napisać obsługę sam. Generalnie poczytaj notę katalogową. //inicjalizacja Timera 0 jako generatora PWM void Timer0_PWM_mode() { DDRB |= (1<<4); TCCR0 |= (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00);...
Jak mógł byś bliżej naświetlić i pomóc zrozumieć jak można by to zrobić był bym wdzięczy. Domyślam się iż chodzi tu o rozbicie odczytanego wyniku na dwie zmienne typu Byte lub Long. W pierwszej zmiennej mamy część całkowitą wyniku, a w drugiej część po przecinku. Można i tak. Można też wpakować cały wynik do zmiennej całkowitej tak, aby znajdowała...
Witam. To jest adres polskiego helpa. Poczytaj. Najlepiej odebrane liczby wrzucaj w pętli do tablicy. Odczytujesz z tablicy podając pozycję liczby. W helpie powinny być przykłady użycia poleceń.
Tak, programuje procesor bezpośrednio w Bascomie używając stk200/300. Problem rozwiązałem usuwając zmienne Dim Etab_czas1(40) As Eram Long At 1 'tablica zawiera wszystkie kolejne czasy operacji na zaworach Dim Etab_czas2(40) As Eram Long At 161 wtedy odczytuje z pamięci właśnie za pomocą Readeeprom Z, adres_bajtu Jest to dla mnie trochę...
Książka to "Programowanie Mikrokontrolerów AVR w jez. BASCOM" Program termometra. Przykład z książki. '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 oscylatora 'taktującego mikrokontroler...
Witam. :?: Potrzebuje pomocy w realizacji napisów, które będą przechowywane w pamięci eeprom. Ma to mniej więcej wyglądać tak, że przed rozpoczęciem głównego programu na wyświetlaczu LCD 2X16 mają zostać wyświetlone odpowiednie informacje. Zaznaczyć tu trzeba, że tych informacji będzie dość sporo, więc potrzebny będzie czas na swobodne przeczytanie...
W schemacie pominąłem zasilanie i podłączenie LCD. Kod: (został wzięty z książki M. Wiązania - "Programowanie mikrokontrolerow AVR w jezyku Bascom", usunąłem kod od obsługi LCD bo mam go ustawionego w bascomie) $regfile = "m8def.dat" $crystal = 8000000 Config 1wire = Portc.5 'konfiguracja linii magistrali '1-Wire Declare Sub Odcz_temp 'procedura...
Dołącz do ramki np znak nowej linii '\n' i odbieraj znaki aż do jego napotkania zapisując ramkę do tablicy potem zostaje tylko ją zinterpretować określając wielkość tablicy.
Program działa, chociaż wydaje mi się, że temperatura jest ciut zawyżona, no ale może i faktycznie taka jest. Mam jeszcze inny problem, a właściwie póki co za małą wiedze w temacie, żeby wiedzieć jak ten temat ugryź, a mianowicie: Mam tak zdefiniowane zmienne: ( or ) missing [IF(CHR(S2(1)) = 4 THEN] Assigment error...
To można rozwiązać na wiele sposobów. Jeśli tylko cześć ramki jest stała a zależy Ci na wartościach odebranych to można użyć bufora kołowego i kiedy wykryjesz koniec ramki to wciągasz z bufora poprzednie siedem bajtów. Tutaj jednak sprawa jest prostsza. Poniższy mikroprogram powinien sprawdzać po kolei nadchodzące bajty. Jeśli się zgadzają to wskaźnik...