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...
Witam, potrzebuje napisać program, który będzie załączał przekaźnik po naciśnięciu przycisku. Problem jest w tym, że za przycisk będzie robił układ, który poda na pin procesora napięcie - czyli tak jakby przycisk był podłączony pod VCC. Z tego co wyczytałem, w bascomie mogę tylko podciągnąć pin procesora pod VCC Set portx.x Jak zrobić, aby "przycisk"...
Witam. Nie pisał bym tutaj żeby nikomu nie zawracać głowy , ale mam trochę kłopotliwy problem. Dodam jeszcze że szukałem pond 2-wa tygodnie na necie odpowiedzi na moje pytanie , ale bez skutku więc proszę kolegów - koleżanki o pomoc i wyrozumiałość bo ja już nie wiem co mam robić. Dodam jeszcze że miałem kiedyś pełną wersje bascoma i nie miałem żadnych...
Witam mam pytanko odnośnie programu. Chcę żeby po podaniu masy na PINC.1 na PINA.1 pojawiło się napięcie i zniknęło. ale tylko raz aż do odłączenia masy od PINC.1 co natomiast spowodować ma pojawienie się i zniknięcie napięcia na PINA.2 ale nie może sie to dziać co obrót pętli tylko raz po każdej zmianie stanu na PINC.1 Proszę poprawić tytuł wiadomości...
Witam, Jak ustawić w bascomie wejście dla przycisku podłączonego do masy. Dokładniej chcę podłączyć przełączniki krańcowe do końcówek obsługujących przerwania. chciałbym aby przełączniki zwierały właśnie do masy. Czy muszę jakoś to ustawić oprócz deklaracji przerwań i akcji?
Witam Niedawno zaczolem programowac w bascom chce napisac program do µP tak aby dzialal jak przelacznik Zrobilem cos takiego: Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111110 Portd = &B1110111 Dim K As Byte K = 0 Do If Pind.0 = 0 Then Incr K If K = 0 Then Portb = &B11111111 If K = 1 Then Portb = &B11111011 If K = 2 Then Portb...
Witam! Mam taki problem, po złożeniu układu wszystko działa poprawnie ale w momencie gdy podłącze przyciski zaczynają "same się przyciskać". Korzystam i z Debuence i z if p1 = 0 then..... Próbowałem zmieniać waitms od 25 do 500 dalej nic. Wygląda to tak jak by przewody "zbierały" coś. Blokujecie to jakoś? Bo już różne rzeczy kombinowałem ale jakoś nic....
Witam. Chciałem się was poradzić odnośnie obsługi impulsatora mechanicznego 42 impulsy na obrót. Istnieje w Bascomie komenda: Var = ENCODER( pin1, pin2, LeftLabel, RightLabel , wait) ale niestety u mnie nie działa. Używam bascoma wersji 1.11.8.1, ściągnąłem też najnowszą wersję i dalej nic. Enkoder mam dokładnie taki sam jak w helpie Bascoma. Podpinam...
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...
podciąganie pinów bascom podciąganie portów bascom podciąganie wejścia
405nm laser baofeng squelch router dwr116
Sterownik świec żarowych – brak kontrolki i grzania po wymianie, test komputerem OK – Iveco Daily, GPCM, diagnostyka FirstChip FC1178BC USB Flash Drive Not Working – VID FFFF:1201, MPTool Recovery, Firmware Issues