ustalam w ten sposób podciąganie pinu do stanów wysokich i niskiego(**) . Zakładałem, że po to jest alias (zawiera nazwę pinu), który sprawę rozwiąże. Co gorsza przyznam się, że taka była moja praktyka więc nie wiem jakim cudem błędy wyszły dopiero teraz. Podsumowując, właściwe jest podciąganie do VCC i GND poprzez SET i RESET a nie jak ja to zrobiłem....
Witam. Napisałem program do migania diodami i mam trzy pytania: 1.Czy da się ustawić cały port w stan spoczynku (coś w stylu PORTD = 0)? 2.Czy po każdej komendzie IF trzeba pisać END IF, czy da się to jakoś ominąć? 3.Czy poniższy kod jest poprawny, czy będzie działał? 1. Tak, możesz tak pozostawic. Bascom akceptuje kilka form ustawienia poziomu pinów...
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...
Jak mieliście te problemy z krzaczkami to czy u was również procesor pracował bez problemów? Czy to by znaczyło że chińczyki robią teraz LCD zbyt wrażliwe na zakłócenia, a procesory na te paskudztwa są odporne. U mnie zasilanie LCD to te same 5V pobierane obok uC. Tak, w takich wypadkach mikrokontroler i inne urządzenia pracowały prawidłowo ale LCD...
Najpierw "mikroswłicz" który po wciśnięciu drga. Czyli przełącza wielokrotnie- a nie wiesz jaki stan procesor bada na wejściu- po są drgania. Najprostsza metoda: If Pinb.3 = 0 Then waitms 20 If Pinb.3 = 0 Then ......... end if end if To oznacza że po wciśnięciu mikroprzełącznika odczekujesz 20ms i jeśli po tym czasie masz taki sam stan to się "uspokoił"...
, 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...
Tzn mam nadzieję, że masz tylko rezystor podciągający i impulsator podłączony bezpośrednio do pinu mikrokontrolera. Zgadza się ?
...pozostałe piny są w stanie niskim czyli 0 V. Źle, wejścia te mają wyłączone podciąganie do VCC.
Kod bakardi się kompiluje bezbłędnie a kod Rocket_93-nie. To nie C. Nie może być if P then. Warunek musi być jawnie zdeklarowany. Dodano po 2 bakardi, jak dasz opornik w szereg z diodą i połączysz mikroswitch do masy to prawie powinno działać. Dodano po 3 Jeszcze tylko podciąganie pinu wejściowego. Dopisz portd.4=1
Należy zastosować rezystor 10K podciągający pinc.4 do plusa. Można też dać kondensator 1nF z tego pinu do masy. Celem zniwelowania stanów nieustalonych. Powinno pomóc.
Pociąganie realizowane jest poleceniem "Set" - ósma i dziewiąta linijka. To nie jest podciąganie(!) Jest to próba wpisania wartości do rejestru, który z natury jest przeznaczony tylko do odczytu. Nie ma możliwości zmiany stanu rejestru "PIN.x" z poziomu programu. Stan PIN.x możesz zmienić tylko fizycznie z zewnątrz poprzez podanie tam napięcia o odpowiednim...
4) Przed wejściem w powerdown ustaw piny jako wejścia (wszędzie tam gdzie to możliwe), procesor nie będzie niepotrzebnie "wysyłał" napięcia na zewnątrz Wcale nie. "Wysyłanie" napięcia nie powoduje strat mocy. W końcu to samo napięcie. Z kolei skonfigurowanie wejść jako piny wejściowe (żeby nie "wysyłały" napięcia :D) owszem pobiera prąd. A to z powodu...
Dzięki za zainteresowanie. Niby to w miarę proste a jednak ... portb=&B00000000 - wcale nie oznacza stanu spoczynkowego "0" dla pinów tego portu. Oznacza to, że piny tego portu są w stanie wysokiej impedancji ( HiZ), możesz to traktowac tak jakby były nie okreśone i bedą reagowc na przypadkowe sygnały pojawiające sie na wejściu, również te powodowane...
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.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]
Portb.3 = 1 Jak już to pin. Po za tym mam nadzieję że masz zew. rezystory podciągające bo avr-y pull-down nie mają. IMHO to 3 pętle na taki program to o wiele za dużo. Proponuję skorzystać z opcji "compile" żeby zobaczyć czy program jest poprawny.
O ile dobrze zrozumiałem idee to cyklicznie negujesz wartość poprzednio wpisną do portu. Nie znam AVR ale może to być taki przypadek jak w 51 , Ustawianie portu polega na wpisaniu wartości do rejestru, ale odczyt następuje z pinów procka. Podciągając lub nie pin rezystorem do +Vcc a sterując zerem, to nawet ustawienie pinu na zero przy odczycie zwróci...
PCF8583 ma na wyjściu INT chyba Open Collector to znaczy że tylko zwiera do masy ... Interesujesz się elektroniką? Chodzi o to że PCF potrafi na tym wyjściu tylko zwierać do masy..ale musi mieć co zwierać.. więc albo musisz dodać tam zewnętrzny rezystor podciągający linię tak by normalnie panowało tam 5V a PCF na moment zewrze linię do masy...albo mozesz...
Nie działa bo masz nie włączone podciąganie do plusa. Rejestry PIN nie służą do zapisu w tym procesorze (tylko w niektórych modelach zapis 1-dynki do nich powoduje zmianę stanu odpowiadającego bitu w rejestrze PORT). http://www.atmel.com/Images/doc2503.pdf - strona 64 Musisz dać dla każdego przycisku po instrukcji Config ... Input instrukcję Set Portd.x...
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...
Wyłapałem że wcześniej deklarowałeś $regfile = "m16def.dat" zamiast $regfile = "m16adef.dat" (mimo że procesory różnią się jedynie poborem prądu i rezystancją podciągania pinu RESET to warto było sprawdzić ten trop), jeśli dioda LED podłączona jest poprawnie do PORTA.0 to niestety nic więcej (poza samym komputerem) nie przychodzi mi do głowy... Ostatni...
Kolego, układy AVR mają nogę podłączoną do kilku rejestów. Pisząc słowo PIN konfigurujemy rejestry wejściowe, a słowo PORT rejestry wyjściowe. Chodzi tu o składnie języka Bascom. Ta informacja jest oczywiście niedokładna , a sama interpretacja błędna (!). Pisząc 'config ...' w efekcie edytujesz rejestr DDRx odpowiedniego portu x. Nie jest ważne czy...
Po pierwsze to po resecie mikrokontrolera piny są ustawione jako wejścia więc nawet nie trzeba tego robić Po drugie to kierunek ustala się za pomocą rejestru DDRx a nie PORTx (to nie Bascom) Po trzecie to musisz doczytać jeszcze o przesunięciach bitowych bo szybko na tym polegniesz w C. To podstawa. Po czwarte to klawisze (słicze) musisz mieć albo podciągnięte...
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 +...
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...
Rozumiem ale, gdy ładuję programik obsługujący I2C z kompilatora C++ Arduino I2C działa. Natomiast gdy podobny programik ładuję po skompilowaniu w Bascomie I2C zacznie działać dopiero po podpięciu oporników podciągających. Skąd te różnice ?
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...
Więc jeśli chciałbym zęby układ się nie resetował z niewiadomych przyczyn to pin RESET podciągam do plusa zasilania, a jeśli chciałbym resetować mikrokontroler wystarczy pin RESET podciągnąć do masy zasilania, tak?
Zacznij od Set PORTD.6 a nie Set Pind.6 Rejestru PIN nie da się ustawiać. Co za tym idzie nie masz podciągania na tym pinie. Jest pewne niezrozumienie tego tematu w Bascom. Jeśli piszesz Config to potem mozesz pisać Pin albo Port, ale przez ten poprzedzający "Config" ustawienie będzie się tyczyło DDR.x Jednak ustawia się potem PORT.x a czyta z PIN.x
W pierwszym kodzie - niby nadajnika - masz konfigurację dla przycisku na PORTB.1 W zależności od stanu na PINB.1 ma nadawać jedynkę lub zero. W konfiguracji przycisku jednak ktoś wyłączył podciąganie przycisku do plusa przez co, jeśli w układzie nie masz zewnętrznego rezystora podciągającego ten pin do plusa, stan jest nieustalony, losowy bądź zależny...
To dlatego że zmieniona jest nazwa kompilator generował mi błąd. Wszystko oczywiście działa poprawnie. Włączyłem podciąganie na tym pinie i jest ok. Dziękuję wszystkim za pomoc.
Witam. Jak należy konfigurować poleceniem w Bascom Config PORTx=&Bxxxxxxxx i PORTx=&Bxxxxxxxx piny używane do np. taktowania procesora-np. xtal, lub piny używanego ADC lub LCD lub np, jakiegoś interfejsu? CZy gdy są wejściami - włączać R podciągające czy niech pin "wisi w powietrzu"?
Mam pewne obawy związane z tym ,że coś mogę podłączyć źle (to znaczy nie do tych pinów mikroprocesora co trzeba). Czym mogłoby to skutkować? Procesor przeżyje, nawet jak go odwrotnie włożysz w podstawkę. Co do SPI do nie trzeba podciągac pinów rezystorami, tylko musisz pomiędzy programatorem a procesorem wstawic do każdej z linii (MISO, MOSI, RESET,...
Witam. Czy pin od resetu czy ma rezystor podciągający ? i jest dobrze podłączony. warto również dać kondensator 10uF od pinu reset do masy.
To jest sztuczka zastępująca fizyczny zewnętrzny rezystor podciągający do plusa zasilania. By magię zdjąć z forum wyjaśnię, że to nie żadna sztuczka, tylko włączenie rezystora pull-up, który znajduje się w strukturze wyjściowej pinu mikrokontrolera, a który włącza się wpisaniem jedynki do odpowiedniego bitu rejestru PORT, gdy pin jest ustawiony jako...
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...
ło matko ;) po opisie kolegi atom1477 i po tej informacji, że "Bascom coś kombinuje" można by uznać, że napisanie sotu do obsługi 1wire to rzecz prawie niemożliwa dla zwykłego śmiertelnika. Tymczasem to co robi Bascom to absoultnie nie żadna kombinacja tylko normalne zachowanie - ponieważ to podtrzymanie stanu wysokiego na pinie portu jest niejako przygotowaniem...
Witam,czy pinu przerwania nie trzeba podciągać,bo sam miałem podobne problemy z podobnym programem,i trochę to pomagało...
≈0,3mA na dzielniku R10+R43 to święta racja, ponieważ tu nie są potrzebne żadne prądy, a tylko dzielnik napięcia dla ADC więc zwiększę opory, Inne spojrzenie na dzielnik. http://obrazki.elektroda.pl/3298128800_1... Pin portu ustawisz tuż przed pomiarem na zero ( dokładasz parę omów ) , po czym wracasz do jedynki bez podciągania...
Na piny P1.0 i 1.1 musisz podać stan wysoki, żeby wejścia komparatora nie były połączone z masą. Te piny nie mają wewnętrznego podciągania do Vcc, więc będą "wisiały w powietrzu" (i tak ma być :D ). Stan wyjścia komparatora odczytujesz jako pin P3.6 W BASCOMie jaokoś tak (nie pamiętam, dawno nie używałem, ostatnio tylko asm :D ): SET 1.0 SET 1.1 żeby...
To ja sie zapytam czemu podciągasz kilka razy przyciski do +? Przeca raz na początku wystarczy?
Z czego to zasilasz? Może prądu mu brakuje? Bo schemat wygląda w miarę ok:> Jedynie ja bym wsadził rezystor podciągający 1..5k na pin uC:>
Ponieważ można włączyć wewnętrzne podciąganie pin'a do plusa zatem aby zmienić stan na wejściu wystarczy je dołączać do masy.
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...
Prosty program zmieniający z częstotliwością 0,5Hz stan końcówki PXY raz jako zwarcie z masą (logiczne zero) wmuszone stanem rejestru PORTX.Y, a po sekundzie wystawiający na końcówkę PXY wysoką impedancję. Fakt, jedynką ustawiasz masę, a zerem ustawiasz wysoką impedancję. Z tym chyba sobie poradzisz. [syntax=basic4gl]PORTX.Y = 0 'Wartość rejestru PORTX.Y...
A być powinny. Daj chociaż rezystor podciągający reset do Vcc, i chociaż po jednym kondensatorze 100nF na każdą pare pinów zasilających... to nie boli.
Witam ! Daj podciąganie programowe, Jeśli to bascom to: np. Portb.0 = 1 Brak rezystora 4,7k, pomiędzy pinami 1 i 20 może być przyczyną Twoich problemów. Pozdrawiam. Stefan
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...
Musisz dać rezystory podciągające do masy (ok. 1-10k) na wejściach, do których masz podłączone przyciski albo ustawić wewnętrzne rezystory podciągające wejścia do plusa zasilania poprzez komendę PORTD=&B11111111, a przyciskami zwierać do masy.
Na początek zrób jak proponował arktik1. Masz zmienną I, odpowiada ona za PWM. I tak : jak masz otwarte drzwi to ją zwiększaj, jak zamknięte to zmniejszaj. Wszystko w pętli do - loop. Tak na szybko: Drzwi As Pinb.1 'przykładowy Do If Drzwi = 1 Then 'albo otwarte, albo zamknięte Incr I Else Decr I Pwm1a = I Waitms 200 Loop Oczywiście potrzebna kosmetyka...
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??
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".
Vpu to podciągnięcie do zasilania (5V). Ten czujnik ma 3 piny. Masę, dane i zasilanie. Jak nie podłączasz zasilania działa w trybie parasite power (pobiera zasilanie z linii danych). Jak programujesz w bascom wystarczy że dasz rezystor podciągający 4.7k między zasilanie a linię 1Wire. Pin Gnd na masę, pin danych przez wspomniany rezystor podciągający...
Nie idzie.Pin nr.3 pcf mam podłączony do masy może dla tego.Czytałem jeszcze że przy takiej konfiguracji (TWI) trzeba odpiąć rezystory podciągające od pcf.
DQ jest do jednego, tylko próbowałem do 3 po kolei. Jak mogę sprawdzić czy odpowiada na reset? Mam ustawić dany pin jako wejściowy, wyłączyć podciąganie co da stan niski, poczekać 0,5ms, włączyć podciąganie i sprawdzić czy pojawi się stan niski?
Powinien być 32.768kHz (32768Hz),a mi babka w elektroniku dała 3.2768MHz, więc trochę większy niż powinien. No nieźle :) Chciałeś przyśpieszyć czas 100-krotnie? Wystarczająco szybko już leci... :) A poważnie - jeśli podłączysz PCF-a prawidłowo i jego generator działa jak należy, to (przy domyślnym ustawieniu rejestru kontrolnego) na pinie 7 (/INT)...
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...
Z tym dotykaniem masy pasowałoby mi niepoprawny układ taktujący (kwarc, kondensatory) może być też brak zewnętrznego podciągania RESETu do plusa i niepołączona masa układu i masa posrtu COM (5 pin w porcie DB9)
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
PIND.7 mam podłączony do 5V Rozumiem, że przez rezystor 10k. Generalnie to podciąganie fizyczne możesz wywalić, komenda SET PORTD.7 podłącza rezystorek wewnątrz procka do VCC. Sprawdź bez rezystora.
A może podłącz LEDy i switche do 8-miu pinów. LEDy do VCC. Ale switche nie do GND, ale to dziewiątego pinu AVRa. Wtedy wciskanie switchów nie będzie powodowało zapalania się odpowiadającego LEDa (chyba że programowo procesor zadecyduje o jego zapaleniu). Czyli LEDy zapalasz albo gasisz normalnie. Ale co jakieś np. 10ms, wygaszasz je i piny ustawiasz...
Ale należy również ustalić czy te piny mają być wejściami czy wyjściami dla sygnałów , a tego chyba nie zrobiłeś . $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11111111 Portb = &B00000000 Config Portc = &B00111000 Portc = &B00000000 Config Portd = &B11111111 Portd = &B00000000 Pierwsza linijka (portb) określa że port ( piny )...
I jesteś pewien, że masz wszystko poprawnie podłączone. Rezystor podciągający szynę 1Wire (środkowa noga DS18B20) do zasilania około 4,7k jest? Pod który pin(numer nogi) procesora masz podłączoną szynę 1wire? Jaki masz kwarc na płytce?
Witam. Np. tak, zmiana wypełnienia: najpierw piny podciągasz do stanu 1 [syntax=basic4gl]If Pind.0 = 0 Then Pwm1a = 50 'około 20% End If If Pind.1 = 0 Then Pwm1a = 100 'około 40% End If[/syntax]
zmień sposób wykrywania stanu z wysokiego na niski , podciągając piny portu przyciski do masy .......... Config Pind.0 = Input Config Pind.1 = Input Portd = &B00000011 If Pind.0 = 0 Then Gosub Menu1 End if ...........
Program jest w BASCOM. Rozumiem że można wykonać to: 1. Odłączając PA7 i PB4 od VCC i w programie dodać zapis SET PORTA.7 2. Zastosować rezystory podciągające piny PA7 i PB4 do VCC. I w związku z tym jeszcze dwa pytania. W którym miejscu programu umieścić zapis SET PORTA.7? Pod deklaracją wyjść/wejść? Jakiej wartości powinny być rezystory podciągające?
Sprawdzałeś 3x czy prawidłowo podłączyłeś ? Ja robię tak - układ docelowy zasilam zewnętrznie (najczęściej zasilam po prostu układ tak jak ma być docelowo zasilany), do programatora podłączam MISO, MOSI, SCK, RST i masę, zworka SLOW SCK, Khazama i gotowe. Sprawdź, czy w układzie nie masz czegoś podłączonego pod piny programujące, co może zwierać te...
Czy do pinu resetu masz dołączony jakiś rezystor podciągający ten pin do +5V ? Atmega ma co prawda wewnętrzny rezystor podciągający, ale w zakłóconym środowisku często on nie wystarcza i uC się resetuje. Jeżeli gdzieś kupisz tranzystory, o których pisałem dwa posty wcześniej to kup taki i wymień. Problem z grzaniem zniknie całkowicie :D
po pierwsze źle obsługujesz przyciski - te podłącza się tak by zwierały do masy i załącza się wewnętrzne podciąganie pinów - od tego zacznij po drugie w obu przypadkach dodajesz liczbę po trzecie skorzystaj z timerów do eliminowania drgań styków, lub, jeśli nie jesteś na tym poziomie to dodaj odpowiednio funkcje wait lub poczytaj o bascomowej funkcji...
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...
"Pewność" podciągania zależy po prostu od wartości rezystora podciągającego. Wewnętrzny ma 20...50k. Nie ma znaczenia czy użyjesz wewnętrznego, zewnętrznego czy obu. Chyba, że zewnętrzny dasz daleko od mikrokontrolera, albo przewidujesz możliwość urwania rezystora. ;) Włączenie podciągania nie zaszkodzi, a w programie wiadomo, że jest podciąganie do...
Nie no :) ... schemat pierwsza klasa. Wspaniale wyszczególnione wyprowadzenia, od zarojenia kondensatorów dostałem oczopląsów. To samo dotyczy tego tłumu rezystorów podciągających reset do Vcc itd. Zresztą gdzie ten pin resetu ? :) Ten schemat to powinien być przykład :D :D PS. A gdzie Ty dorwałeś taką Atmegę z dwoma nóżkami :)
Witam Pin INDEX nie ma tutaj nic do rzeczy. Sygnał STEP możesz podawać wtedy kiedy Ci się to żywnie podoba. INDEX to jedynie informacja że dyskietka wykonała jeden pełny obrót i znajduje się w obszarze początku zapisu danych na ścieżce. Do sterowania pozycją głowicy potrzebujesz tylko DIR i STEP. Według teko linku: http://www.elektroda.pl/rtvforum/topic21...
Zobacz to: $regfile = "m8def.dat" $crystal = 16000000 Config Portb = Output Portb = &B00000000 Config Portd = Input Portd = &B11111111 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1 Przycisk Alias Pind.1 Dim D As Byte , Czekaj As Integer D = 0 Pwm1a = D Czekaj = 0 Do If Przycisk...
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...
rezystory przy Led to jedno , temat zasilania L293D był wałkowany wielokrotnie końcówkę 8 tego układu zasil bezpośrednio czyli przed stabilizatorem dlaczego było pisane już na forum , kondensatory tylko przy stabilizatorze to mało dodaj jeszcze przy uC i to jak najbliżej końcówek układu , wskazane są również dodatkowe rezystory podciągające dla pinów...
Jak jest podpięty do dzielnika to nie wisi w powietrzu bo go dzielnik ciągnie do masy. Wisi w powietrzu jak nie jest do niczego podpięty. Jeśli wisi w powietrzu to normalne że się nie zeruje - nie patrz na inne układy. Jeśli jest podpięty do dzielnika i mimo wszystko się nie zeruje się to zobacz czy przypadkiem nie zostawiłeś włączonego podciągania...
Przy zasilaniu zewnętrznym problem z "zajętością" tych linii znika. Jeżeli nie jest włączone zasilanie FT232 JTAG pokazuje "raczej stan niski" czyli przeważnie jest stan niski, z skłonnościami do pojawienia bardzo rzadko stanu wysokiego (piny "teoretycznie wiszą w powietrzu") . Jak ponoć ogólnie wiadomo, nie pozostawia się niepodłączonych pinów, a na...
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...
Witam po przerwie. Uruchomiłem komunikację z kartą SD, skupiłem się na inicjacji karty i na danych które są pewniakami i można wyciągać je z karty. Karta pracuje obecnie na atmedze32 i sprzętowym SPI. Odczytuje swobodnie CID-a z każdej karty do 512Mb, takie miałem pod ręką. W tej chwili mam kolejny niespodziewany problem, program działa wyśmienicie...
nie dotykam ale wytłumaczę to inaczej . Tak to jest... Jeżeli pin wejściowy reaguje na dotyk palca, to pierwszy powód jest brak podciągania na tym porcie, jeżeli jednak port ten jest podciągnięty do Vcc to przyczyną jest błędna konfiguracja tego portu. Wejścia konfiguruj raczej: config PINB.1 = input ; zamiast: config PORTB.1 = input Bascom tu nie...
To moje standardowe ustawienia dla Mega32. Wszystko na tym działa i to bez rezystorów podciągających na SDA i SCL bo biblioteka i2c_twi.lbx kiedy wydasz komendę I2cinit włącza sprzętowe podciąganie pinów. [syntax=vbnet]$regfile = "m32def.dat" ' specify the used micro $crystal = 8000000 ' used crystal frequency $hwstack = 32 ' default use 32 for the...
Witam W zasadzie powinno działać ale :) To mogłoby funkcjonować pod warunkiem że piny 1 i 0 portu D są fizycznie sciągnięte do masy rezystorami (np. 10k). Wpis w programie: Portd.0 = 0 Portd.1 = 0 nie daje nic , bo i tak 'by default' taki stan tam występuje, a nie jest to równoważne z podciąganiem portu. Owszem jest tego radzaju możliowość ale tylko...
Witam Podłącz włącznik między masę a pin procesora. Ustaw na tym pinie wewnętrzne podciąganie i dopiero sprawdzaj stan tego pinu. Config Portc = Output Config Portb = Input Portb =&B11111111 Portc = &B11111111 Do If Pinb.0 = 0 Then Reset Portc.0 waitms= 100 if Pinb.0 = 1 then Set Portc.0 waitms= 100 End If End if Loop End Pozdrawiam
Na 1 wire się nie znam więc nie pomogę. Zamiast wprowadzać śmietnik w program i kabelki to zacznij wszystko naprawiać po kolei. Czyli najpierw zajmij się wyświetlaczem LED. Zrób IF który znak 0 wyświetli tylko wtedy gdy Pind.0 do Pind.5 będą =1 W ten sposób pozbędziesz się tego ELSE Wymień tranzystor i zmień jego opornik podciągający do VCC. Upewnij...
Musisz podciągnąć wejścia do Vcc, czyli włączyć wewnętrzne rezystory podciągające. A mówiąc prościej: W kodzie nigdzie nie masz poleceń do konfiguracji pinów, czyli piny są domyślnie wejściami w stanie wysokiej impedancji. A to znaczy, że napięcie na nich "pływa" od zera do Vcc. I kiedy napięcie na pinie jest w okolicy zera polecenie Debounce reaguje...
cze! Te programy też nie działają! czy przyglądaliście się schematowi który dołączyłem, przycisk jest bez żadnego rezystora podciągającego może to jest błąd? Już wiem co jest grane pisząc taki program: Config Pina.2 = Input Config Pina.7 = Output Do If Pina.2 = 0 Then Porta.7 = 0 End If Loop układ dalej nie reaguje, ale kiedy podepne rezystor podciągający...
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...
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...
Zacznijmy od pierwszych trzech linijek. Nie ma $regfile= Ustawiasz PortB jako wyjście. Ustawiasz dwa najmłodsze piny w stan niski. Ale nie wiadomo co się ustawi bo instrukcje oddzielasz średnikiem(; ) a nie dwukropkiem(: ). Kompilator nie ostrzega tylko robi jakieś bzdury- np. ustawia wszystkie piny w stan niski. Potem tu: W1 Alias Portb.4 W2 Alias...
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...
Config Debounce = 30 ' Wydłużenie czasu na wygaszenie drgań styków do 30ms ' Pin wejściowy musi mieć podciąganie (wewnętrzne lub zewnętrzne) do Ucc 'by gdy przycisk jest wciśniety był wymuszony konkretny stan wejścia Do ' Główna pętla programu debounce p1.1,0,klaw112,sub Loop klaw112: obsługa ret
A jaki może być schemat - rezystory podciągające do + od SCL i SDA , i na Piny oznaczone SCL i SDA . Atmega32. Problem wygląda tak że - Daję kod z zapisem do eepromu zmiennej , (właśnie teraz np. zmienna jest w epp. Potem kasuję kod z uP i daję kod z odczytem z eepromu - i NIC - wyświetla 0 albo 255.
Jeśli chodzi o cmd_timeout to chodzi o to, że wejscie RX kiedy pin używany jest przez USART nie jest niczym podciągane. Kiedy jest podłączony do drugiego urządzenia np. procesora lub MAX485 to problemu nie ma bo pin jest podciągany wyjściem TX tego uC lub MAX485. Kiedy jednak odłączysz to na pinie stan jest nieustalony i wpadają na USART śmieci. Ten...
W AVR'ach portami zarządzają trzy rejestry PORT, PIN, DDR. PORT przechowuje dane wyjściowe, a w przypadku wejścia załącza rezystory podciągające (tam gdzie 1, 0-stan wysokiej impedancji). PIN odzwierciedla aktualny stan końcówek portu. Dla tego przez ten rejestr badamy co jest na wejściu. DDR zawiera dane o tym które bity portu są wejściami (0), a które...
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...
Witam, Kiedyś znalazłem gdzieś na necie takie rozwiązanie problemu małej ilości przerwań zewnętrznych w atmega16. Czy może ktoś wytłumaczyć dokładniej działanie tego tworu ? Chodzi mi głównie o techniczną sprawę i sens użycia tych diod. Te diody, łącznie z pull-up resistorem tworza bramkę OR. Prawdopodobnie autor tego tworu wykorzystał wew. programowe...
Jeden ULN możesz spokojnie wykorzystać do jednoczesnego buforowania wejść i wyjść, z tym, że wspólny punkt diod zabezpieczających (pin 10 w ULN2803) musi być podłączony do napięcia najwyższego w układzie (np. 24V) lub odłączony, Tak napisała mi jedna osoba która mi pomagał przy realizacji tego układu nie rozumiem czemu miałby się nie nadawać w nocie...
Witam Analizując http://www.elektroda.pl/rtvforum/viewtop... program w niektórych przypadkach mam problem ze zrozumieniem Trudno zrozumiec, bo akurat wybrałeś jego pierwszą wersję (zupełnie błędną), która uległa kolejnym poprawkom w dalszej dyskusji. Najbliższa do porawnej była umieszczona pod postem #10 (chociaż i ta wymaga...
Jak podłączam do procka sam programator bez zasilania, to wyskakuje mi takie samo okienko jak Tobie. W związku z tym tam szukałbym błędu. Jest jakiś szkopuł w zasilaniu procka. Sprawdź pin RESETU, tam może się okazać że nie masz rezystora podciągającego do plusa, tylko bezpośrednie podłączenie do plusa, to błąd i trzeba by go poprawić. To jakaś typowa...
podciąganie pinów bascom podciąganie portów bascom podciąganie wejścia
orange neostrada kupić sklep internetowy energia darmowa
pakowarka próżniowa pakowarka próżniowa
BMW X1 F48 s-drive - Nieaktywna dźwignia biegów po uruchomieniu silnika Awaria układu chłodzenia w Daewoo Matiz: przyczyny i diagnostyka