witam ! '2 wyświetlacze LED 7segmentów 'fusebity ustawione fabrycznie $regfile = "attiny2313.dat" $crystal = 1000000 Config Portb = Output 'katody segmentów LED Config Portd = Output Anoda1 Alias Portd.0 Anoda2 Alias Portd.1 Dim Nr_wysw As Byte Dim Cyfra2 As Byte Dim Cyfra1 As Byte Dim Temp_liczba_1 As Word Dim Temp_liczba_2 As Word Config...
"Jeżeli potrzeba, mogę wklejić zdjęcia oraz cały program. " To wklej, bo z tego co przedstawiłeś wiemy tylko że program gdzieś "skacze", ale gdzie?
Ponieważ Fusing zwraca zmienną tekstową więc deklaracja zmiennych stanowiących wynik tej instrukcji powinna być następująca: Dim V As String * 6 Dim A As String * 6 Dim P As String * 6 Dim R As String * 6 Dim Vod As String * 6 Zmienne są wystarczająco długie dla zakresu 99.9. Jeśli wartość przekracza 100 powinno być String * 7
Następnym razem napisz jaki mikrokontroler i z jaka prędkością jest taktowany. Problemem może być to że chcesz coś wyświetlać w procedurze obsługi przerwania. Lepiej unikać takich sytuacji. Pewniejszym rozwiązaniem będzie ustawienie tylko flagi w przerwaniu i szybki powrót z niego. Potem w programie zająć się wyświetlaniem kiedy napotkamy flagę. Druga...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
Nie podałes symbolu wyświetlacza. Niektóre potrzebują ujemnego napięcia dla kontrastu, natomiast jeszcze inne mają zamienione + z - np. WM-C1602 A i jeszcze jedno napisałes ze dałes ok.5V - mało to precyzyjne. No i ten reset na schemacie mi się nie podoba, ja bym to podpioł do +5V przez rezystor 10kΩ. Napisz czy udało ci się prawidłowo zaprogramowac...
Temp_liczba musi być typu Word a nie Byte.
Pomnóż przez 2, zaokrąglij do wartości całkowitych, podziel przez 2, i wyświetl z rozdzielczością do 1 miejsca po przecinku.
Witam 1.Diody D1 D2 1n4148 od elektrozaworów w obecnym połączeniu nie spełniają swojej roli, chyba że zostaną zamienione na diody zenera. 2.Nieodfiltrowane zasilanie mikrokontrolera, brak chociażby prostego filtru LC na zasilaniu 3.Nóżki mikrokontrolera nieodsprzęgnięte za wyjątkiem jednej? 4.Brak kondensatora na nóżce reset 5.Płytka pcb jest do przeprojektowania...
Witam, to jest podchwytliwe pytanie? [syntax=vbnet]suma_ok_nok = licznik_ok + licznik_nok procentowo_ok = licznik_ok * 100 procentowo_ok = procentowo_ok / suma_ok_nok [/syntax] Pozdrawiam.
Wyświetlacz LCD ma być nad czterocyfrowym wyświetlaczem LED, z nie poza płytką. Nie możesz sugerować się rys. 3.1 na stronie 56, bo jest to tylko schemat ideowy. Powinien być zamontowny zgodnie z rys. 3.2 na stronie 57, a więc cały wyświetlacz LCD znajduje się w obrębie płytki testowej nad czterocyfrowym wyświetlaczem LED, a więc go zasłania. Na rysunku...
ja zrobil bym cs takeigo: Dim X As Byte set p2 jazda: if p2.6 = 0 then set X if p2.4 = 0 then reset X if x = 1 then wyświetlana = first if x = 0 then wyświetlana = second odczytaj z ds`a first odczytaj z ds`a second lcd wyświetlana goto jazda: Mam nadzieje ze pomoże to co zmieniłem zaznaczyłem. Sprawdz. jak i napisz jaki bedze rezultat
Hmm... Miałem ten sam problem ale to było jakiś czas temu i na innym wyświetlaczu nie pamiętam już jak to rozwiązałem. Może popróbuj z ograniczeniem ilości kolorów do ilości obsługiwanej przez wyświetlacz to też można znaleźć w GIMPIE.
...Chodzi mi o to że chce wyświetlić na Lcd znak którego wartośc mam zapisaną w bajcie np D1 - wartość binarna Np w D1 jest 0111000 i chce aby na wyświetlaczy pokazało sie " p " Jak to zrobić ? :) Piotr Takie "cuda" robi się za pomocą polecenia Chr() :D Jeśli w zmiennej jest zapisany kod ASCII jakiegoś znaku , to by wyświetlić właśnie ten znak na LCD...
Tworzysz zmienną sting * 20 i tworzysz tablice byte(20) adresujesz je tak samo i poleceniem lcd chr(byte(a)) stawiasz znak z wybranego miejsca ze stinga.
Masz dwie możliwości, możesz pobrać nowszą wersje BASCOM'a lub dopisać taką linie: [syntax=basic4gl]$lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014[/syntax]
Long = GetAdc(0) Single = Long * 0.01955 String = Fusing(Single, "##.##") LCD String; "V"
Ehh.. Nie znam bascoma ale jak po prostu trzeba zamienić miejsca to Zamiast [syntax=basic4gl]A=Wart And &B00001111 Shift Wart , Right , 4 B = Wart[/syntax] Zrób [syntax=basic4gl]B=Wart And &B00001111 Shift Wart , Right , 4 A = Wart[/syntax]
Kolega potrzebuje po prostu wartości liczby w kodzie BCD jak pisał poprzednik i BCD, HEX i liczby dziesiętne pokrywają się w zakresie 0-9. W takim razie wystarczy wysłać 4 najmłodsze bity na wejście 7447 albo całą liczbę bo i tak podrt wyjściowy jest podłączony tylko to 4 końcówek 7447. Co do wartości powyżej 10 to zaproponowałbym aby użyć wejścia BI/RBO...
ok, tylko najpierw uporam się z przyciskami i nastawami :P Dodano po 28 $regfile = "m8def.dat" $crystal = 8000000 Config Portd = Output 'podłaczony wyświetlacz 'Config Pinb.0 = Output ' anoda 1 źle! nazwa pin służy do odczytu wartości 'Config Pinb.1 = Output 'anoda 2 źle! aby ustawić należy się posłużyć nazwą Portb.x 'Config Pinb.2 = Input...
Witam; Na wstepie chciałbym zasygnalizować, że programowania w Bascom-ie ucze się dopiero od niedawna :) Mam takie pytanko: mam sobie wyświetlacz LCD 16*1 i prosty układ który sobie zlicza detale. Na wyświetlaczu pojawia się napis: ilość sztuk 123 jak zrobić żeby liczba którą wyświetla zawsze była wyrównana do prawej strony? Aktualnie zrobiłem coś takiego:...
Dodaj średnik po print chr(a).Zobacz ,czy to coś da.
Ale ja proponowałem 1000000Hz a nie 10000000Hz To jest 10x więcej! (przekopiowałem z postów-więc może się nie pomyliłem) Jeśli nie zmieniałeś fusebitów to daj: $crystal=1000000 Sprawdzam i liczę: 1MHz=1000000Hz. Uff. Może jeszcze nie mam ciężkiej sklerozy.
Zainteresuj się poleceniem FUSING. Przeczytaj helpa i zobaczysz, że da się zrobić.
Przyczyny mogą być różne: a) uszkodzony wyświetlacz (ale to mało prawdopodobne) b) atmega się nie programuje Spróbuj napisać jej program, dzięki któremu dioda LED będzie mrugała, wtedy zobaczymy czy uC się programuje czy też nie. Pozdrawiam
Mikrokontroler Atiny2313 + wyświetlacz LCD + język programowania BASCOM AVR = wyświetlam co chce na wyświetlaczu. Przy 3V ten model wyświetlacza nie będzie działał
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.
A od czego jest HELP !? "Przeznaczenie: Zwraca określoną liczbę znaków z tekstu począwszy od lewej strony. Składnia: zmienna = LEFT( tekst , il_znaków ) gdzie zmiennazmienna tekstowa, do której przepisane będą skopiowane znaki, teksttekst z którego skopiowane będą znaki, il_znakówilość kopiowanych znaków. Opis: Zobacz także: RIGHT , MID Przykład: Dim...
Witam. Spróbuj nie czyścić ekranu starego wyniku poprzez CLS, ale zrób np. tak: ..... If Generator = 10 Then Wynik = Generator - Czujnik Generator = 0 Czujnik = 0 Locate 1,1 Lcd "WYNICZEK= ";" " 'tu jest 6 spacji między 2 i 3 cydzysłowiem Locate 1,11 Lcd Wynik End If Loop ..... Na dobrą sprawę ciąg "WYNICZEK= " jest stały i nie ma sensu go cały czas...
Twoim podstawowym błędem jest to że ciągle czyścisz ekran. Ta operacja zajmuje prawie 2 ms Nie wiem po co to robisz ? Wystarczy zdefiniować bufor w który bedziesz wpisywać swoje wyniki i ten bufor cyklicznie wyświetlać ale tylko wtedy kiedy to będzie konieczne czyli w zależności od ustwienia ew. flag sygnalizujących np. zmianę czasu. Inna sprawa czy...
Ma czym wyświetlasz dane? Pokaż program obsługi wyświetlania.
Wyłącz JTAG'a w fuse'ach i po kłopocie... Pozdrawiam...
próbowałem tylko ze to musi być wtedy typu single bo word nie przyjmuje zmiennoprzecinkowej liczby czyli nie da sie pomnoży razy 10 próbowałem tez pozmieniać wszystkie typy na single ale też nie poszło
Mam za zadanie z tego programu przerobić tak aby, zamiast wyświetlała się od razu cała linia - to ma po kolei wyświetlać się litera z danego wiersza tworząc dany napis.
Pokaż schemat to raz. Dwa: co to jest? Set Pinb.5 Set Pinb.6 Set Pinb.7 Tak po za tym chyba brakuje ci wartości początkowej timera0... Nie obraź się ale przy tym oscylatorze i preskalerze 64 otrzymasz przerwanie co najwyżej co 2ms... Na koniec zapamiętaj że program zawsze umieszcza się w znacznikach "code".
W przerwniu i programie głównym używasz zmiennych zadeklarowanych jako word. Myślę, ze tu leży pies pogrzebany. W C wystarczy użyc volatile i atomic_block. W Bascim? Był taki na Elektrodzie (niveasoft) co wiedział w jaki tajemniczy sposób Bascom zarządza takimi zmiennymi. Myślę, że nie masz wyjścia, tylko przed odczytej w programie głównym zmiennej...
dołóż do kejsów case else: temp = 88 i daj znać co widać. Zajrzyj też do pomocy od bascom'a to Ci się trochę rozjaśni. Znajdziesz tam odpowiednie przykłady.
Za końcem programu: Nazwatablicy: data 'wartości kolejnych kolumn oddzielone przecinkami Odczytujesz poleceniem lookup. Np.: For X = 0 To 4 cyfra z 5 kolumn Portb = Lookup(x , Cyfra) Waitms Czaskol Next Portb = 0 'kolumna odstępu Waitms Czaskol Zauważ, że tu zmienna "cyfra" decyduje z ktorej tablicy odczytamy dane. ;)
Witam, Twój schemat przypomina trochę schematy z gazet - maksymalne upchanie elementów, co mocno utrudnia czytanie - tylko że tam jest to podyktowane ograniczonym miejscem. Ogólnie robi się tak - wejścia układu po lewej, wyjścia układu po prawej. Sygnały "płyną" z lewej na prawą. Punkty znajdujące się wyżej na schemacie mają zwykle wyższy potencjał...
Witam ! Usuń nawiasy kwadratowe z: [syntax=basic4gl] Deflcdchar [2] , 224 , 231 , 229 , 231 , 224 , 224 , 224 , 224 Deflcdchar [0] , 32 , 7 , 5 , 7 , 32 , 32 , 32 , 32 Deflcdchar [1] , 32 , 4 , 4 , 14 , 14 , 14 , 32 , 32 [/syntax] Tak: [syntax=basic4gl] Deflcdchar 2 , 224 , 231 , 229 , 231 , 224 , 224 , 224 , 224 Deflcdchar 0 , 32 , 7 , 5 , 7 , 32 ,...
Kompiluje się bez tego $lib "mcsbyte.lib"
To wiele wyjaśnia. Spróbuj tak ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 64 $baud = 9600 Config Lcd = 16x2 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.6 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 Cursor Off : Cls Dim K1 As Byte Dim K2 As String * 20 Dim Id As String *...
Sprawdź w polskim helpie "config lcdpin" Dodano po 3 A jaką wartość ma lcd1 i lcd2?
Podłącz do masy R/W, D0, D1, D2, D3 dużo nie będzie cie to kosztowało, a przynajmniej nie będzie tam ewentualnie stanów nieustalonych. Wyrzuć wyświetlanie przed pętle DO LOOP (aby nie zmieniać stanów na wyświetlaczu w trakcie działania programu)
Po resecie WR daj 15ms zamiast 5ms. Chinole tak mają.
Na oko gosub Przedpetla: wygląda na podprogram , ale nie znalazłem "declaresub Przedpetla" Z podprogramu wychodzi się przez "end sub" , a z przerwania przez "return" ( chyba, bo dawno w basicu nic nie pisałem) , ilość Loop do DO jest przerażająca tak się tego raczej nie robi i ogólnie chaos. Lepiej przemyśl program jeszcze raz. .. .. Declare sub podprogram1...
generalnie mozna to chyba na 2 sposoby zrobic: 1. tara =Fusing(w, "###.&&") 2. wyifowac mniej wiecej na zasadzie: if (tara>=10) locate x,y; if (tara>=100).... .... edit: w 2. oczywiscie o wartość chodzi ;]
Jest rok 2015 teraz robi się to tak: DS18B20 moze być zasilany z linii transmisji bądź trzecim pinem. Jeśli masz podłaczone 5V na stałe podczas pracy programu czyli do DS`a idą trzy przewody to DS może dla Ciebie przygotować temperature i poczekać spokojnie aż ją odczytasz. Czyli każesz mu przygotować temperaturę i wracasz po nią za sekundę. Kiedy wracasz...
Dzięki sprawdzę co i jak
Witam , Bawię się ostatnio trochę bascomem, podpiąłem lcd zaprogramowałem i wszystko działa, teraz chciałbym zrobić coś takiego, że wyświetlacz będzie wyświetlał tekst po wciśnięciu przycisku tj. pojawieniu się na Porcie B.1 jedynki. $regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1...
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...
Z tego co pamiętam to różnice były między innymi przy dokładności pomiaru dla różnych napięć zasilania (5V a 3.3V). Więcej nie pamiętam. Możesz sprawdzić w nocie katalogowej?
Sprawdzilem Twoj program :) ale nadal to samo... zmienilem w nim jedynie: Config 1wire = P2.0 na P2.3 Dzisiaj kupilem nowy DS18B20 i chyba dostalem lipe :// napiecia sie zgadzają rezystor 4,7k dałem pomiedzy P2.3 a + zasilania Pozdrawiam dzieki za zainteresowanie :) Dodano po 43 wynik jaki widac na LCD to -0.0
dodanie kwarcu zegarkowego rozwiązało problem
:D [syntax=basic4gl] Tabela: ' 0 1 2 3 4 5 6 7 8 9 Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144, 192 ' <-spróbuj dopisać [/syntax] , ale pomyśl też o takim warunku :P [syntax=basic4gl]Decr Sekjed If Sekjed = 255 Then Sekj = 9 Decr .. End If[/syntax]
1) Do Debounce dodaj dopiski SUB 2) Program prawdopodobnie wywala ci się na pierwszym Lookup od setek, szukasz po CYFRA zamiast TEMP (wywalenie to być nie musi ale może być problem) 3) Zrób najprostszy test: wywal te swoje lookupy, przyciski i resztę kombinacji. Na sztywno przypisz cyfry, zrób ich lookup i wyślij na wyświetlacz. Zobacz czy chociaż to...
Jaka wersja BASCOM?
pomoglo opoznienie czasowe dzieki zamykam
Dim Koniec As Byte Koniec = 0 Do Locate 4 , 3 If Pina.0 = 0 Then Lcd Chr(0); Waitms 10 Else Lcd Chr(1); Waitms 10 End If If Pina.1 = 1 Then Koniec = 1 End If Loop Until Koniec = 1
Masz zapętlenie wywoływania podprogramów instrukcją GOSUB. każdy podprogram np: Wyswietlanie_alarmu_temp powinien być zakończony instrukcją RETURN. Jeśli tak nie masz to w nieskończoność wywołujesz kolejne podprogramy i po którymś cyklu kończy ci się rozmiar STOSU :( np HW_STACK. Dlatego program zaczyna wariować i gubić wartości zmiennych SOFT_STACK....
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 Po co Ci aż 7 12-bajtowych stringów :?: Wystarczy: Dim Dzientygodnia As String *12 , Nrdnia As Byte ... Dzientygodnia=Lookupstr(Nrdnia,Tabli... '0=Pon, 1=Wtor, ... Lcd Dzientygodnia; ... Tablica: Data "poniedziałek", "wtorek"...
Zapoznaj się z $hwstack, $swstack i $framesize.
Co wyświetla ci lcd??
Po prostu spróbuj, nie wybuchnie ... (chyba) :)
Wiec Bascom powinien ci wystarczyć. Zajmowałem się nim na początku, później przerzuciłem się na C i jestem z tego zadowolony. Pisany przeze mnie program jest pod większą kontrolą programisty. W bascomie wyświetlanie czy inne rzeczy szybciej można napisać lecz zwykle kosztem długości kodu wynikowego. Lecz wybór należy do ciebie. Dodam jeszcze, że to...
No więc tak. Program udało mi się zlepić po przeczytaniu kilku przykładów. Program oczywiście działa. Mam zaimplementowane 3 czcionki i mogę wyświetlić dowolny tekst. Chodzi mi o wyświetlenie grafiki dajmy przykład Bateria albo coś innego np logo jakieś. Oczywiście jeśli się da to może być grafika BGF. Niestety nie mogę tego opanować na OLED, ale powoli...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Bo znak 0 to znak końca linii. 0 wyświetlane jako chr zostanie potraktowane jako znak o kodzie 0 a więc pójdzie do wyświetlacza. 0 "wyświetlane" jako String jest widziane jako znacznik końca textu a więc ten text nawet nie trafi do LCD. Jednym słowem LCD nawet by to wyświetlił, ale BASCOM kompiluje program tak żeby nie przepuszczał zera.
Biblioteka której użyłeś nie ma możliwości dowolnej konfiguracji pinów. W załączniku masz bibliotekę prosto z Rosji :D Chiński wyświetlacz sam mi się uszkodził ale coś tam wyświetla :D http://obrazki.elektroda.pl/6257086800_1... Kod którego użyłem do zrobienia tego zdjęcia [syntax=vbnet] $regfile = "m8def.dat" ' specify the used micro...
Kolejność? Z = 3 Y = 2 + 3 X = Y + Z
Witam. Zrobiłem sobie termometr na atmedze8, na czujniku ds18b20, wszystko ładnie działa, lecz temperaturę mam wyświetloną tylko na górnej linii wyświetlacza, a chciałbym, żeby temperatura była wyświetlana duża na 2 liniach wyświetlacza. Jest to wyświetlacz 2x16. Czy ktoś mógłby mi pomóc w napisaniu kodu do wyświetlania tej temperatury na całości wyświetlacza...
Kolego w jakim języku piszesz? Do czego ma być ta biblioteka C++ Arduino a może Bascom ?
Bo bascom nie używa lini rw, podepnij ją zamiast do up bezpośrednio do gnd
Przyczyną może być bascom :] Wykorzystujesz interface czterobitowy bez możliwości odczytu, więc program nie ma jak sprawdzić, czy wyświetlacz wykonał już żądaną operację. Zostało to rozwiązane tak, że program po prostu czeka pewien czas i być może ten czas oczekiwania jest za krótki. Spróbuj wstawić ten "Wait 1" za "Locate 2, 1" Zobacz też poleceie...
W symulacji pomogło to: $hwstack = 64 $swstack = 64 $framesize = 64
Witam Mam taki [url=http://www.artronic.pl/o_produkcie.... LED i nie umiem wyświetlać na nim cyfr, tzw. umiem ale nie tak jak to powinno się robić. Wyświetlam je tak [syntax=basic4gl]Portb = &B1100110 Portd.1 = 1[/syntax] a chcę pisać np. wys5 i wyświetli się liczba 5 To moje kody [syntax=basic4gl]Tabela: Data 63 , 6 , 91 , 79 , 63...
LCD podłączony pod port D, z portu B biorę zasilanie. Eeeee mam nadzieję że to z tym B to błąd...... port ma wydajność 20mA a ty ciągniesz z niego całe zasilanie? Może jeszcze dopowiesz że podświetlanie wyświetlacz też ma?
Witam... Jesli moge w czyms pomoc... Dorzucam programik z wlasnego termometru. Wprawdzie wykorzystuje DS1820, ale latwo przerobic go na DS18B20 - przykladowe procedury i kody mozna znalezc na www.mcselec.com - bylo to na pewno. Mam nadzieje, ze przyda Ci sie... Pozdrawiam.
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
Jak napisałem wcześniej LCD jest wyposażony w cyrylicę. Problemem jest jak tą cyrylicę wpisac do programu bezpośrednio z klawiatury. a co ma wspólnego cyrylica wpisywana z klawiatury z tą cyrylicą w LCD ??? otóż nie ma nic wspólnego poza tym, że mowa o znakach cyrylicy. Nawet jeśli już być miał możliwość pisania jak to mówisz bukw na PC to ich kody...
Ok, już sobie poradziłem z problemem tego krzaka :D Teraz mógł by mi ktoś powiedzieć, jak wyczyścić bufor uarta w bascomie??
odłącz programator i zobacz czy będzie działać po resecie (bo użyłeś akurat linii które wykorzystywane są i do programatora ISP i do wyświetlacza. A programator czasami wymusza jakieś stany na swoich wyjściach - więc możesz mieć kaszankę na liniach danych wyświetlacza)
Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780. Oczywiście, chętnie pomogę Ci napisać ten program. Poniżej znajduje się kod, który powinien zrealizować to, co opisujesz. Wprowadziłem kilka...
To pewnie wynika z tego że powstało dużo różnych AVR`ów. Jeśli na początku ktoś korzystał tylko z jednego typu to mógł sobie w IDE ustawić konfigurację dla stosów a nawet wyświetlacza LCD czy I2C. Stąd dla wstecznej kompatybilności dalej tak można zrobić. Na przykład ustawienia dla stosów są tutaj tylko moje są już zmienione bo mogę szybko wkleić to...
Witam, Jak można odebrać i wyświetlić na LCD taki ciąg znaków wysyłanych z PC przez RS232 "Wzmienna spacjazmienna" (PC->Atmega) "W128 021" gdzie W jest warunkiem odebrania znaków przez Atmegę i ciąg zwrotny (Atemga->PC) "C125 035"
jeśli nasz zmienną typu integer to zmienne obliczjące cyfry też zmień na integer
czy ten zapis: Readeeprom Txt , 0 spowoduje że Bascom sobie przeczyta cały text "napis1" ? Być może przeczyta, albo przeczyta z błędem. Unikaj addressu zeroweg dla EEPROM. Nie jest to wada/przyczyna spwodowana przez Bascom, ale 'od dawna' problem z AVR Atmel. na przykład: ................ cls Const Numds = 17 Dim Dispseq(numds) As String *...
W c niema żadnych bibliotek do obsługi takich rzeczy jak wyświetlacze LCD, więc trzeba skorzystać z dodatkowej biblioteki, można napisać ją samą, albo ściągnąć z internetu, aktualnie jest już dużo takich bibliotek do pobrania. A później to wygląda już bardzo podobnie jak w bascomie, tylko, że albo masz tą bibliotekę w głównym pliku programy(nie polecam)...
Zuba1 - jest szansa że zadziała 1) Config Pinc i pod spodem pinc zamień na config portc i portc 2) Jeśli nie definiujesz lcd w swoim programie to musi być zdefiniowany w opcjach bascoma (gdzieś w menu poszukaj) 3) Działanie programu będzie dziadowskie bo zadziała ale tak się tego nie robi. Kiedyś go sobie poprawisz.
A reset atmegi podciągnięty do plusa opornikiem?
Post był raportowany. Przeniosłem z: Mikrokontrolery
użyj do obsługi odczytu temperatury z DS timer0 ;) dzieki czemu nie bedziesz musiał zatrzymywać całego programu
Ja stosuje takie wyświtlanie czasu: [syntax=basic4gl] Dim Wart_Bcd as Byte Wart_bcd = Makebcd(godziny) Lcd Bcd(wart_bcd) ; ":" Wart_bcd = Makebcd(minuty) Lcd Bcd(wart_bcd) [/syntax]
[syntax=vbnet][/syntax]Witam; Małe pytanko odnośnie wyświetlania wyników - dokładniej chodzi o temperaturę ujemną [syntax=vbnet]1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &H55 1wverify Dsid1(1) If Err = 0 Then 1wwrite &HBE T = 1wread(2) T = T * 10 T = T / 16 S = Str(t) S = Format(s , " 0.0") Lcdgoxy 1 , 3 Lcdstr S , 2 , 0 Lcdupdate[/syntax]...
Dokładnie tak jak pisze kolega xury. Być może wywołujesz jakiś podprogram, który wywołuje inny, który znowu wywołuje ten pierwszy albo gdzieś jest wyskok z podprogramu przez jakieś Goto. Jeśli używasz funkcji lub procedury z przekazaniem parametrów i nie zmieniłeś wielkości stosu to na 99% będzie to wina jego zbyt małej wielkości.
no normalnie, pobierasz długość nazwy: A=len(tekst) i potem dajesz znak zerowy zakończenia tekstu: tekst(a)=chr(0); mam nadzieję, że POMOGŁ em
Witam.. Mam mały problem odnośnie odbioru danych/wyświetleniu przez Atmege na LCD. Zapewniam ze jak wyjmę procka i włączę terminal wszystko działa poprawnie, zaś po włożeniu kostki i programu niżej nic sie nie dzieje nie dostaje żadnej odpowiedzi ani na LCD ani Terminalu, w czym rzecz? [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 $baud...
http://www.elektroda.net/download/pafile...
Przecież pokazuje, że masz błąd w linii 6
brak informacji o użytym kwarcu $crystal = xxxxx jak narazie dopisz to. Pozdrawiam Józef
wyświetlanie bascom bascom wyświetlanie liczb bascom wyświetlanie ustawień
ch340 rs232 spawarka normy pw3015 unitra
Gdzie kupić nowe tulejki prowadzące zwory HC 102? Wskaźnik wysterowania do wzmacniacza Unitra WS 442