Zamaskować nieużywane bity rejestrów przechowujących czas. Nie możesz zakładać, że one mają wartość 0 - w praktyce mają wartość losową.
...Dlatego myślałem że mam gdzieś błąd w programie. pozdrawiam Nie zdawaj się nigdy na symulator Bascoma , bo on często fiksuje :) Steruj silnikiem w przerwaniu Timer0 , a problemy z szarpaniem znikną. Również przerwanie Timer2 , jest zbyt częste i zabiera procowi gro czasu. Piotrek
Wg. mnie "przepychanie" całych ekranów z procka do LCD nawet kiedy ma on swój kontroler to pomyłka. Łatwo to policzyć ile czasu zajmie taki transfer. Przy okazji mojej "zabawy" z SED-em od kasy fiskalnej z allegro przy zwykłym czarno białym LCD ta pseudo-animacja była warta funta kłaków.Zatem może się mylę ale trzeba zaprząc tu procka którego przestrzeń...
Podpinam zasilanie na Vss i Vdd. Co robić wyprowadzeniem Vlcd ? czy tylko pod kondensator ? Wg mnie powinno tam się pojawić napięcie a jest równo 0V. Po raz pierwszy mam problem z głupim wyświetlaczem. Głupi wyświetlacz? Hmmmm.... Jeśli wszystko podłączyłes zgodnie z zaleceniami producenta, to czas teraz oprogramować ten wyświetlacz. Na stronie 36...
Db5 = Portb.6 Config 1wire = Portb.6 To też nieciekawie wygląda :D
A po co tak teoretyzować - wystarczy zajrzeć do PDF'a scalonego odbiornika TFMS czy TSOP żeby zobaczyć jak należy postąpić nie tylko z linią sygnału wyjściowego ale też jak podać zasilanie. Ludziom nie chce się tam zajrzeć a potem zdziwienie, że nawet jak działa - to jednak jakieś błędy się wkradają, czasem jakieś zakłócenia itp (jak tam już zajrzysz...
Zasymulowałem Twoje środowisko i wprowadziłem kilka poprawek. Działa zgodnie z założeniami. Debouncingu nie dodawałem, choć przydałby się. [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.1 Config Lcd = 20 * 4 Cls Cursor Off noblink...
Wystarczyło popatrzeć na stronę producenta. Zobacz w załączniku.
"niestety w obu kodach brakuje czegoś co by dodawało cokolwiek do zmiennej A, więc nie przyjmie ona nigdy wartości 1 lub 2 skoro na początku się ją zeruje." Myślę że jesteś w błędzie. To daje A=1 Cls Lcd "krotkie" A=1 wait1 A to: Cls Lcd "dlugie" A=2 wait1 możesz jej nie kasować w ogóle i tak po skoku do MENU będzie ustalona. A to:...
Dla Mode = 6 w Graphic converter musi być zaznaczona opcja Font 6x8, pliki bgf będą większe.
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...
Spróbuj może z terminala coś wysłac ... :?: Piotrek
Chcesz gotowca czy podpowiedzi? Dobra kawałek kodu wrzucę reszte sam dopisz [syntax=vbnet] Locate 1 , 1 : Lcd "Ustaw minuty" Locate 2 , 1 : Lcd Minut ; "" If Plus = 0 And Minut < 59 Then Incr Minut If Minus = 0 And Minut > 0 Then Decr Minut Waitms 200 End If _hour = Godz _min = Minut _sec = 00 If M = 6 Then Gosub Settime [/syntax] Taki mały kawałek...
Naprawdę nie potrafisz [url=http://www.elektroda.pl/rtvforum/vi... przystosować do własnych potrzeb??? Zapewniam Cię, że robiłem to na 10 key i wszystko biegało aż miło...
Przecież masz 5 kanałów - wyjścia: OC1A, OC1B, OC2, OC3A, OC3B... Zmienne przedstawiają wartość modulacji w każdym z kanałów z osobna. Wszystkie PWMy są skonfigurowane jak 8 bitowe zatem zakres to 0..255. Ma tak być. Ponieważ nie ma aliasu (jeszcze) PWM2 dla zmiennej COMPARE2 (rejestr sprzętowy OCR2), BASCOM nie rozpoznaje nazwy PWM2. Jak zajrzysz w...
ale dlaczego w symulatorze podczas wpisywania mam cały czas pustą pamięć
Nie masz za dużo w funkcji obsługi przerwania. Dużo Waitms i jeszcze obsługa LCD. Może przerwania tak szybko nadchodzą, że nie zdąża czasu na wyjście z niego. Funkcja przerwania powinna być krótka
1. Obsługę wyświetlacza - Jaka najlepsza jest częstotliwość odświeżania, jak skonfigurować parametry wyświetlacza w Bascomie?... (Config......,.....,...) Zapomnij. Bascom nie ma natywnej obsługi tego wyświetlacza. 2. Jakie są komendy sterujące pracą wyświetlacza w Bascomie ? - jak się ich używa itp... Też zapomnij. Nie ma takich. Lepiej użyj forumowej/sieciowej...
Poza zmianą nazwy portów będziesz musiał odpowiednio skonfigurować obsługę timera bo z pewnością on jest wykorzystany do liczenia czasu i obsługi wyświetlacza led .
Trzeba dopisać warunek co ma uC zrobić jak zmienna osiągnie "0". Mikroprocesorowi musisz wskazać jak się ma zachować w każdej z możliwych sytuacji bo on niestety nie chce myśleć za Ciebie.
Tak co jeden cykl. Prescale jest 64 wiec nie tu chyba problem. Nic sie nie dzieje na wyswietlaczu a w symulatorze tez nie pokazuje zmian zmiennych. To nie jest jeden cykl, ani też 64 jakby wynikało z podziału prescalera. Wszystko można odczytac w symulatorze, tylko musisz potrafic posługiwac się jego ustawieniami i funkcjami. Poniżej masz przykład...
Niedawno robiłem taki zegarek i proponowano mi napisanie progra,owego roku niz korzystanie z tego z pcf-a. Najpierw musisz ustawić 3 bit w rejestrze kontrolnym np tak: Dim B1 As Byte Set B1.3 I2cstart I2cwbyte 162 I2cwbyte 0 I2cwbyte B1 I2cstop Potem żeby ustawić podstawowe wartości musisz je zamienić na kod bcd a następnie wysłać tak: I2cstart I2cwbyte...
początkujący hmm no może nie jest tak źle ze mną ...powiem tak ... umiem zrobić obsługę np: silnika krokowego,akcelerometru na adc , ale to sa pojedyńcze urzadzenia ..mi chodzi o np: podawanie danych z data na 2 silniki krokowe w tym samym czasie , które robią swoje ,,,lub o odczyt danych z dwóch adc , które obsługują silnik i diody w tym samym czasie.....nie...
Da się na Mega 8 bez problemu. Jak jeszcze nie programowałeś, to poszukaj kursu Bascom z EdW - prościej się nie da - obsługa LCD w Bascomie jest banalnie prosta, DS również. O ile nie masz aspiracji zostać zawodowym programistą, to w Bascom zrobisz wszystko, a nauka zajmie mniej czasu niż C.
Tutaj są operatory bascom/basic: [url=http://www.avrhelp.mcselec.com/inde... - pomoc Bascom AVR online, strona producenta, j. angielski [url=http://sp2ikp.110mb.com/pages/micro... - kurs Bascom, plik .doc, znalazłem w googlach, j. polski Tutaj operatory C/C++: [url=http://pl.wikibooks.org/wiki/C/Oper...
Tak, ale klawiatura jest częściej skanowana i trzeba odczekać jakiś czas aby DS przekonwertował temp. a to przerwanie które używam jest od PCF8583
A jeśli chodzi o AVR to: ON źródło_przerwania nazwa_podprogramu [ NOSAVE ] gdzie: źródło_przerwania - symboliczna nazwa źródła przerwania, nazwa_podprogramu - etykieta określająca gdzie znajduje się podprogram obsługi przerwania. jako żródło przerwania można: URXCprzerwanie układu sprzętowego UART – odebranie znaku UTXCprzerwanie układu sprzętowego...
Witam... Jesli chodzi o wybor pomiedzy '51 i AVR to wybor zalezy juz tylko od Ciebie...
Ale nie obsługa tylko co ile są wywoływane. No obsługa powinna być krótsza. Ale niektórzy potrafią w przerwanie wstawić waitms 500- nie wiem po co ale demoluje to cały program.
Zapewne da się to zrobić inaczej. Da się tak jak w C przy czym w Bascomie wystarcza tylko poprawne wykorzystanie przerwań i obsługa "manualna" kilku rejestrów co akurat dla większości bascomowców jest problematyczne, bo język sam z siebie przyzwyczaja do rozwiązań podanych na tacy. A skoro już trzeba robić coś ręcznie, żonglować bitami w rejestrach,...
Witam, Proponuję w projekcie wykorzystać tani i prosty w obsłudze RTC - zegar czasu rzeczywistego - PCF8583. O ile dobrze pamiętam Bascom ma zaimplementowaną jego obsługę. Pozdrawiam, Piotr.
Nie będę sie rozpisywał: Dim T1 As Single , T2 As Integer ... T1 = -123.50 T2 = T1 'bez części ułamkowej T2 = Round(T1) 'zaokrągli zgodnie z prawami arytmetyki ... Pozdrawiam Piotrek
Witam, wydaje mi się, że wysyłasz polecenie konwersji w trakcie trwania wcześniej wywołanej :-). Proponuje aby to się działo gdy Flaga_odczyt = 1 a nie wywołane z pętli Do Loop i najpierw odczyt DS a potem konwersja. Przydałoby się zatrzymać TIMER0 na czas konwersji. Jeśli bardzo chcesz skrócić czas konwersji to proponuję podłączyć DS trzema przewodami....
Wystarczy Err = 1. Getatkbd samo wyzeruje zmienną Err jak zobaczy że jest ona równa 1. No i oczywiście na tym zakończy swoje działanie.
w bascomie nie pomoge ( nie używam ) w asm wygląda to tak: ... mov c,acc.0 mov _ab,c rr a ... ... pozdrawiam Po pierwsze - stawiasz bajt "na głowie" , a po drugie - guteczek nie napisał , że chodzie o 51-kę. guteczek zainteresuj się SHIFTOUT(pin_data,pin_clk,var,mode) ;) Pozdrawiam Piotrek
w rozszerzanie pamięci się nie bawiłem (planuję jak będę mieć trochę wolnego czasu podłączenie karty SD do układu), co do podłączenia to schematu nie mam, ale wszystko jest opisane tu: http://and-tech.pl/files/Kurs%20ENC28J60... łączysz linie SPI (MISO-SO,MOSI-SI,SS-SS,SCK-SCK) i zasilanie. reszta w tym kursie mojego autorstwa z linku.
jeżeli już uzyjesz procka a dwoma uart'ami to budujesz procedure która odbiera od twojego urządzenia string'i jeżeli wykryjesz odbior pierwszego string'u (czyli nagłówka) np if odebrany="wzór nagłówka jeden" then ustaw flagę że nastepny string to będą pierwsze dane wtedy : if flaga1=1 then pierwsze_dane=odebrana:reset flaga1 z drugim nagłówkiem i drugimi...
To jest działający kod dla INA226 napisany dla ATMega16. Pewnie mógłby być ładniejszy, ale wiadomo - zawsze da się coś poprawić :-) Z pewnością da się łatwo zaadaptować dla INA219 Nie porównywałem datasheetów, ale sprawdź adresy do komunikacji, być może będziesz coś musiał zmienić w sekcji "inicjalizacja". Zakładam, że dokładnie przestudiowałeś datasheet...
po krótkiej kalkulacji wychodzi, że przy prędkości 9600 jeden znak wysyła się przez około jedną ms. W takim razie wysłanie 9 znaków (plus 2 na przejście do nowej linii) to ponad 10ms. Rozpisałem printa na składowe elementarne. Poniżej wysyłam toś takiego "A00000000<lf><cr>" Sub wyslij Portc.0 = 1 waitus 10 udr = 65 waitus dly udr = Pinb.7...
Dobra nie ma się, co nad tym rozczulać. :crazyeyes: Marnujemy na to czas, jak jest burak w książce to se możemy szukać błędu. W oryginalnej pomocy BASCOM też nic nie pisze na temat obsługi RC5 na przerwaniach. Spróbuje coś napisać na tym działającym kodzie. Masz w domu tę pamięć EEPROM 24C16. Jak tak to daj znać, i zaprogramuj w niej jakiś tekst, ale...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
Czy Bascom ma procedury obsługi do DS1338?
Witam próbuje napisać program w Bascomie dla At90S2313 do obslugi wyswietlaczy LED za pomoca 74LS164. POdłączyłem dwa wyswietlacze które obsługuje multipleksowo. Oto kod źródłowy: Ddrd = &B1111100 : Portd = &B1111111 : Ddrb = &B11111111 : Portb = &B11111111 Tccr0 = &B11 : Timsk.1 = 1 : Sreg.7 = 1 : On Timer0 Co4ms 'Tccr1b = &B11...
Z tego fragmentu nie wiadomo czy używasz przerwań. Może wywołujesz jakieś przerwanie i jego obsługa zajmuje tyle czasu , że przychodzi następne przerwanie i program się pętli ( jedyne co robi to obsługuje przerwanie )
A w tych dodatkowych skokach których nie chcesz powinny być wszystkie Case i IFy. A te wszystkie debounceusy powinny być w 1 procedurce do której skakałbyś 1 Gosubem gdybyś tylko chciał obsłużyć jakiś klawisz.
1. tak 2. tak
Sprawdź ten kod. Powinno być wszystko OK. Początkowo chciałem tego "PLL Lock" zrobić na przerwaniu ale widzę, że podłączyłeś tam LCD. $regfile = "M8def.dat" $crystal = 1000000 Dim X As Byte Dim Wpis As Word Dim Wpis2 As String * 5 Dim Przed As String * 3 Dim Po As String * 3 Dim Dlugosc As Byte Config Portd.13 = 1 Config Portd.12 = 1 Config...
Kolego (at)miszcz310 tu nie wykorzystuje się przerwań bo to enkoder magnetyczny z interfejsem I2C który dodatkowo ma tylko wyjście PWM lub DAC. Czyta się go przez odpytywanie co jakiś czas. BTW "Config Encoder = Enabled" to chyba tylko bot mógł napisać ahahahaha :D Trzeba sobie ustawić Timer i odpytywać. Enkoder ma 14bit więc najprosciej jest chyba...
link który podałeś nie działa ale mam już pdfa do tego. Wygląda na to że to nie takie proste, może jednak lepiej na razie jeszcze odpuścić te lcd... Szkoda, może coś z czasem się uprości, może będzie to można prościej zrobić jeśli chodzi o obsłużenie z prostych procków typu mega. To znaczy może zrobią kontrolery które odwalą czarną robotę na pokładzie...
Timer skonfigurowany jako Counter liczy impulsy z zewnątrz, a nie mierzy czasu.
Witam, Mam problem ze skomunikowaniem się z pamięcią AT25F2048 używającej interfejsu SPI. Stosuje interfejs SPI programowy. - Zasilanie mam 3,3V wspólne dla pamięci i procesora, wszystko jest porządnie wyfiltrowane (osobno na procku i pamieci). - Pamiec jest podlaczona bezposrednio do pinow procesora. Piny te nie sa uzywane do niczego innego. Linia...
Witam Owszem pamięć komunikuje się za pomocą magistrali I²C. Bascom ma wbudowane procedury obsługi takiej magistrali więc nie powinno być większych problemów. Warto przeczytać kilka razy helpa, żeby zrozumieć jak tą magistralę obsługiwać. Nie jest to skomplikowane ale zrozumienie tego ograniczy ilość nerwów, przekleństw i czasu. -- pozdrawiam
Zacznij może najpierw robić obsługę FAT i pobaw się WAVE. Obsługę FAT już mam, a Wave mnie po prostu nie interesuje. Projekt, który chcę wykonać, to niestandardowe sterowanie carillonem (instrument złożony z kilkunasu dzwonów który gra zaprogramowaną melodię). Niestandardowy, ponieważ chcę, żeby "programowanie melodii" polegało na wykonaniu odpowiedniego...
Witam ! Bascom AVR Demo 1.11.9.8 ma na liście ten typ, sprawdziłem. Pozdrawiam. Stefan
trochę późno ale co tam , tu masz link z przykładami obsługi lm76 : http://www.qsl.net/pa3ckr/bascom%20and%2...
Zgadzam się z kol.Saabotaz zacznij pisanie od nowa tylko na początek zrób sobie schemat blokowy w którym uwzględnij wszystkie podzespoły potrzebne w danej konfiguracji robota . Na pewno wspólnym blokiem dla wszystkich będzie sterowanie dwoma mostkami H , następnie blok czujników na koniec komunikacja RC5 . Następnie napisz 3 programy które w czasie...
Czy jeżeli w Bascomi-e, w przerwaniu, ............ ......... czy zapis będzie trwał, a procesor w tym czasię będzie już wykonywał inne rozkazy? Zapisywana jest zmienna bajtowa. Wpis wartości zmiennej do EEPROM nie odbywa sie samoczynnie, jak powiedzmy przesączanie wody przez lejek(!). Tego wpisu dokonuje processor; nie ma tam pośrednika (chyba jedynie...
No to mamy winowajcę. Robienie czegokolwiek długotrwałego w przerwaniu to chory pomysł, ale problem polega na tym, że procedury obsługi LCD nie blokują przerwań na czas wykonywania operacji na LCD - dołóż blokowanie i odblokowanie przerwań na prymitywach LCD i zadziała (jako proteza). żeby zadziałało dobrze - przenieś obsługę 1Wire do pętli głównej.
to jak sterować np.: 3 diodami led z czego każda ma inną częstotliwość mrugania i do tego dochodzi pomiar i transmisja? czy to będzie led czy silnik to czas nie może się zmienić.
Pamięć MicroWire obsługuje się podobnie do pamięci SPI
Witam ! Schemat wyprowadzeń wyświetlacza ( podobnego, bez dwukropka). Numeracja powinna się zgadzać z Twoim wyświetlaczem. http://obrazki.elektroda.net/93_12604604... Jak widać na rysunku wszystkie 4 segmenty A są połączone razem B razem, C razem itp. Anody wszystkich segmentów wyprowadzone są osobno. Aby ten wyświetlacz działał musisz multipleksować...
Jeśli masz do dyspozycji timer to zmień podejście do rozwiązania problemu. Ustaw timer tak, aby przepełniał się np. po minucie. To bezpośrednio zapewne nie jest możliwe (długość licznika), ale np. ustaw tak, aby przerwanie ovf występowało np. co 1s, 100 ms, obojętnie. W handlerze tego przerwania umieść dodatkową zmienną zliczającą te przepełnienia,...
Tak na początek kilka uwag. Program po pewnym czasie "pójdzie w maliny" więc na początek trzeba by go napisać od nowa mając na uwadze to aby podprogram mógł się zakończyć. W przeciwnym razie będzie się stos rozrastał co po pewnym czasie spowoduje "wysypanie programu, gdy zabraknie na stos ramu" (ale mi się fajnie zrymowało). Po drugie proponuję od razu...
EEEEEEEj kolego - teraz to żeś zamieszał ;) .... sorki że się uśmiecham ale to nie z ironii tylko z pomysłowości ;) A co ma piernik do wiatraka czyli co ma jakieś INT2 do UART1 ???? no jak można tak odczytywać znaczenie opisu różnych funkcji nóg procesora To tylko oznacza, że ten pin może pełnić rolę albo zwykłego pinu I/O albo rolę RxD1 (czyli wejście...
Ech... ogólnie Bascom niestety nie nadaje się do zadań, w których trzeba bardzo szybko przesłać bardzo dużą liczbę danych, a tak właśnie jest z wyświetlaczami kolorowymi. Kiedyś walczyłem z takim bodajże 4 calowym, to w porywach udało mi się wycisnąć jakieś 0,25 FPS'a ;-) Cały ekran wypełniał się grafiką w 4 sekundy. Druga sprawa, że musisz mieć gdzieś...
No tak, to święta prawda. Do tego Bascom sam z siebie dodaje sporo zbędnych procedur. Najgorszym przykładem jest obsługa LCD - ok 1kb kodu. Ja teraz kończę obsługę I2C Slave bo Bascom oferuje to tylko za dopłatą. Bascom , jest jak ... klucz uniwersalny. Potrafi odkręcić wiele śrubek , ale jest jest duuuuużo większy od np. ósemki oczkowej ;) Tą z kolei...
Dokładnie tak jak masz napisane, z tym, że konfigurujesz jeden z timerów do dliczania czasu. Przykładów w Bascomie z obsługą timera znajdziesz bez liku.
No niestety ale nie działa twój program. Jak już wcześniej mówiłem przy programowaniu cały czas jest włączony i wyświetlają się te kwadraciki nic wiecej nawet nie mruga poprostu wielkie NIC. Pozdro.
- czy praca równoległych timerów nie będzie jakoś na siebie wpływać (program przerywa pracę na skutek działania timera1 by precyzyjnie wyznaczyć czas, a tu w tym samym momencie dochodzi kolejne przerwanie od innego timera, i co wtedy) Timery działają niezależnie, ponieważ realizowane są sprzętowo. Nie będą na siebie wpływać. Program niestety (w tym...
Witam, poszukuje biblioteki w Bascomie kart SD większych od 2GB i schematu połączenia czytnika z jednocześnie pytaniem czy można wykorzystać inne PINY atmegi do poprawnej pracy karty SD ?
zadziała
Jak nie rozumiesz całości to ciężko będzie to tak w kawałkach tłumaczyć bo w drugiej funkcji jest wskaźnik na tablice z danymi. Trzeba pobrać adres tych danych u Ciebie i trudno się wypowiadać nie widząc całości. Mam dużo swoich spaw i też nie bardzo mam czas się oderwać. Najlepiej ściągnij jakąś biblioteke do obsługi LCD z Forum Bascom i zobacz jak...
Nie do końca , ja ostatnio męczyłem się bo na wolnych portach chciałem puścić i2c , niestety bascom odmówił współpracy , musiałem na tych portach zrobić przyciski . Dziwne ?!
No, coś mi się wydaje, że jednak może nie do końca rozumiesz właśnie to wszystko i stąd takie podajęcie. Co to w ogóle dla ciebie znaczy, że: Bo niby po czym innym program ma poznać czy odczytane dane pasują w tym określonym miejscu ? .... toż twoja próba obsługi tego przerwania - pokazuje, że w 1000% mógłbyś wykorzystać mechanizm z Bytematch Ustawiłbys...
Jeśli możesz zmienić połączenie klawiatury z uC , to zainteresuj się funkcją Getkbd w Bascomie , bo to najprostsze rozwiązanie dla początkującego , a schemat połączeń jest dostępny w pliku pomocy Bascoma. Piotrek
Strona 4 Twojego pdf-a: LCD Controller: LC7981(SANYO) a potem google + lc7981 + code + avr i masz: [url=http://www.mikroe.com/forum/viewtop... kod [url=http://www.sebastians-site.de/homep... projekt [url=http://www.roboternetz.de/community...
Do atmegi8mki Ci może nie wejść obsługa FATu. Poszukaj na elektrodzie FAT SD Atmega i coś znajdziesz gotowego. - Napewno nie Bascom :D Potem jakieś przerwanie i mierzyć czas i robić systematyczne opróżnianie buffora na drabinke R2R albo DAC.
Dzięki za podpowiedź, rozumiem że i2cstop mam dać przed i2cstart mniej wiecej w środku procedury, gdy odczytuje drugi układ ... i pomiędzy stop (z odczytu pierszwego PCF'a) a start (drugiego PCF'a) dać opóźnienie 10ms ... czy tak ? Pozdrawiam
Szkoda czasu na BASCOM'a już nie mówiąc o wydawaniu na niego pieniędzy.
Koledzy wspominali o uzyciu timera do tego, ale nie bardzo wiem, jak się do tego zabrać. Bardzo proszę o jakiekolwiek wskazówki. Generalnie co każde przerwanie timera jakaś zmienna jest takim wyznacznikiem upływu czasu.
Po małych zmianach działam na czymś takim. Pomimo taktowania z wewnętrznego kwarcu nie widać efektu. Jakiegokolwiek. [syntax=c]/* * RealTimeClock.c * * Created: 2013-11-17 01:46:48 * Author: Piotr Pabian */ #include <avr/io.h> #include <avr/interrupt.h> void init_RTC(void) { //ASSR = 1<<AS2; //Enable asynchronous mode TCCR2 = (1<<CS22)|(1<<CS21)|(1<&l...
Wiec zrobiłem to tak: [syntax=vbnet] Dim Piloty As Byte Dim Old_piloty As Byte Dim Klawisze As Byte Dim Old_klawisze As Byte Dim Licznik_kasuj As Byte Dim Flaga_kasuj As Bit Zeruj_klawisze Alias 250 Zeruj_piloty Alias 0 Klawisze_1 Alias Klawisze.0 Klawisze_2 Alias Klawisze.1 Klawisze_3 Alias Klawisze.2 Klawisze_4 Alias Klawisze.3 Klawisze_5 Alias Klawisze.4...
Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Portd.7 = Output Config Portd.6 = Output Config Portd.5 = Output Config Portd.4 = Output zastąp: DDRD=255 Zastąp IFy case'ami, dodaj procedurę zerującą Portd7-4 i kod będzie zgrabniejszy. Przypisanie logiczne zastąpi 4 instrukcje sbi/cbi warte 8 taktów...
W sprawie płytek.. do robienia prototypów kupiłem laminator za 60zł ;) Ogólnie jako model do przeróbek jest kiepski bo ma zwykłe dwa termostaty mechaniczne... Zdemontowałem je i steruję własna elektroniką. Od tego czasu płytki dużo lepsze :D http://obrazki.elektroda.pl/7538355600_1... ..ale robie na tym takie rzeczy http://obrazki.elektroda.pl/3988990100_1...
Witajcie, czy istnieje jakiś wyświetlacz graficzny(może być monochromatyczny), duży (może 5" :) z rozdzielczością pozwalającą na wyświetlenie małej czcionki, który w dodatku mógłby być w łatwy sposób obsłużony w Bascom'ie i w cenie nie przekraczającej 30 zł albo zamiast tego wszystkiego jakiś odtwarzacz video z podobnymi cechami, Dziękuje za uwagę,...
Witam Zauważyłem ze od czasu do czasu powraca temat obsługi zegara RTC w Bascom. Postanowiłem się podzielić z wami moim doświadczeniem jeśli chodzi o tego typu układy. Napisałem artykuł z przykładami kodu w Bascom. Artykuł jest dość duży dlatego zamieściłem do na swojej stronce. Jeśli ktoś chce się zapoznać z tym artykułem to zapraszam. Często buduję...
Instrukcja Wait nie stopuje procesora. Procesor odlicza czas poprzez zmianę wartości rejestrów a więc działa. A skoro działa to powinien także odczytać informację, że nastąpiła sygnalizacja od przepełnienia Timera. Spróbuj zastosować tą instrukcję. Tylko nie wywołuj jej w obsłudze przerwania a w pętli głównej. Bo gdybyś wywołał jej obsługę w przerwaniu...
Wstaw to na mikrokontrolery. Za takie coś 500...? Jak ma czas trzymać to nie ten schemat.
Zmień: dim Objetosc_lcd as string*10- a potem jakie x-sprawdź. Bascom jest wolny i gruby- jak wół. Można na nim w pewnym stopniu polegać Ale opanowanie rasowego konia jakim jest C- jest trudniejsze- ma sam na wiele spraw własne zdanie. Brakuje oscyloskopu. Chyba jest-widać sonde. P.S. W głównej pętli wywołujesz menu w którym "siedzisz" przez waitms...
Witam, Magistrala 1-wire posiada dość mocne restrykcje czasowe co do trwania poszczególnych stanów na DQ. Przerwanie Timera, a wiec wykonanie podprogramu związanego z obsługa przerwania, powodowało zmianę długości tych czasów, gdyż są one generowane softwaerowo przez Bascom. Czasem może się zdarzyć że kolizja i tak wystąpi pomimo że teraz wszystko jest...
Można zrobić tak: $hwstack = 32 $swstack = 32 $framesize = 32 Dim Aa As Double Dim B As Double Aa = 5 Aa = Aa / 6 Print Aa B = Sin(0.2) Print B Do Loop End ...i będzie działać ! Pozdrawiam...
Po pierwsze jakie czasy chcesz obliczać i jakie przerwania po co ??? To jest bascom nie assembler, deklarujesz na wstępie programu prędkość kwarcu a kompilator troszczy się o resztę tj. dajesz deklarację $regfile = "m8def.dat" $crystal = 12000000 Po drugie, procedura obsługi wyświetlaczy LCD (mowa tu o alfanumerycznych HD44780) jest w BASCOM zaimplementowana...
Sama na to wpadłam, ale dopiero dziś rano (dołącze go troszkę póżniej, bo teraz nie mam czasu). Mam jeszcze taki manual:
Czy w bascomie mozna napisac program obslubi LCD w trybie 8bit? W opcjach konfiguracyjnych jest tam tylko: dane 4bit i sygnal E, RS, a co z RW? Czy kttos moze mi powiedziec czy takei cos bedzie dzialac z wyswietlaczem 2*16 podalczonym poprzez dane 8 bitow i 3 sygnaly sterujace: Config Lcd = 16 * 2 Rw Alias P3.1 = 0 Db3 Alias P1.3 = 0 Db2 Alias P1.2...
Wydaje mi się, że podczas wykonywania komend obsługujących LCD (Locate, Lcd) dzieje się jedna z dwóch rzeczy: a) przerwania zewnętrzne są wyłączane (nie są obsługiwane przerwania, które są zagnieżdżone jedne w drugich), ...............) Tak ma być czy robię coś źle? Jakieś pomysły o co może chodzić i jak podejść do problemu? Pokaż gdzie i jak masz...
Za swego czasu opis takiego układu pojawił się na łamach EDW w dziale Bascom College. Z tego co sobie przypominam był tam kompletny kod źródłowy. Serię tych artykułów możesz ściągnąć ze strony: http://www.edw.com.pl/index.php?module=C... Wiele gotowych projektów ukazywało się również w miniprojektach...
Witam Napisałem program w Bascom do obsługi dwóch serwomechanizmów. Program jest prosty i po naciśnięciu przycisku załącza na pewien czas 1 serwo potem 2 następnie wraca obydwa . Odczekuje jakiś czas i ponawia cykl. Wszystko działa , ale chciałbym aby po naciśnięciu przycisku w dowolnym czasie program ruszał od początku. Próbowałem zrobić to instrukcjami...
Nie wiem jak to się robi w Bascomie, ale może odbiornik nie ma czasu żeby "obrobić" odebrany bajt? Pewnie Bascom robi obsługę odbioru na przerwaniu: przychodzi bajt, wywołuje przerwanie procka na nadejście transmisji, i w tym przerwaniu umieszcza wszystkie instrukcje które mu wpisałeś (czy coś w tym stylu :P). Spróbuj, tak z czystej ciekawości, po nadaniu...
... choć nie wiem jaka jest różnica między programowy pwm a "sprzętowym" pwm. Taka jak obsługa oddziału banku przez jedną osobę (kierownika) w stosunku do obsługi przez kierownika i kilku pracowników. W pierwszym przypadku może się uda, ale na wiele więcej kierownik czasu mieć nie będzie lub nawet nie wyrobi się z pracą. W drugim przypadku na pewno...
Ustalasz długość odbieranych danych np. 2 bajty, wstawiasz licznik odliczający do 2 :) i łapiesz jeden bajt, potem drugi, Kasujesz licznik i od nowa :) wysyłasz następne 2 bajty itd. ...
bascom obsługa bascom odmierzanie czasu bascom zapis czasu
pomiar prądu pomiar pradu sterujacy samsung amilo instrukcja
Falownik 5000W 12/24V a akumulator 51,2V Pralka BEKO BTL1WFP10622PL - opinie i specyfikacja