Włącz podciąganie na wybranym pinie w trybie wejściowym.
, 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...
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....
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...
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...
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
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?
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.
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]
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...
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...
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...
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...
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...
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...
>> maly.borkowo Tak ale to w sumie tylko kosmetyka ,ponieważ pisałem to na szybko ;) .Sam jestem zwolenikiem podciągania pinów przez rezystor do +5V ,powoduje to że układ nie wariuje w przypadku trudnych warunków pracy .
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...
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)
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??
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...
≈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...
Tzn mam nadzieję, że masz tylko rezystor podciągający i impulsator podłączony bezpośrednio do pinu mikrokontrolera. Zgadza się ?
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?
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...
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...
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...
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...
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...
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...
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...
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...
config pinb.0 as input <<<<------ to nie jest błąd w składni ? do Reset Portb.0 <<<<-------- po co to robisz ? If Pinb.0 = 1 Then disp1 = 8 'wyswietl 8 na LED else disp1 = 0 'wyswietl 0 na LED end if loop <<<<----- w tej pętli cokolwiek by się działo i tak resetujesz pinb.0 na początku jak chcesz używać pinu b.0 jako...
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...
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...
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
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...
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ł"...
Mam nadzieję, że nie jest to jakiś bug w BASCOMie i u Ciebie będzie się zachowywać poprawnie. Z rejestrów PIN można tylko czytać wpisem do nich nic nie zmienisz. Dlatego podciąganie "internal pullups" włącza się w korespondujących rejestrach PORT. To jest błąd: [syntax=vbnet]Pinb.3 = 1 ' internal pull-up Pinb.4 = 1 ' internal pull-up Pinb.5 = 1 ' internal...
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...
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...
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...
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
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...
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
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...
Akurat w procku ATmega128 nie dałoby się przez przypadek przeprogramować pinu RESET jako port I/O bo jest on na całkiem oddzielnym pinie, zatem nie ma możliwości aby on wystawiał stan niski na zewnątrz, a to wynika z twojego opisu , że podciągasz go do VCC i pomimo to jest tam stan niski. Wg mnie coś źle robisz, sprawdzasz, masz uszkodzony miernik,...
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...
No fakt, zrobiłeś wszystko zgodnie z poprzednimi zaleceniami. Jest tylko jedno ale; gdy obsługujesz coś, co jest wejściem, to podciągasz komendą Set PORTX.X, natomiast stan odczytujesz : If PINX.X, a nie portx.x Jeśli dobrze zrozumiałem, to są aliasy: In1 = Portc.2 In2 = Portc.0 zamiast tego wpisz: In1= pinc.2 in2=pinc.0 i poszukaj jeszcze innych takich...
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...
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 ?
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...
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...
Co oznacza podciągam? Zwierasz wewnętrznie poprzez wbudowany rezystor odpowiedni pin portu z Vcc (pull-up) wymuszając na nim stan wysoki. Dopisałem set plus i set minus i nic sie nie zmieniło Nie dziwi mnie że nie działa bo aliasy masz przypisane do rejestru PIN_x a pull-up włącza się ustawiając odpowiednio bity w rejestrze PORT_x. Szczegóły w DS.
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...
Najkrótsza podpowiedź jakiej udzieliłem: Brak debouncingu. Program ten jest w całości statyczny (sprawdza tylko stan portu/pinów wejściowych) a output ma również charakter statyczny (nie zlicza impulsów czy też toggle stanu wyjścia) więc debouncing byłby nie konieczny. Inna rzecz to: brak tu kilku słów lub częci programu na temat podciągania do Vcc...
Nie masz włączonego podciągania,tak wiec jeśli wykrywasz załączenie switcha: stanem wysokim to dajesz reset portx.x lub portx.x=0 stanem niskim to dajesz set portx.x lub portx.x=1 (dane polecenia w pętli lub przed instrukcą sprawdzania stanu na pinie) Porty mikrokontrolera sa na tyle czułe ze sciągaja cały syf z otoczenia ,dlatego można dać na zewnątrz...
No chodzi o to że sprzętowy pin SS jest na tym samym pinie. A on nie może być wykorzystywany bo będzie zawieszał transmisję SPI. Już widziałem takie cuda jak i sam też je przerabiałem. Tylko o tym zapomniałem. SPI sobie działa i działa, a tu raptem bach, przywiecha. Więc jak by nie było, zmień ten pin CS a pin SS (PortB.4) ustaw jako wyjście i w stan...
Działać to one będą zawsze, tylko w pewnych przypadkach mogą się przegrzać. Z tego względu tutaj chyba chciałeś napisać "użyć diod wewnętrznych". Przyjąłem dla uproszczenia przypadek, gdy układ nie pobiera prądu większego niż wytrzyma dioda. Tutaj podano, że nie powinno się przekraczać 1mA dla tych diod. Trochę zaokrąglając przy minimalnie 15kΩ...
Czy do wyjścia ze złącza ISP podłączam bezpośrednio (przez kabel) do mikrokontrolera Atmega8 bez żadnych kondensatorów i oporników? do jakich nóżek jaki pin? (wtedy mógłbym zacząć uczyć się programować w bascomie). Podłączasz MISO do MISO, MOSI do MOSI, SCK do SCK, Reset do Reset , VCC do VCC, GND do GND. I ostatnai sprawa - zapomnaiłem kupić kwarca...
Coś to dziwnie brzmi... Taka zbieżność przypadków, że na trzech mikroprocesorach nie da rady? Przypomnę (nie żebym ci zarzucał, że pozapominałeś, ale to częste): Config Portx = Output / Input lub Config Pinx.x = Output / Input czy aby na pewno stosujesz te instrukcje? 'Ustawienie jako wejście pinu pind.2: Config pind.2 = Input set portd.2 (podciąganie)...
teraz jaśniej ????? Nie sądzę aby to było jaśniej. Namąciłeś mu w głowie okropnie!..... O wiele łatwiej jest przeczytać ze zrozumieniem jeden mały paragraf w „BASCOM Manual” odnośnie konfiguracji portów (str.145/146) PortB As General Digital I/O , gdzie w bardzo wyraźny sposób określono różnice co należy rozumieć PORT a co jest PIN. W dalszej...
Nie spotkałem w bascomie funkcji do konfiguracji Pin change innterrupt ani przerwania od watchdoga, ale oczywiście można to zrobić na rejestrach. W bascomie nie znam zawartości pliku ATtiny44.dat Czy oprócz nazw rejestrów są jeszcze bity? [syntax=basic4gl]$regfile = "ATtiny44.dat" Dim Praca as Bit Praca = 0 Config PINA.5 = Input PORTA.5 = 1 'włącz wewnętrzne...
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.
Potrzebuję zbudować sterownik 11 serwomechanizmów na dwóch układach Attiny2313 z kwarcami 16Mhz. Mam wątpliwości dotyczące tego czy jeden uc Attiny 2313 będzie w stanie obsługiwać do 6 serw jednocześnie (bo przecież ma tylko 2 timery)? Do tej pory programowałem ten procesor jedynie w płytce testowej z zestawu AVT Piotra Góreckiego. Teraz z użyciem programatora...
Mam problem z zaprogramowaniem ATmega8535. Używam programatora na kabelku z LPT zbudowanego w oparciu o schemat z HELPa, czyli: DB25 pin ->ATmega8535 2 przez R=330om->MOSI, pin 6 4 przez R=330om->RESET, pin 9 5 przez R=330om->SCK, pin 8 11 -> MISO, pin 7 18-25,GND ->GROUND, pin 11 Do uC miałem podłączony jedynie DS1820 w konfiguracji z „osobnym...
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:>
...pozostałe piny są w stanie niskim czyli 0 V. Źle, wejścia te mają wyłączone podciąganie do VCC.
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"?
Oj. Koledzy. Może po raz 10 to wyjaśnię. Do konkretnego fizycznego portu przypisane są trzy rejestry uC Pierwszy rejestr to DDRX (X to oznaczenie portu). W rejestrze tym ustawia się kierunek działania tego portu. Jedynka to wyjście na danej końcówce, zero to wejście. W Basconie ustawia się to instrukcją Config Port X = Input lub Config Pinb.1 = 0 :...
1. źle konfiguracja pinów, poprawnie powinno być Config PINx.n = Input/Output 2. po co potem drugi raz konfigurujesz za pomocom Config PORTn = &Bxxxxxxxx ?? niepotrzebne to jest. 3. Włączaj podciągania tylko na potrzebnych pinach, tzn: Set PORTD.0 Set PORTD.1 4. wszystko fajnie w pętli głównej, ale źle konstruujesz ify, ogólna składania wygląda tak:...
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.
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.
Próbowałem jeszcze w modułach RFM83CL podciągać pin DATA do 3,3V ale nic to nie dało. Próbuje teraz dodać obsługę 2 najstarszych bitów VLow i Repet, ale coś mi nie odbiera bitu 66. Tak zmodyfikowałem część odbiorczą: [syntax=vbnet] If Previous_bit = 1 And Period > Start_bitperiod0 And Period < Start_bitperiod1 Then Bit_number = 0 Start_bit = 1...
Wydaje mi się że adres dla odczytu/zapisu powinien mieć wartość &HF1. Jeżeli korzystasz z hardwarowego TWI (np. w Atmega 32 pin PC.0 i PC.1) to masz zamienione SDA z SCL. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 40 $swstack = 32 $framesize = 32 ' konfiguracja hardwarowego TWI dla ATmega 32 $lib "i2c_twi.lbx" ' biblioteka...
Przepraszam za taką formę ale nie mogłem skopiować błędów. np; w końcowej części kodu napisałem Lcd tempu to znaczy że na wyświetlaczu pojawi się wartość zmiennej Tempu czy trzeba to zrealizować w inny sposób? 1. Zechcesz skopiowac tylko tabelkę błędów: -klikasz myszką w dowolnym miejsc na górny bar tabelki z napisem 'Errors', a następnie "Alt + print...
Prosze mnie nie wprowadzać w błąd bo instrukcją np: pind=1 odczytuje stan portu a portd=1 to wtedy podciągam wejście czy tam wyjście do zasilania, plusa. Chłopie weź ty usiądź, uspokój się i porządnie zastanów się nad tym co robisz - bo teraz to już (sorry za określenie) BREDZISZ !!!!! i to na max'a Tu masz CZYSTE INFO Z HELPA BASCOMA: CONFIG PORT...
Nie już jest wszystko w porządku wszystko tak jak w schemacie tylko trzeba jeszcze dodać ten impulsator....Przepraszam za zamieszanie... Dodano po 1 Tutaj Masz przykład w bascomie obsługi enekodera ' (c) 2004, MCS Electronics ' Encoder.bas ' Demonstracja funkcji ENCODER '---------------------------------------... 'Enkoder...
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 +...
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...
Witam. Schemat całego układu: http://obrazki.elektroda.net/75_12533785... Przed położeniem uC do snu ustawiam stany wysokie na bazach tranzystorów (zmierzyłem prąd samych tranzystorów, poniżej 0.00uA bo miernik nie chwyta). Ustawiam wszystkie pozostałe piny w stan wysoki oprócz: pinów przycisków S1-S4 które mają być masą dla pinu przerwania...
Tak jak przedmówca napisał odłącz pin RW od mikrokontrolera. Reset powinien być podciągany do tych 5V przez rezystor 10k bo programator musi mieć możliwość zwarcia tego pinu do masy. Dodatkowo w opisie masz błąd bo przycisk opisujesz pod pinem zajętym przez wyprowadzenia LCD. Poniżej masz taki prosty kodzik do zabawy :P Na pinach PORTB.2 i PORTB.3 podłącz...
Ostatnie czasy na Elce coraz więcej nie działających procesorów/Programatorów/za szybko wykonywujących się opóźnień... W związku z tym może warto by było zrobić coś w stylu "Kompedium" co zrobić, jeśli nie działa...Jeśli macie jakieś z życia przykłady piszcie, będę uzupełniał:) Nie działa procesor: 1) sprawdź czy jest zasilanie na WSZYSTKICH Nóżkach...
:) O rzeczowa dyskusja - taka mi się podoba :))) Bez względu na kierunek transmisji stan spoczynkowy linii jest wysoki, stąd mowa o podciąganiu. Co ma załatwić jej wysoki stan po konwersji na poziomy TTL/CMOS ? Mój pomysł jest taki, że rezystor, gdy stosujemy rozwiązanie z tranzystorem, chyba, że o stan wysoki zadba linia wejściowa mikroprocesora, co...
Pobieżnie przejrzałem Twój program (właśnie wychodzę do pracy...) i od razu widzę babola przy konfiguracji portów jako we/wy. Masz tam coś takiego: Config Portb.0 = 1 , Portb.1 = 1 , Portb.2 = 1 Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 0 Wg mnie powinno być: Config Pinb.0 = Output Config Pinb.1 = Input itd... Aby to rozjaśnić załączam kawałek helpa...
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
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
podciąganie jest na wszystkim co nie ma połączenia z masą (pomijając zasilanie oczywiście) przez rezystory 4k3 (a może inna wartość potrzebna, w jakiejś nocie czytałem że może być pomiędzy 2k a 5k). Ale widzę że problem tkwi gdzie indziej. Mianowicie: pomiędzy każdą komendę dałem włączenie innego portu i wykryłem że klocek sie wiesza na Cls (przed tą...
Witam,czy pinu przerwania nie trzeba podciągać,bo sam miałem podobne problemy z podobnym programem,i trochę to pomagało...
Jeszcze wracając do poprzedniego pytania o sczytywanie z klawiatury to w końcu zajarzyłem że niezbyt dobrze napisałem , więc poprawiłem na : $regfile = "Attiny2313.dat" $crystal = 4000000 Config Portd = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.1 , Db6 = Portd.5 , Db7 = Portd.4 , E = Portd.0 , Rs = Portd.6...
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.
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. Próbuję napisać program odpowiedzialny za pomiar odcinków czasowych pomiędzy impulsami sygnału S1 i S2 (zgodnie z załącznikiem). Proszę o prześledzenie kodu, wszelkie uwagi i sugestie mile widziane. Nie mam pewności co do poprawności pobierania wartości licznika TIMER1 za pomocą TCNT1. 'program do pomiaru okresu sygnałów podpiętych do PD.2(INT0)...
Zanim przejrzałem ten temat, wymyśliłem coś takiego: 'Pokazuje ilość obrotów na minutę 'Pomiar co sekundę, wejście PB0...1 'Cls : Cursor Off $baud = 19200 Dim Count(2) As Long , Last_state As Byte , Tmp As Byte Config Timer1 = Timer , Prescale = 64 'do odmierzania 1 sek. On Timer1 Co1sek On Pcint Fan_int Portb = 3 'podciąganie wejść kontroli...
To ja sie zapytam czemu podciągasz kilka razy przyciski do +? Przeca raz na początku wystarczy?
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.
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 )...
Witam, udało mi się coś wyskrobać i zrobiłem na razie sam generator częstotliwości, właściwie jakoś tam działa ale chyba napisałem to dookoła , może ktoś spróbował by to jakoś poprawić. Nie dodałem jeszcze generatora PWM, próbowałem ale nie wychodziło mi, chciałem taktować go z wejścia T1 ale nie udało mi się to, nie wiem jak go zmusic do tego żeby...
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...
Jeszcze może to podciąganie kwarcu daj na ten sam kondensator co podtrzymuje zasilanie całego PCF'a bo jak zniknie główne to nie będzie on do niczego podciągany. Zdecydowanie. C6 powinien być wpięty pomiędzy OSC1 (pin1) a Vdd (pin8), inaczej nici z odliczania czasu... Poza tym jedna uwaga odnośnie tej diody. Otórz na takiej 1N4148 spadek napięcia wyniesie...
podciąganie pinów bascom podciąganie portów bascom podciąganie wejścia
fluke opinie junkers samoczynnie kondensator drganie styków
prosty termostat różnicowy schemat sprzedam oscyloskop
Programming Star PA05 Swing Gate Controller Wymiana modułu SAM w Mercedes Vito W639: kodowanie i zgodność