Declare Sub Gettime Declare Sub Settime Dim S As Byte Dim M As Byte Dim H As Byte Dim Yd As Byte Dim Wm As Byte Podprogram odczytu pcf8583: Sub Gettime I2cstart 'generate start I2cwbyte &HA2 'write addres of PCF8583 (a0 do plusa) I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte &HA3 'write address for reading info I2crbyte...
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Przechodziłem już to, MAX dopasowuje Atmegowe 0-5V do RS'owego +/- 3-15V Jest naprawdę duże prawdopodobieństwo, że Ci to ruszy po dodaniu konwertera. Max kosztuje zetkę i wymaga raptem 4-rech kondensatorów ;-) Osobiście używam 1uF SMD, sprawują się wyśmienicie. P.S. możesz na etapie testów zmniejszyć prędkość np. do 9600.
Jest to kod z Pana Wiązani być może nieudolnie przerobiony. Oryginał ma tak: Dim licz_8ms As Byte Incr Licz_8ms If Licz_8ms = 125 Then ............. I to działa, czyli ja nie mogę używać liczby stałoprzecinkowej . No dokładnie. To działa tylko dla Byte (i podobnych). Chociaż typ danych Single mówi, iz może przyjmować wartości stało i zmiennoprzcinkowe....
Raczej schemat zgodny jest z programem. Ja optuję jednak na program zgodny ze schematem ;-) Albert
...Jeżeli ktoś ma jakiś pomysł ... Ja mam taki pomysł :D $regfile = "ATtiny2313.dat" $crystal = 4000000 Dim Wa As Byte , Kierunek As Byte Config Portb = Output Config Portd = Input Wa = 99 Portd = &B1111 Do Lus: Kierunek = Pind And &H0F ' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 On Kierunek Gosub Na , Na , Na , Na , Na , Bl , Fl , Ll , Na...
1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Tak, teraz jest zaprogramowany. Z ciekawości pytam jak długo trwa programowanie ATTiny2313 tym programatorem ?
Człowieku, jesteś genialny. :D Dzięki. Mógłbyś jeszcze napisać skąd się to wzięło, tzn. skąd wiesz, że w R0 jest wartość MCUSR? :) ...z dokumentacji BASCOM'a 1.12.0.0 (Config Watchdog - na samym końcu strony) bo sam niedawno tego szukałem
http://www.elektroda.pl/rtvforum/viewtop...
Do tej lampki wystarczy 1/4 twojego programu. Dodano po 7 Zadeklaruj zmienną , by zwiększała się do 255 gdy PINB.0=0 i zmniejszała gdy PINB.0=1. Możesz to zrobić w pętli DO...LOOP.
Jaką częstotliwość zegara masz podaną w ustawieniach Bascoma, tak samo jaki uK masz podany? Zawsze lepiej użyć dyrektyw REGFILE i CRYSTAL. Czy poprawnie masz ustawione źródło sygnału zegarowego w bitach konfiguracyjnych? Poprawiony kod: $regfile = "attiny2313.dat" $crystal = 1000000 Config pind.6 = output Config pind.4 = output portd.4 = 0...
W jakiejś zmiennej odczytujesz 5 bitów Np: A As bite Do A=PINB AND 31 Print A IF A=coś Then coś dalsze decyzje loop Pozdrawiam
Popraw kod umieszczając go w znaczniku kod bo Ci trochę nie wyszło.
Dawno Bascoma nie używałem ale to będzie coś takiego: On int0 czas 'przerwanie zewnetrze (wejście impulsów) do czestotliwosc=1/czas 'obliczenie czestotliwosci z czasu pomiedzy impulasmi loop czas: stop timer0 'zatrzymaj timer czas=timer0 'odczyt z timera timer0=0 'wyzerowanie timera start timer0 'ponowne uruchomienie timera return Oczywiście...
W przypadku ATtiny2313 to będziesz musiał zrobić prowizoryczny przetwornik analogowo-cyfrowy na komparatorze procesora i mierzyć czas ładowania kondensatora zależny od pojemności kondensatora i rezystancji fotorezystora. Mając procesor z przetwornikiem analogowo-cyfrowym, możesz zrobić coś takiego jak niżej...wartości rezystora i potencjometru nie są...
Ten programik u mnie kompiluje się bez błędu, używam pełnej wersji BASCOM'a 2.0.7.4. Istnieje możliwość że masz uszkodzone pliki LIB, spróbuj zainstalować Bascom'a na nowo.
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
No cóż. Nikt nie jest perfekcyjny. Nie pamiętam jak to się pisze, bo IDE sam poprawia skladnię. Akurat w przypadku Elseif tego nie zrobi, bo ta funkcja skada się z dwóch występujących. No ale dzięki temu była lekcja wyłapywania błędów w kodzie :)
Witam, Na własne potrzeby chciałem zbudować monitor temperatury z 4 dallasami 18B20. Dane są odczytywane z czujników po RS485 i wysyłane do mastera. Kiedy odpytuję czujniki po kolei, muszę czekać standardowe 750ms na odpowiedź każdego z nich, co nie zadowala mnie. Zależy mi na tym, aby po wysłaniu komendy odpytującej, każdy z czujników bezzwłocznie...
1. Daj sprawdzanie szyfru w pętli bo zajeździsz BASCOM'a tak długim warunkiem ;-) [syntax=BASCOM] Valid = 1 For Index = 1 to 8 If Kod(Index) <> Szyfr(Index) then Valid = 0 Exit For End If Next Index [/syntax] 2. Zamiast Goto Alarmowanie powinno być Gosub Alarmowanie ponieważ Alarm = 0 nigdy nie zostanie wykonane.
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...
sam bascom posiada nie mało przykładowych programów przetestuj je
Aaaa, bo tylko założyciele tematu to widzą... nie ma sprawy :-)
[syntax=basic4gl] $crystal = 4000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111100 Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 Enable Timer0 Enable Interrupts On Timer0 Co1ms Dim Liczba As Single Dim Ktorywysw As Bit Dim Lol As Byte Dim Jednostki As Byte Dim Dziesiatki As Byte Dim Pomoc As Bit Dim Aaa As Word Dim...
Pewnie, że można zastosować tylko trzeba dodać rezystor do bazy. Dowolny NPN tylko odpowiedniej mocy w stosunku do prądu jaki pobiera silnik.
Nie bawiłem się ATtiny2313, ale jeśli ma PWM to da się zrobić jakieś odtwarzanie dźwięku z próbek. Robiłem takie coś na ATmega128. Puszczasz generator PWM na najwyższej częstotliwości i jakiś timer do generowania przerwania okresowo. Timer determinuje częstotliwość prókowania. Podczas każdego przerwania timera wpisujesz nową próbkę do rejestru generatora...
Napisz jakiś prosty program(Uart) który będzie korzystał z tego pinu i sprawdź czy zadziała bo bascom w paru miejscach jest niedopracowany
Witam Musisz skonfigurować Timer i za jego pomocą odliczyć 4 minuty. $Crystal = 11059200 Config Timer1 = Timer, Prescale = 1024 Load Timer1 , 10800 On Timer1 Sekunda Config Pind.1 = Output : Wy Alias Portd.1 Config Pind.2 = Input : We Alias Portd.2 Dim Licznik_1 As Byte Dim Wsk As Bit Enable Timer1 Enable Interrupts Licznik_1=0 Wsk = 0 Do If...
Nie wiem czy przypadkiem podczas resetu procesor nie ustawia portów na wysoki stan , musiałbyś w pdf-ie sprawdzić , bo przy starych 51 chyba tak było.
Z tym, że tablice musiałbym wcześniej wpisać w program, a mi chodzi o to, by "uczyć" tego robota danego zadania. Jeśli zmieniłbym odległośc punktu A od B i znowu postawił przeszkode, w którą by robot uderzył, to wtedy ponownie musiałby zapamiętać nową trase. Przy czym jeśli działałbym w obrębie pamięci RAM, kasowałbym ją po prostu resetem zasilania....
' 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)...
Ehh. Ustaw fusebity.
Zmień to: $regfile = "2313def.dat" na to: $regfile = "attiny2313.dat" i obserwuj rezultat :)
A czy jest inna metoda sterowania? Spróbuj takiej na przykład: pulseout ' w podobnej pętli For/ next e marcus Dodałem SYNTAX - bo pewnie rano się spieszyłeś :-)
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
Najpierw sprawdź przejściówkę. Zewrzyj 2 i 3 pin. Kiedy będziesz wklepywał coś na klawiaturze kiedy otwarty będzie Terminal to w jego oknie pojawiać sie powinny kolejne znaki. W terminalu widać tylko to co do nas wraca. Normalnie za Echo pracuje mikrokontroler /lub nie jeśli sobie nie życzymy. Kiedy zewrzesz 2 z 3 to to co wyślesz powinno do Ciebie...
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
Witam Wkleję Ci przykładowy kod, reszta należy do Ciebie. $crystal = 4000000 $regfile = "m8def.dat" ' np. ATMEGA8 :) Config Lcd = 16 * 2 ' definiuje jaki wyświetlacz ma być podlączony Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , Rs = Portd.7 ' podlączenie wyświetlacza do kontrolera...
Zainstalowałem ten MkavrCalculator ale pojawia mi sie jakiś błąd źle wgranego avr dude. . A pisałem żebyś poczytał na tej stronce i obejrzał filmik video, tam jest pokazane jak z zakładki "Ustawienia" tego programu można zainstalować prawidłowo avrdude w 5 sekund. No ale masz rację bez poczytania to się nic nie zrobi.
Do odczytu stanu portu służy rejestr PIN. Czyli masz źle zrealizowane warunki w funkcji przerwania.
Może zaczniesz od czegoś łatwiejszego , będzie prościej i mniej stresująco . No, nie żartuj z faceta!. Co może byc łatwiesze (?) ? miganie diodą ?... Spójrz na jego ?credentials? w lewym oknie. Gośc jest tu około 10 lat, więc pewne rozeznanie w temacie posiada i ?kurs? z miganiem diodą z pewnością dawno ukończył. Może potrzebuje troche odmiennego spojrzenia...
Witam ! Moim zdaniem aby nie przestawiać Fusebitów wystarczy linię w pliku BAS $crystal = 4000000 zmienić na: $crystal = 1000000 Pozdrawiam. Stefan W sumie masz racje, jeszcze coś namiesza. Ale teraz kolega się chociaż dowie, że nie jest obojętne jakie są fusebity.
Na początek do rysowania schematów są odpowiednie programy a nie Paint , kody programu umieszcza się korzystając z polecenia Syntax a nie wkleja zrzut . Schemat : brak jakichkolwiek kondensatorów do filtracji zasilania , brak GND dla uC , brak oporników ograniczających prąd diod jeden wspólny to żadna oszczędność max prąd portu to 20mA , czerwone LED...
Pisałem abyś wszystkie diody LED połączył przez rezystory do +5V , a Ty tego nie zrobiłeś ? Mam rację ? Dziękuję za 10, nie trzeba było. GG6293398
Witam, posiadam taki wyświetlacz LCD: http://sklep.avt.pl/p/pl/47287/lcd+alfan... Chciałbym sobie narysować obrazek: Da się w ogóle na takim wyświetlaczu odpalić rysunek? Możesz zdefiniowac 8 własnych dowolnych znaków (rodzaj mozajki). Jeżeli potrafisz coś 'sklecić' z tych znaków i wyświetlic to w dwóch liniach i 16 pozycjach, to możesz...
No toż pewnie, że możesz używać tzn odczytywać wartości z latającego licznika. Ale jeśli zaczynasz się już nim bawić w ten sposób, że chcesz go resetować w locie (czyli zapisywać), że chcesz zmieniać preskaler na inne wartości niż ustawiony został za pomocą polecenia ConfigRC5 (a został tylko ty tego nie widzisz) to nie dziw się, że potem coś ci nie...
Witam ! Jeśli masz problemy z zaprogramowaniem AT89C2051 to kup AT89S2051, zaprogramować go można tak jak ATtiny2313 po ISP. Pozdrawiam. Stefan
Chwilowo straciłem ten kod postaram się go znaleźć ale opierałem się na projektach z internetu. No bez jaj. Na 99% nic nie masz tylko czekasz na gotowca. Ale dobra, zlituję się na święta :D Pomijając całą beznadziejność kodu do multipleksowania wyświetlacza, takie coś powinno działać: $regfile = "ATTiny2313.dat" $crystal = 8000000 Dim Jednosci...
Witam, miałem ten sam problem. Prawdopodobnie wykonujesz projekt wedlug mikroprocesorowej oslej laczki. Nie sprawdzalem tego jak jest w AT902313 na bazie ktorego pisany byl kurs(dziwne że nic o tym nie pisza w kursie) ale w Attinie faktycznie musisz przestawic fusebity bo domyslnie masz taktowanie 1MHz. W bascomie robi sie to bardzo prosto:Program-->send...
Pobierz nową wersję B-AVR 1.11.8.1. http://mcselec.com/index.php?option=com_... Tam jest ten procesor. Będziesz miał problem rozwiązany a zarazem nowszy program. Wszystkiego dobrego w Nowym 2006 roku.
Na 99% jest uszkodzony lub niezgodny z wersją BASCOM-a plik attiny2313.dat.
No i pojawia się problem, przy histerezie 30 jest wartością min, kiedy led świeci się na zielono. Niestety program nie reaguje nawet na zmianę kondensatora.. Troche dziwne.... W zasadzie twój code pokrywa się z przykładem podanym przez "kimmi" w : http://www.mcselec.com/index2.php?option... (login to see...
:arrow: http://www.elektroda.pl/rtvforum/topic13...
Strona 132 PDF-a od attiny2313, rejestr UCSRC bity 5 i 4 [syntax=basic4gl] 'Odd Ucsrc.5 = 1 Ucsrc.4 = 1 'Even Ucsrc.5 = 1 Ucsrc.4 = 0 [/syntax]
Zgadza się.
użyj getkb (pobieranie wartosci z klawiatury),znajdziesz w konfiguracji bascom potem ustalasz w programie kod i porównujesz go za pomoca warunków If itp...
http://obrazki.elektroda.pl/8609137500_1... Witam, przedstawiony układ umożliwia: -pomiar zarówno dodatnich, jak i ujemnych temperatur, -wybór jednej z dwóch częstotliwości powtarzania pomiaru, -pamiętanie najniższej temperatury (wyświetlanie po wciśnięciu przycisku, kasowanie po resecie uC), -prezentację wyniku na 4-cyfrowym wyświetlaczu...
To jest kawałek programu. Nie pamiętam całego. Ale jest na elektrodzie. 22 Października2008. Kurczę, muszę się nauczyć jak się wkleja link.... Dodano po 27 Ściągnij 9.1 demo-może już obsługuje lepiej ATtiny2313.
Użyj lowerline :)
Napisałem podobny programik na ATtiny2313 w zeszłym roku. Użyłem komparatora bo szkoda mi było przerwań. Można go przerobić na ATmega8 Jest na elektrodzie-attiny2313 bascom pwm działa.
Nie ma maksymalnej liczby tylko możliwości piszącego program . Jeżeli to są początki przygody z Bascom'em to pozostań przy jednej pętli Do..Loop . A jeżeli nie kompiluje to zaremuj wszystko co w pętli i dopiero krok po kroku dodawaj nowe linie kodu tworzące logiczną całość , cały czas kompilując ( sprawdzając poprawność kodu ) . Nigdy nie pisz programu...
Poczytaj kilka artykułów na temat :) PORTx nadajesz stan PINx odczytujesz stan końcówki.
...pozostałe piny są w stanie niskim czyli 0 V. Źle, wejścia te mają wyłączone podciąganie do VCC. W tej sprawie zwróć się do autora przykładu z książki. Ja odniosłem się ogólnie do przykładu.
$regfile = "attiny2313.dat" $crystal = 4000000 Config Pind.2 = Input Config Portd.0 = Output Config Portd.1 = Output Config Portd.3 = Output Set Portd.2 Przycisk Alias Pind.2 Dim Sekwencja As Byte Declare Sub Pierwsza Declare Sub Druga Declare Sub Trzecia Enable Interrupts Enable Int0 On Int0 Przycisk_przerwanie Do Loop End Przycisk_przerwanie:...
W powietrzu, to są też porty - Porta0 i Porta1 Pozdrawiam. Stefan GG6293398
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
Jestem posiadaczem legalnej wersji BASCOM AVR 1.11.7.4, niestety ta wersja nie wspiera ATtiny2313... To zrób upgrade do 1.11.8.3 i po kłopocie :D Piotrek
Jest tak jak mówią (na 99%). Ten BASCOM nie obsługuje dobrze ATTiny2313. Da się to zrobić wstawkami asemblerowymi, ale jako że dopiero się uczysz a zaczynasz od BASCOMa to nie będę Ci mącił. Po prostu ściągnij nowszego BASCOMa. Po za tym na pierwszy rzut oka w kodzie brakuje ustawiania OC1A jako wyjścia: DDRB.3 = 1 Dodano po 7 A: On Compare1 Wpis Nosave...
Nie pisałem nic na Rs485 ale mam kilka uwag do programu. Zacznij najpierw od poczytania w helpie bascoma, co robi dokładnie instrukcja Inkey() a dowiesz się że odbiera 1 bajt (jeden znak) z bufora. Sprawdzanie więc warunku B = "zaswiec" nie ma najmniejszego sensu. Nie wiem też po co przełączasz tyle razy układ w nadajnik <>odbiornik: ...... Reset...
Wielopoziomowe menu to nie problem. 1) Masz główną pętlę do-loop. W niej piszesz 'menu główne' - korzystając z if-ów i jakiegos licznika który będziesz mógł zwiększać lub zmiejszać za pomocą przycisków góra/dół 2) Znając swój licznik, wiesz dokladnie która opcja menu jest wybrana, więc dopisujesz if-a - zeby skoczył do podprogramu który ma obsługiwać...
Od wersji 2076 jest różnica i sam musiałem kod przerobić. Znaczy się, że używasz tej poprzedniej. Sprawdź prywatną wiadomość. Notabene Bin i Hex są załączone :P
Przestudiować wiele już w tym dziale zamieszczonych przypadków/opisów konfiguracji fusebitów i ustawić na zadeklarowane taktowanie µC z rezonatora kwarcowego 16MHz. Póki co fabrycznie jest 1MHz z wewnętrznego oscylatora RC.
Windows 95 ??????????????????????????? ;) czy ja dobrze przeczytałem? bo przecieram oczy i nadal nie wierzę Windows 95 ????????????????????? ;) Chłopie - to albo zainstaluj sobie nowszą windę, a jeśli to w 100% niemożliwe to przerzuć się na programowanie w C. Wtedy zassiesz sobie WinAVR i programy będziesz sobie pisał w notatniku - a kompilację robił...
Wejścia Pd.0 i Pd.1 podciągnij do plusa zasilania za pomocą rezystorów np. 100k . Diodę led wepnij odwrotnie to znaczy , katoda do masy , a anodę przez rezystor do PB.0 . No i oczywiście zmień troszkę program .
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
On Urxc Rs_rx_ok On Utxc Rs_tx_ok '---------------------------------------... Dim Rs_tx_bufor(7) As Byte Dim Rs_tx_licznik As Byte Dim Rs_tx_ograniczenie As Byte Ddrd = &B00000010 'TXD = wyjscie, reszta wejscia Portd = &B00000010 'TXD = stan wysoki, reszta HI-Z Ddrb = &B00001000 'PB3 = wyjscie,...
Nie mogę się doszukać w helpie jak skonfigurować i używać PWM dla Tiny2313 w Bascom AVR a wyszukiwarka na forum nie działa, ktoś może mi pomóc? Ponieważ nie za bardzo ufam Bascomowi przy konfiguracji automatycznej( Config Timerx) , to wolę poustawiać rejestry ręcznie , korzystając z dokumentacji :D $regfile = "attiny2313.dat" $crystal = 1000000...
A połączenie z komputerem masz dobre . Nie programuj , tylko nowy procek sprawdź czy łączy się z płytą AVT3500. Jeżeli zablokowałeś mikroprocesory to możesz odblokować programatorem równoległym . Są do uratowania.
Nad polem edycji wiadomości masz: Listing kodu
Poczytaj sobie w helpie o "debounce".
Problem powoduje używanie waitms. Podczas wykonywania waitms procesor pracuje tak jakby w pętli do..loop i nie reaguje na nic. W zasadzie nie powinna być używana. Rodzi więcej problemow, a wcale nic nie ułatwia. Zastosuj timer do sterowania diodą zamiast waitms.
Z filmiku wychodzi, że fabryczny zegar mikrokontrolera (1 MHz) działa 4 za wolno (w 9,026 s zliczył: (12,58-10,34) s i częstotliwość pokazywania cyfr ok. 6,25 Hz) więc odznacz CKDIV8 i ustaw CKSEL zgodnie z rezonatorem na PCB (pewnie 4 MHz) https://ww1.microchip.com/downloads/en/D... - od str. 22 CKSEL3..1...
Może to ci pomoże : [url=http://www.elektroda.pl/rtvforum/to... w timerze, problem albo to : [url=http://www.elektroda.pl/rtvforum/to... w bascom czujnika DS1820 na DS18B20 albo ...... Jakieś 780 innych postów pod tym linkiem : [url=http://poszukaj.elektroda.pl/search...
No własnie w tym rzecz żeby mieć minimalne pojęcie o sprzęcie który próbujemy oprogramować. W takim telegraficznym skrócie fabrycznie nowy mikrokontroler przetwarza milion operacji na sekundę (1MHz). Jeśli teraz poinformowałeś kompilator że procesor śmiga z prędkością 1MHz i chcesz żeby odczekał 1 sekundę, to kompilator każe policzyć procesorowi do...
No na modyfikację nie mam czasu. Zwłaszcza, że już dawno nic nie pisałem. W dodatku ja nie używam wait (i Tobie też odradzam) co wymaga trochę innego podejścia do pisania programu. Mogę jedynie podpowiedzieć, że najlepiej było by skorzystać z przerwań INT0 i INT1 podłączonych pod przyciski. Wtedy przerwanie aktualnego zadania było by możliwe natychmiast....
To możesz zrobić tak: [syntax=basic4gl] Odczytaj_sprzetowy_uart: Dane = "" Do 'Odbierz znak po znaku Kod = Inkey() Dane = Dane + Chr(kod) 'Zapisz w Dane If Dane = "Obroty1" Then Obroty = 1 If Dane = "Obroty2" Then Obroty = 2 If Dane = "Obroty3" Then Obroty = 3 Bufor = Ischarwaiting() 'Zakoncz jeśli brak znaku Loop Until Bufor = 0 Return [/syntax] i...
jeżeli używasz kwarcu 1MHz to powinno być $crystal = 1000000 zamiast 1000 (częstotliwość podajemy w Hz, nie w kHz)
Proszę. Nie opisywałem go i tutaj może wyglądać dziwnie, ale u mnie rysuje linie łączące bloki. Wygląda to jak na załączonym obrazku i nie mam potrzeby dla takiego kodziku tego opisywać. http://obrazki.elektroda.pl/9672124500_1... Błąd mógł się wkraść bo to tylko tak z doskoku dla relaksu napisałem w pół godzinki. Życzę owocnego testowania...
Szukaj i ustaw mniej więcej tak: Ext.Crystal.Osc frequency 3.0-8.0 Startup time i reszta raczej nie istotne w Twoim przypadku.
Nie dziwne- reset zaczyna się od GND- tak zrób.
Witam.Pan Mirley napisał mi program do prostego termostatu.2 diody led (czerwona się świeci jak grzałka grzeje,a zielona się świeci jak grzałka nie grzeje).Temperatura załączania grzałki jest ustawiana w programie (w kodzie w bascomnie) o raz histereza 2C.Przekaźnik podczepiony pod port scalaka.Tak samo DS18b20.Mój problem polega na tym, że mi to nie...
"Then" powinno być w tej samej linii do "If".
Chwile sie pobawiłem i zastanawiałem sie czemu mi zle działa dioda podpięta do PORTB.3 a to jest związane z OCR1A dlatego zle działała. Nie dlatego, nie ma tu żadnego związku. OCR1A jest to wpis do rejestru, który służy do określenia górnej granicy (TOP) do jakiej ma liczyc Timer1 co odpowiada upływowi czasu tu akutat 1 sec., zaczym się wyzeruje. Jeżeli...
1.Konfiguruje się PORT 2.Podciąganie do plusa włącza się w PORT 3.Przyciski czyta się z PIN Sterować można PORT`em a sprawdza się PIN [syntax=basic4gl] Config PORT.x = Input 'nie podłaczamy driverow - port bedzie wejsciem PORT.x = 1 'sterujemy portem, podłączamy wewnętrzny rezystor Przycisk Alias PIN.x ' PIN PIN PIN PIN! [/syntax]
Chciałbym jeszcze raz wrócic do tematu matrycy STN z siemens-a S55 czyli często stosowanej LPH8651. Może jednak posiada ktoś jakieś info jak sterować tym LCD-kiem lub ewentualnie "jaki kontroler tam siedzi". Dla zainteresowanych tematem opis wyprowadzeń. 1 - LCD_CS 2 - LCD_RESET 3 - LCD_RS 4 - LCD_CLK 5 - LCD_DAT 6 - Vcc (+ 2,9V) 7 - GND (charakterystyczna...
Mam takową też i kompiluje bez problemu. Zajrze później bo mam swoje zajęcia :P http://obrazki.elektroda.pl/4925998200_1...
Bascom ma symulator, w którym możesz sobie patrzeć jak ci się zmienna zwiększa. Języki nie przestrzegają ściśle reguł zapisu matematycznego.
tak, teraz te 2 przypisania odnoszą się do Timera 1 i wyprowadzeń oc1a i oc1b, więc poprawnie zakładając, że konfiguracja uwzględnia tryb 10-bit, czyli: Config Timer1 = Pwm , Pwm = 10, Compare A Pwm = Clear Up, Compare B Pwm = Clear Up, Prescale = 1
Sda i Scl są skonfigurowane w kompilatorze (używam Bascom Avr). Adres się zgadza. A sprawdziłeś czy Twój PCF odpowiada ACK , po wysłaniu jego adresu na magistralę :?: Piotrek
bascom attiny2313 attiny2313 bascom fusebity attiny2313 projekt bascom
spawarka castolin silnik strugarka philips ustawić godzina
zdalne sterowanie praktyczny elektronik radio hyundai
Mycie przełącznika isostat w myjce ultradźwiękowej: wskazówki i ryzyka Wymiana diody podłogowej w zmywarce Siemens