Uda się tak zrobić, żeby kontroler reagował na switch? Chodzi o to że naciskam switch, kontroler robi coś tam i zapala diodę. Ty lepiej powiedz co chcesz uzyskać tak ogólnie, to chętnie ci ludzie podpowiedzą jak to rozwiązać. Bo wymyśliłeś sposób iście cyrkowy, potrójne salto mortale z pętelką a w sumie tylko po to, żeby JEDEN RAZ zadziałało po resecie...
Stan nieokreślony będzie w przypadku ustawienia portu jako wejście bez rezystora podciągającego.
Jeżeli przycisk zwiera wejście do masy to trzeba jeszcze włączyć wewnętrzny rezystor podciągający wpisując do portu 1.
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
w każdym uC można zastosować rezystor podciągający , w AVR z powodu dużej rozbieżności wewnętrznych rezystorów jest to zalecane szczególnie jeżeli pin / port pracuje jako wejście MirekCz ma rację nawet nie zauważyłem tego config portx odnosi się dla całego portux , natomiast config pinx.y dla konkretnego pinu portu zastosuj lepiej taki sposób konfiguracji...
No może źle nazwałem tą informację. Zasilanie z "pastylki" - dokładnie 3,2V Ale zaraz wykombinuję 5V. Aha - R5 100k - nie lutowałem. P.S. Podłączenie 5V pomogło. Bez zająknięcie wsad wszedł. Jeszcze raz dzięki! Idę zaraz testować ;-) Jeśli chcesz mieć tak jak na schemacie czyli "zwierasz do Vcc" to musi być R5 żeby przy rozwartej zworce ściągnąć pin...
....a co do podlczenia wejsc Pd.0 i Pd.1 to zaro sprawdze ale reakcja na mase tez powinna być :-] Tak , ale chodzi o to że te wewnętrzne rezystory podciągające jakoś nie zawsze funkcjonują tak jak powinny . I dla tego dla pewności stosuje się zewnętrzne . Bez rezystorów cały czas będzie "0" na wejściu . Sprawdzone w praktyce na kilkuset procesorach...
Witam, w dobrym kierunku idziesz, ale to ci nie zadziała bo jak? skoro na początku programu tylko raz ustawiasz piny klawiszy jako wejścia oraz pin przerwania INT0 też jako wejście. Więc co ma tutaj wymuszać stan niski na wejściu INT0? nic!. Aby ten sposób zadziałał - musisz jeszcze pomyśleć o zmianie kierunków portów wtedy gdy trzeba. Generalnie założenie...
1) Nie potrzebne jest ustawianie stanów spoczynkowych. Jeśli tego nie zrobisz będą miały domyślną wartość czyli chyba 0. Tak samo domyślnie wszystkie piny są ustawione jako wyjścia czyli w (DDRX.Y = 1 <- nazwa rejestru kierunkowego w BASCOMIE nie musisz się tym martwić). 2)Co do drugiej części pytania powiem tak: najbardziej naturalnym rozwiązaniem...
Jeśli wejście sterujące na PD.2 to przycisk, to czy ma podciąganie rezystorem? Programowego nie widzę.
nie, nie deklarowałem tego, jednak w helpe i w "programowanie mikrokontrolerow avr w języku bascom" nie ma tej deklaracji jest jedynie : config rc5 = pinX.X ale probowalem tez z konfiguracjami jako wejście, podciągałem port do góry, ale to też nic nie dawało
Rozumiem że te porty ustawiasz jako wejścia (czyli DDRB = 0XFF), Drobna pomyłka bo powinno być DDRB = 0x00, czyli DDRB = 0b00000000. Niby drobiazg, ale początkującemu może namieszać. W procesorach AVR każda końcówka I/O powiązana jest z trzema rejestrami, które to decydują o przeznaczeniu tej końcówki. Te rejestry to: DDR - rejestr kierunku, ustala...
A dlaczego nie tak: $sim 'tylko do symulacji $regfile = "m8def.dat" $crystal = 8000000 'kwarc '---------------------------------------... 'Konfiguracja LCD wg wykonanej płytki PCB pod procesor ATmega8 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portc.0 , E = Portb.2 , Rs...
Jakieś masło maślane. Stan portu jest w rejestrach oznaczanych PINx. Tak więc: Stan_portu_A=PINA Nawet jak port ustawisz jako wejście z podciąganiem i zewrzesz wejścia do masy.
Co do sterowania minusem, to z tego co wyczytałem i pamiętam, to rezystor podciagający do zasilania musi być. Gdyż bez niego wejście jest w stanie w.i. (wysokiej impedancji) i uC nie wie czy jest to stan wysoki (1), czy stan niski (0). A dzięki temu rezystorowi na wejściu masz stan wysoki (1).
Cóż, podpowiem jeszcze raz: 1. Sprawdź w necie jak odczytać stan przycisku ---- EDIT: w necie też piszą różnorakie bzdury o tym zatem może napiszę jak być powinno: Zwykle przyciski podłączamy tak, aby zwierały pin do masy. Aby odczytać stan danego pinu musimy: 1. skonfigurować go jako wejście instrukcją (np. - istnieje wiele odmian konfiguracji, ale...
Przyciski muszą załączać przekaźnik nawet jak kontroler będzie wyłączony, to konieczność w moim przypadku stąd takie kombinacje. Na razie zrobię podciąganie wewnętrzne i zobaczymy jak będzie sobie radziło w dośc trudnym środowisku. Czyli generalnie zewnętrzne podciąganie jest pewniejsze? A jak wtedy ustawiać port, też go podciągać czy ustawiać jako...
Jeśli "noga" procesora ustawiona jest jako wejście to stan logiczny na tym wejściu odczytujesz za pomocą PinX.y. Jeśli jako wyjście to stan logiczny na wyjściu ustawiasz za pomocą PortX.y. Dodatkowo, gdy "noga" procesora jest jako wejście to za pomocą PortX.y włączasz lub wyłączasz wewnętrzne podciąganie wejścia poprzez wbudowany rezystor do VCC.
$crystal = 8000000 $regfile = "M8def.dat" Config Pinb.6 = Output Config Pind.4 = Input P Alias Pind.4 'switch-wejście D Alias Pinb.6 'dioda -wyjście 'Dim Mruganie As Bit 'nie wiadomo po co ta zmienna Set Portd.4 'podciąganie wejścia do + zas. Do If P = 0 Then Waitms 500 'D = 1 'a tu jest pułapka-można użyć Config pinx.y=output/input ale nie...
Normalnie przyciski dołącz się do masy, aktywuje rezystory podciągające wewnątrz uC i chodzi. W twoim przypadku musisz zastosować równolegle do przycisku rezystor (ok. 47k). Procesor ma wejście w wysokiej impedancji i łapie sygnały z otoczenia. Nie ma przy tym wewnątrz uC rezystora "podciągającego do masy".
[syntax=basic4gl]$lib "mcsbyte.lbx"[/syntax] W helpie przy GETRC5 zalecają użycie tej biblioteki. Odbiornik IRED powinien wystawiać 1 na wyjściu gdy nie odbiera żadnego sygnału (sprawdź czy tak jest), więc sygnał zaczyna się stanem niskim. [syntax=basic4gl]If Pind.2 = 0 Then Gosub Rc5 [/syntax]jest zatem właściwe Spróbuj przed pętlą główną skonfigurować...
Tak przeglądając sobie datasheet do obydwu układów zauważyłem ze pcf8583 nie ma wejścia reset tylko adres. Natomiast PCF8593 posiada wejście reset i wymaga podciągania tej lini do Vcc. Masz podciągniętą tą linie? Może układ w ogóle nie startuje?
Witam, po pierwsze gdzie konfigurujesz końcówkę 0 portu D jako wyjście? Port D ten do którego dołączyłeś przekaźnik skonfigurowałeś jako wejście klawiatury. Do którego pinu w końcu podpięty jest przekaźnik? Wg. schematu gdzie indziej. Sprawdź miernikiem podciąganie do plusa. Co pojawia się bezpośrednio na nodze procesora??
Udało się zejść do wartości <2µA ! Okazało się że pływał pin MOSI, mimo że cały port był ustawiany jako wejście i podciągnięty do "1". Robię teraz tak że najpierw cały port ustawiam jako wejście, podciągam, a na koniec ten jeden pin ustawiam na wyjście i wystawiam stan wysoki. Doszedłem do tego w ten sposób, że wziąłem kawałek przewodu który...
Dzięki wielkie za dobre chęci - doszedłem już sam co było powodem , a mianowicie był pęknięty jeden kondensator (27p) przy kwarcu(mimo tego że był nowy) - po jego wymianie zadziałało i działa na wszystkich portach - jest podciąganie - szczerze mówiąc nie wiem czemu , co miał ten kond do podciągania , ale widocznie coś miał bo nie działało. Wielkie dzięki...
Przetestowałem płytkę w taki sposób że wyjąłem ATmege i połączyłem ze sobą wyjście i wejście które podciągałem do procka(atmegi) i układ działa jak echo, wysyłam z portu COM i dostaje to samo. Więc jaki błąd popełniłem dalej jeżeli chodzi o komunikacje maxa i atmegi????
Ech... sorry, ale nic z tego nie będzie... Proponuję Ci Kolego wziąć coś prostego na warsztat. LCD graficzny to trochę wyższa szkoła jazdy. ...do tego edytujesz posty zmieniając diametralnie ich sens. Podpowiedź : podciągasz wejście do VCC, a następnie sprawdzasz w warunku czy jest podciągnięty. Dwa warunki pod rząd nie powodują zmiany zmiennej. Obsługę...
Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
Witam, Wykonałem płytkę, l fakt z przerwaniem od zegara jest problem bo brakuje podciągania. niestety u mnie aby RTC się odblokował muszę podawać ponad 7V na stabilizator a testowo podpinam pod 15V zasilacz i podciąganie do linii 15V (bo tam wygodnie można wlutować rezystor) jest chyba trochę ryzykowne ( czy linia pracująca jako wejście przerwania nie...
Czyli dać włącznik na PINB.5? Skonfigurować go jako wejście i co dalej? Jeżeli właczę rezystor podciągający to po podaniu zera na pinb.5 zamiast zmieniać prgram to będzie mi resetował procesor? No chyba żeby sterować "1" ? Schemat prosty do portów procesora podpięte diody przez rezystory 200 omów, zapalanie diód wysokim stanem z portu.
Witam. Mój układ ma realizować między innymi funkcję taką, że po naciśnięciu dowolnego przycisku na pilocie bez wprowadzania opóźnień z funkcji getrc5 wyłączać i włączać podświetlenie LCD. Problem nierozwiązany dla mnie od dłuższego czasu to występujące przypadkowo przerwania INT0. Jak wyeliminować ten problem programowo? Brak mi pomysłu na to. Oto...
o to chodzi, że chcesz sterować rejestrem PIN, a więc wytłumaczę: Każdemu portowi w procesorach serii AVR8 są przyporządkowane 3 rejestry: 1. DDRn (np. DDRB) odpowiedzialny za określenie kierunku wyjście/wejście (w BASCOM ustawiasz to automatycznie za pomocą Config) 2. PORTn (np. PORTB) odpowiedzialny za stan pinu (w przypadku konfiguracji jako wyjście...
Na początek mam trzy wiadomości. Dwie złe i jedną taką sobie. 1.Nie znam się na sterowaniu telefonów- może ktoś inny pomoże. 2.Znowu fusebity- PORTC jest ustawiony do obsługi JTAG- trzeba to wyłączyć. Wchodzisz w ustawianie fusebitów- tak jak poprzednio. Szukasz Fusebit High H - i ustawiasz na disable. 3.Skoro skonfigurowałeś PORTC jako wejście- to...
Moi drodzy, po co kłótnie, Po co wasze swary głupie, Wnet i tak zginiemy w zupie! Może krótko i merytorycznie wyjaśnię Bascom`owe podstawy a zacznę od komend Set i Reset. Otóż potrafią one ustawiać tylko jeden bit na raz. Jeśli numer bitu nie jest wskazany to zawsze będzie to bit numer 0. Dlatego wskazane piny portów PINx, PORTx, DDRx i inne ustawiają...
http://obrazki.elektroda.net/29_12872391... Opis działania tego skomplikowanego układu: Po włączeniu zasilania sprawdź przed upływem 1/10s stan na pinie do którego jest podłączony. Pin jako wejście bez podciągania. Jeśli jest 0- układ nie był zasilany przez ostatnich 100s. Zaświeć odpowiednią diodę. Jeśli 1- układ był zasilany w ciągu ostatnich...
Słuchaj możliwe błędy w przerwaniu: 1) nie ustawione jako wejście 2) złe wyzwalanie (w to wlicza się brak podciągania) 3) brak włączonej obsługi przerwań 4) jeszcze raz złe wyzwalanie! 5) źle zrobiony hardware! 6) Nie krzycz na ludzi mających większe pojęcie niż Ty i wytykających Ci oczywiste oczywistości gdzyż jak już to zadziała, będziesz marudził...
Dopóki nie nauczysz się poruszać pomiędzy rejestrami PORT i PIN to ustawiaj jako OUTPUT tylko piny które Cie interesują czyli na przykład pin od diody. Taki zapis: cały port jest wyjściem. Ustawienie teraz na nim stanu wysokiego, niby po to by włączyć rezystory podciągające powoduje że włączasz wyjścia które można obciążać maksymalnie do 20mA. Przyciśnięcie...
przez rezystory 4,7k dają prąd na wejścia uC. chyba nie rozumiemy się , jeżeli wszystkie układy zewnętrzne ( czujniki ) będą podłączone ok , chodzi o to aby piny pracujące jako wejścia nie wisiały w powietrzu , przez jaki rezystor chcesz dawać prąd na wejście pewną zasadą przy pracy portu jako wejście jest podciągniecie go programowo do Uzas , sprawdzając...
Np. W helpie do Bascoma. Akurat help Bascoma nie precyzuje wyraźnie tego zagadnienia. Natomiat w dośc prosty sposób datasheet określa właściwości rejestrów związanych z portami processora (str.51) "Three I/O memory address locations are allocated for each port, one each for the Data Register - PORTx, Data Direction Register - DDRx, and the Port Input...
Witam ponownie . Tak i tutaj rzeczywiście jest błąd jeśli chodzi o bascoma i DDRD . Pin.5 ( t1) dałem jako wyjście zamiast wejście . Po prostu chciałem zmienić podciąganie tego pinu i nie wiem czemu wpisałem w oba rejestry (1) . Jednak dalej nie działa . Zaczynam powoli rezygnować z countera , i zliczać impulsy przerwaniem int0 albo int1 , zmniejszając...
Takie problemy były już na elektrodzie. Możesz zrobić tak jak napisał przedmówca. Przycisk od portu do masy, poprzez set port podciągasz wejście do "+" i masz cały czas stan wysoki, po wciśnięciu sciąga go do masy i masz stan niski. Jeśli masz przycisk między portem a "+" to musisz go podciągnąć do masy dodatkowym rezystorem, bo nie ma wewnętrznego...
Najczęściej robi się to odwrotnie - pin B.1 zwierasz do masy, a komendą SET podciągasz go do plusa zasilania. Wtedy program sprawdza "If portb.1=0 then...". Przy okazji, warto używać aliasów, wówczas program jest czytelniejszy, a ewentualna zmiana pinu to poprawka jednej linijki. Jeśli jednak z jakiś powodów musisz wyzwalać port jedynką, to podajesz...
Po pierwsze w ogóle nie widzę sterowania wyjściami. Po drugie nie zakładasz opcji, że kable są zwarte ze sobą, co może skończyć się podsmażonym procesorem. Ledy źle podłączone Poza tym z tym schematem boli rozdzielczość? Daj coś bardziej wyraźnego, uwzględnij zasilanie, podciąganie resetu. Postaraj się zapomnieć w Bascom o Goto itp. Styl programowania...
Witam Mam płytkę testową ZL11AVR z ATtiny2313 na której próbuje zrobić termometr cyfrowy z czujnikiem DS18B20. Czujnik mam podłączony pod GDN SCL i VCC, zworką J2 mam włączony rezystor 3,3K podciągający SCL do VCC i ciągle mi pokazuje -0.1 C. Sprawdzałem już 3 czujniki i ciągle to samo. W bascom-ie mam ustawiony PORTD. 5 jako wejście 1-wire. Nie wiem...
Fusebit A997 ustawiony na oscylator wewnętrzny 8Mhz , 0100 $regfile = "m8def.dat" ' DYREKTYWY DLA KOMPILATORA $crystal = 8000000 'OSCYLATOR 8MHZ Config Lcd = 16 * 2 'KONFIGURACJA TYPU WYSWIETLACZA Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 'LCD Config Clock = Soft 'KONFIGURACJA...
witam! mam taki problem: chcę zliczać zewnętrzne impulsy, timer mam skonfigurowany w taki sposób: config Timer0 = counter, edge = falling, noice cancel = 1, na portd.4 mam ustawiny wewnętrzny pull-up i dodatkowo zewnętrzny rezystor podciągający 4,7k.do masy kondensatorek 100 nF. Licznik oczywiście mi liczy ale zlicza też przypadkowe impulsy. widać to...
Bez przesady, promieniowania nie ma :) Chodzi o zakłócenia np. od pioruna czy linii zasilania itp. Miałem raz przypadek, że pobliski piorun (w odległości 100-200m) spowodował przestawienie jednego dosłownie rejestru w AVR. Dokładnie odpiął rezystory podciągające akurat na porcie, na którym były przyciski sterujące. Szczęśliwie, wejście w menu było zabezpieczone...
Przy konfiguracji jeśli wejście to pin, ale alias zawsze robię port. Zdarzało się, ze jeśli alias pin, to program nie działał. To szkodliwa porada bo w ogóle nieprawdziwa. Należy rozróżnić dwie rzeczy. Podczas konfigurowania czy pin ma być wejściem czy wyjściem, czyli uzywając "Config" możesz użyć zarówno Pin jak i Port. Czyli możesz napisać "Config...
Jeżeli dobrze Cię zrozumiałem, to powinienem dać rezystory podciągające do masy? rozumiem, że chodzi o wejścia tak? Sprawdzałem (opcja syntax check - nie trzeba kompilować ;)) I wyszło, że wszystko ok. Jeszcze takie pytanie - czego można by użyć zamiast pętli, żeby działało to w taki sam sposób? ----------------------------------------...
Na stronie 16 datasheet jest opis, uproszczony przykład odczytu (żadne błędy nie są sprawdzane): [syntax=basic4gl]' przykładowa konfiguracja dla sprzętowego TWI Atmega 2561 $lib "i2c_twi.lbx" ' biblioteka obsługująca hardwarowe TWI Config Scl = Portd.0 ' konfiguracja SCL i SDA Config Sda = Portd.1 Config Twi = 100000 ' 100KHz 'Config Twi = 40000 ' 40KHz...
bascom podciągać bascom rezystor podciągać bascom wejście
gorenje blokada drzwi stolica radio projekt system monitoring
Jak złożyć zawieszenie samochodowe? Porady i etapy Wymiana grzałki w wytwornicy pary Bieffe BF-070