No właśnie to jest ta różnica pomiędzy AVR i '51 - rozdzielenie funkcji portu pomiędzy rejestr wyjściowy (PORT) i rejestr stanu do odczytu (PIN).
... Problem błahy, ale rozkładam ręce, pewnie zapomniałem o jakiejś oczywistej rzeczy ... Witam Tak, problem jest błahy i wynika ze specyficznego sposobu konfigurowania portów w bascom-ie. O ile instrukcje: Config Pinc.2 = Output Config Portc.2 = Output dają równoważne wyniki (chociaż poprawny zapis w/g helpa to PINx.y dla konfiguracji pojedynczego...
Rejestr PORTx to niejako rejestr "wyjściowy" dla portu... Tzn. do PORTx zapisuje wartość którą na port wystawiamy... Jeżeli chesz odczytać wartość "na porcie"/odczytać stan wejść to do tego służy rejestr PINx... "x" to oczywiście litera odapowiadająca portowi, A,B itd... Równocześnie z tutorialem powinieneś się zapoznawać z dokumentacją do uC...
W skrócie szybkość pinu na porcie zależy od prędkości zegara i czasu potrzebnego na zmianę jego stanu ( ilość cykli zegarowych dla np. rozkazu zapisu do rejestru wyjściowego portu). W przypadku SPI, to program musi odpowiednio pilnować zależności czasowych. W sprzętowym konfigurujesz tylko najważniejsze parametry ( szybkość SCK, ilość bitów do wysłania/odebrania...
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.
No jednak nie do końca dostrzegłeś swój błąd, owszem Set Portb.6 jest zbędne w podprogramie Pr_1: i dlatego je usunąłem, ale to nie to powodowało nieprawidłowe działanie tego programiku. Błąd miałeś w linii z Debounce porównaj jak ona wygląda w twoim pierwszym poście a jak w moim. Poczytaj o rejestrach określających kierunki portów, rejestrach wejściowych...
wartosc = PORTB&0b00000011; PORTB jest portem wyjściowym. Odczytu portu powinno się dokonywać z rejestru PINB, tak jak jest to robione tutaj bit_is_set(PINB, PIN0). Użyteczne może być także makro _BV(), które upraszcza tworzenie maski. Przykładowe użycie: wartosc = PINB & ( _BV(PB1) | _BV(PB0) ); pozdrowienia
Czas uporządkować wszystkie odpowiedzi. Z każdym portem AVR'a związane są trzy rejestry Portx, Pinx i DDRx (x to interesujący nas port A, B, C, D a czasami nawet E) Rejestr Portx - w nim przechowywane są dane wyjściowe, które przenoszone są na końcówki uC jeżeli są ustawione one jako wejście. Rejestr Pinx jest rejestrem odzwierciedlajacym stan końcówek....
Witam! Oczywiście, można tak zrobić. Sygnał z przycisków należy wtedy zsumować za pomocą diod i dać na pin przerwania. Jeśli klawiatura będzie matrycowa, to jeżeli np multipleksowane będą kolumny, to należy załączyć zasilanie na wszystkich kolumnach i sumować sygnał z wierszy, a następnie podać go na pin przerwania. Znalazłem także jeden błąd w kodach...
+ korzystamy z modyfikatora "volatile" bo zapis pod określony adres ma właśnie "efekt uboczny" czyli np. pojawienie się określonej wartości na pinach. Nie, to nie jest "efekt uboczny". Efekt uboczny to jest dostęp do obiektu `volatile`, modyfikacja obiektu i modyfikacja pliku ponieważ zmieniają one stan maszyny abstrakcyjnej. w AVR pod adresem 0x06...
Pomysł jest dobry, gdyż 1. To rozwiązanie jest bardzo szybkie (wszystko rozwija się na poziomie kompilacji i nie ma żadnego narzutu) 2. Nie da się tego inaczej rozwiązać (żeby było ładnie) - chcę tego użyć w programie C na mikrokontroler - tam z każdym wyprowadzeniem mikroprocesora związane jest kilka rejestrów (DDRA - rejestr kierunku portu A, PINA...
Myślę, że: Pind.5=output a Pinb.7=input To akurat odwrotnie. Reszta dobrze, ale nie całkiem. Dobrze że =1 ale nie pin tylko port. A co za różnica między zapisem Portb.7 a Pinb.7? Zasadnicza. Pin dotyczy rejestru wejściowego, a port wyjściowego.
W c ten program gdzies w internecie widziałem.. Bedzie wymagał być moze małego dostosowania. Mam go ale niestety w asm pod atmege 16. ; Programowalny pilot RC5, obsługa interfejsów optycznych i pamięci EEPROM ; Rafał Baranowski (C) 2004 .INCLUDE "m16def.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 1000000; częstotliwość pracy w Hz .EQU...
ulala ... nie wiem czy dobrze zrozumiałem. Jeśli nie chcesz nic odczytywać z wyświetlacza (flaga zajętości, wyświetlane dane) to możesz ustawić wszystkie porty jako wyjściowe np. PORTB który możesz podłączyć pod DB0-DB7 wyświetlacza i trzy piny portu D np PD0-PD2 podłączone do pinów RS, R/W, E wyświetlacza. Jeśli jednak będziesz chciał odczytać np....
Znajomosci takich rzeczy wymagaja w Technikum na pracowni elektronicznej do zaliczenia i przystapienia do odrobiania Cwiczen... O Jezu... Wymaganie pamięciowego dublowania katalogów zawsze mnie zastanawiało. Inna rzecz, że pytania są banalne i dla każdego choć trochę 'siedzącego w temcie' doskonale znane, ale IMO i tak bezsensowne. Co do pytania Co...
Sprawdź dokładnie w DS do tego układu, które porty. Poszukaj rejestrów CNPUX CNPDX (gdzie X to port A B C itd). Rejestr CNPUA to załączanie pull-up na pinach portu A (np. CNPUAbits.CNPUA0=1 włącza pullap na pinie 0 portu A). Rejestr CNPDA to analogiczna kontrola pull-down. Nie każdy pic32 posiada pull-downy (np. pic32mx440* nie posiada), stąd ważne...
Rezystor pewnie będzie zależeć od konfiguracji portu wyjściowego, czyli od wartości wpisanej do rejestru GPIOx_OSPEEDR. Tam można ustawić szybkość portu na 00-low, 01-medium, 10-high i 11-very high speed, i dla każdego ustawienia wartość tego rezystora może być inna. Teraz trochę poteoryzuję! W dataseet https://obrazki.elektroda.pl/3372420200_...
Mikrokontrolery można programować bez szerszej wiedzy o ich działaniu, Arduino jest chyba naczelnym przykładem, ale nie trzeba aż za to się łapać. Jeśli ten podręcznik do MSP430 tak faktycznie wygląda, to go lepiej nie ruszaj, chociaż na pierwszy przykład kodu do wklejenia i uruchomienia wpisane na sztywno 0x40 nie jest jeszcze koszmarnie złe. Drążąc...
miganie diodą najlepiej realizować operatorem ^ na rejestrze danych wyjściowych konkretnego portu GPIO a nie używać setek ifów, dodatkowo zrób porządek z tymi nawiasami bo tego się nie da czytać.
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...
Zgadza się. Rozkazy, które tylko odczytują wartość z portu odczyrują ją bezpośrednio z lini portu (np MOV A,P2 JB P1.1,etykieta) , natomiast rozkazy które powodują odczytanie, ewentualna modyfikację i zapisanie danych spowrotem do portu pobierają informację z buforowego rejestru wyjściowego portu (ANL P2,#22h, INC P2, CPL P2.4) Nie ma znaczenia czy...
Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;—————R...
Kolego, jeżeli Twoje urządzenia posiadają na wejściu pamięci danych (rejestry) to można ewentualnie wykorzystać jeden port LPR. Jeżeli nie - to masz dwie możliwości: 1. Zastosować karty wieloportowe; 2. Zaprojektować i wykonać pamięć pośrednią (rejestr). Żadne przełączniki drukarkowe nie mają tutaj zastosowania, ponieważ rejestr wyjściowy (pamięć portu)...
BTW, nawet jeśli piszesz w asemblerze to warto zamiast magic numbers używać definicji IO - raz, że czytelniej, dwa, że łatwo można to przenieść na inny model MCU. &H0644 to rejestr wyjściowy portu C ( PORTC_OUT ) I właśnie o to chodziło tmf -owi: żeby zamiast &H0644 wpisać PORTC_OUT.
wszystkie AVR'y mają wewnętrzne pullupy. załącza sie je programowo poprzaez ustawieniu pinu jako wejście i wpisanie 1 do rejestru wyjściowego czyli ddrx=0 portx=&hFF zmienna=pinx 'czytamy cały port pozdrawiam
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...
Ech... A dokumentację to można czasem poczytać... ;) Do bascoma jest też Help i to po polsku. PORTB i PINB to rejestry dotyczące portu B. Rejestr PINB jest do odczytywania stanu portu, a rejestr PORTB jest do ustawiania stanu portu... Paniatno ? ;) Pozdr. Light-I
Nie rozumiem po co dioda LED ukazująca stan nawiewu jest podłączona do osobnego pinu. Nie ma takiej potrzeby, a nawet jest to nie wskazane. Stan wejściowy pinu portu D, nawet kiedy w DDRD jest on ustawiony jako wyjście, można odczytać z rejestru PIND, natomiast wyjściowy z PORTD - tak, ten rejestr można również odczytywać. Nie programuję w Bascom, ale...
Rejestr GPIOx_ODR jest standardowym rejestrem do odczytu i zapisu do portów. Rejestr ODR jest dodatkowo rejestrem stanów wyjściowych - nie da się z niego odczytać wejść. Wszystkie zagadnienia poruszone są w manualu. 4\/3!!
Dzisiaj akurat potrzebowałem rejestru HC595 do rozszerzenia liczby wyjść użytecznych. Poniżej fragment kodu w bascomie. Przypisane nazwy odpowiadają katalogowym. Zmienną Portx traktujemy jak zwykły 8 bitowy port wyjściowy. Kod z pod etykiety 'obsługa rejestru' wstawiamy w pętli głównej programu, aby rejestr był na bieżąco odświeżany. [syntax=basic4gl]...
Kolego jackfinch dużo cennych informacji jest zawartych w linkach które podałeś. W moim wypadku programowanie z poziomu Basic odpada. W jednym bajcie może być zawarte 0 - 255 portów. Dekoder Cobry1 zbudowany na układzie (26) 74S405 wykorzystuje niskie linie adresowe A2. A3, A4, A7, podobnie jak dekoder adresowy dla AY3 opisany w Radioelektroniku. On...
Jak pojawiaja sie krzaczki to jest problem z predkoscia. W jakim programie piszesz? Jaki masz kwarc? Dodano po 11 Zobacz czy dziala Ci to: // Sterownie diodą LED podłączoną do dowolnej linii mikrokontrolera // za pomocą dowolnego znaku odebranego z portu szeregowego // mikrokontrolera i wysyłanie jej stanu na port szeregowy #include <avr/io.h>...
Jeżeli się nie mylę, w LPT jest tylko 5 pinów wejściowych (nie 4). Niestety to i tak za mało na sterowanie matrycowe. Możesz zastosować stary trik i odwrócić matrycę 8x6 na 6x8. Na wejścia LPT zamontować układ w stylu '244, który będzie multipleksował 4 z 8 kolumn. Sześć pinów wyjściowych użyć do wyboru wiersza a siódmy i ósmy do wyboru górnej lub dolnej...
[syntax=c] #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #include <math.h> #include "HD44780.c" int main(void) { DDRD = 0xFF; // ustawiam rejestr kierunku portu jako wyjściowy DDRC = 0x00; // ustawiam rejestr kierunku portu jako wejściowy PORTC |= (1<<PC4); // ustawiam stan wysoki na pinach PC4-PC0 PORTC...
[syntax=text]Po pierwsze - czy Porta = &B11111110 daje napewno w bascomie 0 na Porta.0 ? Nie jest odwrotnie? Może najstarsze bity są po prawej stronie? Spróbuj skorygować ten program wpisując Porta = &B00000000 [/syntax] Nie najmłodsze bity są po prawej stronie [syntax=text]może rzeczywiście Bascom coś tu świruje, bo zwykle rejestr Port służy do wpisywania...
Witaj Każdy port procesorka '51 posiada rejestr wyjściowy. Wpisując do niego określoną wartość możesz (nie zawsze!!) wymusić stan logiczny na nóżce układu i to jest wszystko jeżeli chodzi o pracę portu w trybie wyjściowym. Jak zapewne wiesz, każda z takich linii może być wejściem lub wyjściem. Rejestr jest oczywiście 8-bitowy i każdy jego bit odpowiada...
Nic z tego nie wyjdzie. Próbowałem coś w 6 taktach sklecić, zgrubne obliczenia są takie: - załadować dane z portów - 2 cykle - załadować licznik przesunięć - 1 cykl - wyczyścić rejest pomocniczy - 1 cykl - przesunąć w prawo o 2 bity dane, odpadające 2 bity przekopiować do nowego rejestru - 6 cykli (!) - wystawić na port - 1 cykl (przy założeniu, że...
Może tak może nie, ale przecież zczytywanie pinów, także zajmuje określoną ilość cykli, więc może da się je uwzględnić podczas generowania przebiegu, Np sprawdzać te piny zaraz po ustawieniu portów wyjściowych generatora, a odświeżać rejestry nowymi wartościami częstotliwości w następnym cyklu programu ddsscore?
Możesz napisać i cieszyć się funkcjonalnością nie wiedząc o co chodzi ... $baud = predkosc_transmisji Tylko jeśli nie umieści się tej informacji w kodzie i użyje gdzieś Print/Input lub pochodnej to kompilator ustawienia dla $baud bierze z tych zdefiniowanych w IDE. Bascom konfiguruje od razu obydwa piny. Skonfigurowanie ich polega na wpisie do rejestru...
Takiej możliwości nie ma. W rejestrze PORTn zawsze są jakieś dane (domyślnie po resecie procesora 0), więc ustawienie danego pinu jako wyjściowy spowoduje, że dane z odpowiedniego bitu rejestru PORTn zostaną przeniesione na dany pin.
DS18B20 chyba nie ma SPI tylko 1Wire Tak, to prawda....; Tylko powiedz jeszcze jaki to ma związek z tematem i pytaniem (?) Do sm210 W części konfiguracyjnej programu deklarujesz cały port B jako wyjście, a zatem rejestr PIN B jest odłączony od fizycznego portu (te wystające blaszki z processora). Zmieniające się wartości na fizycznych pinach wyjściowych...
mam jescze jedno pytanie programujesz to odzelnym proramatorem?? czy przez ISP?? spoboj odwrócic porty, spoboj uzywac polecen set i reset np. "reset PORTB.5 " oraz tutaj masz cos o charakterstyce portu: Port PB jako uniwersalny port wejścia wyjścia. Wszystkie 8 linii portu są równorzędne, gdy używane są jako zwykłe wejścia-wyjścia. Bity DDBn w rejestrze...
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...
Nigdzie nie widzę abyś inicjował portu wyjściowego dla TxD a więc dane fizycznie nie mogą wychodzić z procka.
Bardzo polecam dokumentację do AVR :) Ale ponieważ jest po angielsku, można też natknąć się w sieci na jej polskie tłumaczenie: Poprawiłem nieaktywny link i dodałem dokumentację jako załącznik na przyszłość.
Tak. Stan wyjściowy portu ustawiany jest natychmiast po zapisie do rejestru PORT ( w trybie wyjścia rzecz jasna), a dopiero przy następnym takcie zegarowym aktualizowana jest zawartość rejestru PIN. Przerobiłem ten problem przy obsłudze klawiatury matrycowej
O pytanie pierwsze można by się sprzeczać: czy jest kompletne, czy też nie. Jeżeli autor tego pytania miał na myśli port wyjściowy jako "wyjście" procesora, to efektywnymi sygnałami wyjściowymi są: * 8 bitów szyny danych (kopia rejestru AL) * 8 bitów szyny danych które powinny zostać zignorowane (szyna danych ma 16 linii) * 16 bitów szyny adresu (kopia...
Głupie pytanie... A masa pomiędzy kartą pomiarową i mikrokontrolerem jest dobrze połączona? Poza tym używasz detektora BROWN-OUT w ATMedze? Miałem kiedyś podobny problem, ale z innym AVR (Tiny12). Pomogło wstawienie kondensatora do układu RESET mikrokontrolera i wyłączenie wszystkich innych resetów. A może to problem z programem w AVR? Przypadkiem gdzieś...
W helpie opisane jest ze nazwa Alias portc.2 a prwidlowo jest nazwa alias pinc.2 Właśnie. Nie zauważył kolega, że Portc i Pinc to są różne rejestry AVR'a. Znowu nie chodzi o kolorowe tylko o zrozumienie filozofii portów µC. Przypomnę: Portx - rejestr, do którego zapisujemy stan portu jeśli jest zdefiniowany jako wyjścia, lub podłączenie rezystorów...
To w takim razie po co ustawiać ten rejestr DDR? jeśli domyślnie jest na wejscie(0x00), ale mogę odczytywać wejscie i sterować diodą? Kiedy używamy jako wejście wówczas wyłączamy driver wyjściowy. Proszę was o cierpliwość xD ale po co wyłączać ten driver wyjściowy skoro i tak to działa Po to, że wejście powinno generalnie mieć możliwie dużą rezystancję...
jeśli stosujesz procesor at90s8515 i wyżuca ci błąd przy użyciu portu c to zanczy że nie poinformowałeś bascoma jakiego procka posiadasz. wejdz w opcje i tam wybież z listy. Pinc.1=input (Pinc.1=0 - równoznaczny zapis) nie wiem co to znaczy ale chba nie działa configuracja pinów odbywa się przez config portx = input / output lub dla poszczególnych...
1. W zakładce Programmers jest wybrany Sample Electronics? 2. Adres portu jest poprawny? 3. Opóźnienie dobrane? 4. Help przeczytany? No tak. Punkt czwarty ma status " FAIL ". Czy sterowanie portów wyjściowych odbywa się poprzez ustawianie rejestru PIN czy PORT?[/quote] Helpu nie czytałem ale port to się pisze jak wszystko nóżki mają być np wejściem...
A mógłbyś mi wytłumaczyć znaczenie IN s0, leds , bo nie rozumiem tego i dalej nie mogę tego poskładać żeby działało. PBlazeIDE to program, na którym mam to wykonać, taki sobie wybrał wykładowca i jeżeli nie warto zagłębiać się w ten mikrokontroler to już nie będę ściągał innych programów. Dodano po 6 NIE!!, przepraszam, już mam [syntax=asm]leds dsout...
Ten port jest jednokierunkowy w trybie SPP i standardowo w EPP też. Aby wykorzystać dwukierunkowość w trybie EPP trzeba wpierw przestawić odpowiedni rejestr konfiguracji. Standardowo masz na 2 rejestry tylko do zapisu (linie D0-D7 - Baza, Strobe,Auto,INIT,SLCT - BAZA +1) i jeden do odczytu (Baza+2 - linie: ERROR,SLCT,PE,ACK,BUSY). Rejestr danych (Baza)...
Jeżeli masz tę książkę z której zaczerpnięte są te przykłady, to jest tam dobrze opisane jak to działa. Pierwszy listing to bardzo prosty test wprowadzający w zagadnienie obsługi klawiatury sekwencyjnej. Nie robi nic konkretnego, tylko przy naciśnięciu klawisza enter lub esc powoduje zaświecenie diody LED. Ogólnie idea klawiatury sekwencyjnej polega...
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...
Wpisanie do rejestru wyjściowego LPT 255 uruchomi silnik wpisanie 0 zatrzyma. Do tego momentu wszystko kojarze. Jak wpisać do rejestru wyjściowego LPT 255 lub 0 - gdzie to zrobić, potrzebny jakiś program? Pozdrawiam
...albo może inaczej - jest taki rejestr PORTx...i rejestr PINx jeden z nich jest wejściowy drugi wyjściowy nie potrzeba wachlować PORTx'em
Każdy wyświetlacz ma 8 didek LED (7 segmentów i ósma kropka) połączonych anodami wszystkie razem a katody oznaczone od A do H wyprowadzone osobno. Masz np. 4 wyświetlacze (4 pojedyncze cyfry) więc łączysz ze sobą katody segmentów A wszystkich wyświetlaczy, katody segmentów B wszystkich wyświetlaczy itd. aż do G. Podłączasz zwarte segmenty kolejno do...
Czemu ty robisz tam taką konstrukcję: ClrBit(DDRD, 4); _delay_ms(5); if(bit_is_set(PIND, 2)) p=1; SetBit(DDRD, 4); Mylisz rejestry - powinieneś zmieniać stan rejestrów PORT a nie DDR. DDR ustaw na zawsze jako wyjściowe.
Mnożenie przezd dwa przesuwa o jeden bit w lewo przykłądowo mając liczbę 16bitową: 0111011100000011 po pomnożeniu przez 2 otrzymamy 1110111000000110 po kolejnym pomnożeniu przez 2 otrzymamy 1101110000001100 Dzielenie przesuwa w drugą stronę czyli w prawo Mozesz użyć zmiennej 16bitowej a po przesunięciu wyłuskać interesujące 10bitow i przepisać na PORT...
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...
Masz może schemat tego próbnika? Dodano po 3 Kości ze stajni Intel nie są w/g mnie badziewne, one mają swoją specyfikę i tyle Ładna mi specyfika. 8255 zeruje porty wyjściowe po zmianie konfiguracji. O tyle bolesne, że najczęściej obowiązuje logika ujemna. 8253/54 - czytamy timer, młodszy czy starszy bajt? Nie wiadomo, trzeba odczyt poprzedzić odczytem...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Witam, Jestem posiadaczem zestawu ZL3AVR dołączonym do książki Mikrokontrolery AVR w praktyce. Książka posiada gotowe przykłady, lecz działa mi poprawnie pierwszy program z diodami. Program trzeci, czyli przerwania + klawiatura już nie działa; Gdzie jest błąd? W podręczniku, czy gdzie? Ten program miał na diodach led wyświetlić odpowiednią wartość stosownie...
Można nieco spróbować przerobić kod stąd: http://www.elektroda.pl/rtvforum/topic19... i dodać rejestr przesuwny (by mniejsza liczba portów była potrzebna na 20 led - z tego co pamiętam potrzebne byłoby tylko 2 porty wyjściowe: cykl czasu oraz dane do wprowadzania) oraz nieco pisaniny kodu. W skrócie - zmodyfikowany wąż świetlny na Atmega8 z rejestrem...
Witam Mozna ustawić bity COM0B1 i COM0B0 żeby wyjście się włączało, pytanie tylko jak je wyłączyć w przerwaniu? Przede wszystkim aby miec kontrolę nad portem wyjściowym musisz ten port skonfigurowac jako wyjście (ustawic odpowiednie bity rejestru DDRD) Dla timera0 moga to byc:OC0A (PD6) oraz OC0B (PD5). Druga częśc pytania wynika automatycznie z konfiguracji...
Dla operacji na porcie wyjściowym może, ma to sens, w końcu są te rejestry a w przypadku wejścia? Testowanie pojedynczego pinu? Bit-band góruje. I tu BlueDraco skoro widzisz w takich operacjach problem to jaki sens ma stosowanie maskowanego dostępu do portów z M0? Najwidoczniej w przypadku zerowania jednego z pinów, zamaskowane powinny się ustawić?...
Możesz połączyć dwa Arduino, ale będą one pracować osobno. Jeśli potrzebujesz więcej pinów a konieczne jesteś przywiązany do Arduino, to poszukaj takich układów jak ekspandery portów I/O (np. PCF8574 na I2C), albo rejestry przesuwne SPI (są modele wyjściowe i wejściowe - w zależności co potrzebujesz)
Witam , atmega8 uległa spaleniu po wyładowaniu atmosferycznym , układ został wymieniony z zaprogramowanym wsadem ( 99% ) . Wszystkie funkcje działają poprawnie lecz sygnalizatory - ledy i buzer - pracują na minimalnych wartościach ( bardzo słabo świecą , buzer jest ledwie słyszalny ) , podstawiałem ledy , buzer , sprawdziłem napięcia i z tego co widzę...
Zgodnie z tym: https://www.latticesemi.com/-/...ocument... id=45588 Map Trace jest używane w syntezie. Czyli to chyba wyjaśnia dlaczego zaznaczenie/odznaczenie "Map Trace" wpływa na wynik syntezy. Mówiąc "synteza" miałem na myśli pierwszy proces, który na tym grafie zaznaczony jest jako "synthesis". Całą procedurę, która jest na diagramie...
Pisałem o tym w pierwszym poście. Wpisuję w rejestr sterujący o adresie 2BH, słowo #80H, co ustawia port A w tryb wyjściowy. To akurat jest dobrze.
Witam czy kiedykolwiek miał ktoś problem z kształtem przebiegów wyjściowych portów atmegi8? Mój problem polega na tym że gdy wysyłam dane na oscyloskopie widać wyraźnie że zbocze opadające zachowuje się jak rozładowywany kondensator. Pomiędzy atmegą a układem które te dane ma obrobić nie ma nic a te dziwne przebiegi pojawią się już na wyjsciu uC. nie...
.include "tn2313def.inc" .equCZESTOTLIWOSC_uP = 8000000 .equKIER_IR= DDRD;rejestr kierunku port podczerwieni .equOUT_IR = PORTD;rejestr wyjściowy portu podczerwieni .equIN_IR = PIND;rejestr wejściowy portu podczerwieni .equPIN_IR = 3 ;numer lini sygnałowej .equDZIELNIK_TIMER0 = 256000 .defacc = r16 ;akumulator .defacc2 = r17 .cseg .org0x000...
A nie umiesz skompresować pliku *.doc aby nie miał 20MB tylko ~2? Poza tym, przykro mi, ale trafiłeś na durnego nauczyciela(czepia się konował). Niby skąd masz wiedzieć jak jest zbudowany np. rejestr danych, generator zegarowy lub bufor wyjściowy danego modelu mikrokontrolera? Co tu pisać(poza tym, gdzie i skąd trafiają dane zgodnie ze strzałkami na...
W µkontrolerach Microchip'a "na dzień dobry" port A jest zdefiniowany jako analogowy port wejściowy przetwornika A/D. Należy przestawić port A na cyfrowy (chyba rejestr ADCON1) a później ustawić port A jako wyjściowy. Być może LED mruga ale tak szybko, że dla oka jest to ciągłe świecenie. Wprowadź jakieś opóźnienie (pętlę w pętli). Ponadto w przykładzie...
PD.6 podłącz do +5V komparator nie ma wewnętrznego źródła odniesienia. To mu nie rozwiąże problemu... Napięcie na PD.6 (AIN0) będzie zawsze wyższe niż AIN1 niezależnie od położenia potencjometru (praktycznie 0 do 4.6V), a zatem ACO nigdy nie zmieni wartości na 0, co jest spodziewane w waruku portu wyjściowego dla LED. Datasheet wyraźnie mówi o konieczności...
A możesz mi powiedzieć czy są inne takie bloki, które nie muszą być taktowane cały czas? Nie mam na to żadnej regułki, ale podejrzewam, że każdy który pracuje "zdarzeniowo" zachowa swój stan z wyłaczonym zegarem. Tak więc GPIO owszem musisz taktować żeby coś tam przestawić (bo inaczej zapis do rejestrów nie jest możliwy), ale jak wyłączysz zegar to...
Jak się wyśle 1 na port (czyli 0001) to na D0 będzie 1, jeśli wyślemy 2 (czyli 0010) to na porcie D1 będzie 1. Ale czy dało by się prościej sterować? Np poszczególnymi pinami osobno? Jeśli bym chciał żeby D0-D3 były wyjściowe (włącz/wyłącz 4 różne urządzenia) a D4-D7 były wejściowe (pobierz stan z 4 innych urządzeń). Nie da rady, LPT (jak zresztą jego...
Hmm, trochę nie do końca rozumiem. Może wypiszę to w pytaniach :) : 1. Czy cała komunikacja może działać poprawnie mając tylko podłączony układ MAX3378 (bez żadnych dodatkowych rezystorów itp, tylko po prostu urządzenia, max3378 i linie zasilania)? 2. Jeśli stosuję MAX3378 czy mogę dowolnie ustawiać porty WE/WY? Chodzi mi głównie o to, że chyba przy...
;* ;***************************************... ;*PROCEDURY OBSŁUGI MAGISTRALI 1-Wire DLA MIKROKONTROLERA AVR ;***************************************... ;* ;*Nazwa pliku :AVR_1Wire.asm ;* ;*Przeznaczenie :dowolny AVR, za wyjątkiem AT90S1200 ;*Kwarc :4MHz ;* ;*******************************OPIS****...
Nie, oznacza to że w specjalnej pamięci procesora rejestr ten znajduje się pod takim adresem (0x18) i nie ma to żadnego innego związku z jego wartością - po prostu "w szafeczce 0x18 mamy dane wyjściowe portu b"
Dlaczego nie PORTB a PINB? Otóż, moduł PWM nie zapisuje rejestru PORTB (bo właściwie dlaczego miałby to czynić), tylko steruje buforem wyjściowym bezpośrednio (patrz Alternate Port Functions w datasheet do ATmega8). Moduł PWM zmienia stan pinu, a to możesz obserwować w rejestrze PINB.
Zadanie 36. Kolejna bzdura 2 odpowiedzi prawidłowe 2 networki które pozwalają wysterować w "1" wyjście Q0.1 network 1 funkcja OR wejść I0.1, I0.0 network 2 funkcja AND wejść I0.2, I0.3. Odpowiedzi to A oraz D prawidłowe. To poczytaj(cie) o cyklu pracy sterownika i to że przy operacji na rejestrach wyjściowych to ostatni network zawsze jest najważniejszy...
GPIO_InitStruct.GPIO_Pin =GPIO_Pin_10; //ustawiamy w stan wysoki Komentarz jest nieprawidłowy. W tej linii ustawiasz tylko maskę dla pinów, które będą konfigurowane 3 linie niżej. Tak to jest jak się korzysta z SPL'a. GPIO_Init(....) konfiguruje tylko i wyłącznie tryb pracy portów, ale nie konfiguruje stanów wyjściowych. To trzeba zrobić samodzielnie...
a w jaki sposób go używasz? nie wiem jak jest z rejestrami w LPC (nazwy) ale ja np. jeśli chcę zmienić stan pinów skonfigurowanych jako wyjścia to pisze np: GPIOA->ODR ^= 0x00FF; (gdzie ODR to jest rejest wyjściowy portu )
Układ ma 4 adresy wybierane liniami A0 i A1. A1 A0 = 00 port A A1 A0 = 01 port B A1 A0 = 10 port C A1 A0 = 11 rejestr sterujący - jak tu wpiszesz 80Hex to wszystkie porty A B i C będą ustawione jako wyjściowe. Teraz wpisując po adres A1 A0 = 00 jakieś dane powinny się pokazać na wyjściu portu A No dobra po kolei: Programowanie: Na liniach A1A0 ustawiasz...
Po drugie czy nie używane porty procka ustawiłeś programowo jako wyjścia z podciągnięciem do plusa tzw pull'up ???? Chyba sie przejęzyczyłeś, Mirku. Pullup'y się załącza ustwiając kierunek portu (DDRx) jako wejście (zera) i wpisując do rejestru pinów wyjściowych (PORTx) jedynki. Zresztą samo pojęcie "wyjścia z pull-up-em" wydaje mi się nieco abstrakcyjne...
Po zaznajomieniu z VHDL-em, postanowiłem zainteresować się prockiem Picoblaze - pierwsze kroki mam już za sobą (jakieś liczniki, diodki, przyciski itd.) i nadszedł czas na coś bardziej poważnego: chciałem podłączyć do niego termometr na I2C. Pisanie programu problematyczne raczej nie będzie - mam doświadczenie z asemblerem AVR i '51, ale natrafiłem...
Podaję prosty przykład dla AVR-GCC: #include <avr/io.h> /* Oblicza ddres rejestru kierunkowego na podstawie rejestru wyjściowego PORTx.*/ #define DDR(x) _SFR_IO8(_SFR_IO_ADDR(x)-1... #define REG_CLK_PORTPORTD// port, do którego jest podłączone wejście zegarowe rejestru #define REG_CLK_BIT5// bit powyższego portu #define REG_DAT_PORTPORTD//...
Witam, chciałbym wykonać nadajnik podczerwieni kodu RC5 na mikrokontrolerze Atmega 16. Część programu napisana przeze mnie jest w bascomie. Końcówka Ired z poniższego rysunku jest podłączona do mikrokontrolera. Programując w bascomie z tego, co wiem mamy uproszczoną sprawę używając podstawowych funkcji Rc5send Togbit itd. Niestety baza tranzystora musi...
Witam. Przeglądając dokumentację uC STM32F10x natrafiłem na rejestr: AFIO_EVCR (Event control register) Zastanawia mnie do czego on dokładnie służy. Według dokumentacji jest to rejestr kontrolny zdarzeń (lub jakoś podobnie). Ustawia się w nim bit "EVOE", oraz poszczególne porty i piny. Czy ma on jakiś związek z przerwaniami EXTI? Dlaczego znajduje się...
W tiny2313 jest dodatkowa funkcja Toggle Pin, zmienia stan pinu ustawionego jako wyjściowy wpisem jedynki ale do rejestru wejsciowego np. sbi PINx, X i to jest zmyłka jak ktoś nie wie a pożyteczne jako wyjściowy dzielnik przez 2. Popatrz dokładniej na schemat portu w manualu i porównaj ze zwykłym 2313. Pozdr. N.
Spróbuj ustawić jedynkę na innym porcie (tam gdzie nie ma diody) i sprawdzić, czy faktycznie tam jest. No właśnie próbowałem ustawiać jedynkę na wszystkich liniach portu B i nigdy się nie pojawiła. sbi DDRB, 0- ustawiamy port B jako wejście- oB 00000000 sbi DDRB, 1- ustawiamy port B.0 jako wyjście- oB0000001 sbi PORTB, 0 - ustawiamy stan niski na PORTB.0...
Witam, Jestem w strakcie budowania układu, ktory docelowo ma byc sterowany z poziomu portu LPT. Okazalo sie, że zabraklo mi linii wyjściowych (na ktore mozna wystawic dane) na tym porcie. Czy znacie moze jakis patent, aby uzyskac wiecej linii ? Probowalem juz z ukladem 74164 (8 bitowy rejestr z wejsciem szeregowym) i teoretycznie takie cos zdaloby egzamin,...
wyprowadzenia są tu: http://hardwarebook.net/connector/serial... zasadniczo można by użyć tylko DTR i RTS. Tylko te piny są jednocześnie wyjściowe i można na nie ustawić 1 bit. Na RXD wpisuje się do rejestru 8bitów i odpowiedni układ w komputerze wysyła je po kolei.
Tylko zrobili porządek. Niezły mi porządek. Teraz możesz włączyć pull-up i do tego ustawić port, jako wyjściowy ze stanem 0, czyli procek sam z siebie będzie się obciążał. To jest ten Twój porządek? zaznaczyłeś w rejestrze PUE bit? Miałeś chyba na myśli PUEB. Jest lepiej niż było w starych. Jak wyżej - stan nierekomendowany. Lepiej to jest w Xmega....
2. PINB.1 ustawiony jest jako wyjście(output). Coż z tego jeśli już w następnej linii przestawiasz na wejście i tak pozostaje (config pinb.1 = 0) 3 Zapodaj więc aktualny schemat, aktualny program i aktualne oczekiwania co do niego. Będzie wiadomo o co chodzi. 4. Jak wyżej wspomniałem przecież PINB.1 ustawiony jest jako wyjście. Wyraziłem się nieprecyzyjnie....
A jakiego Bascoma kolega używa? Używam Bascom-AVR 2.0.7.5. Mikrokontroler ma do jednego portu przynajmniej trzy rejestry. Jeden służy do tego żeby wybrać czy port służy jako wejście czy jako wyjście. Nazywa się DDRx gdzie x to litera portu. Czyli spotkac się możesz z DDRB DDRC lub inną literą na końcu. Drugi służy do ustalania stanu portu który Ty...
Ustawiłem rejestr DDRB na $af (PB0 do PB3 oraz PB5 i PB7 - wyjścia, pozostałe wejścia) na rejestr wyjściowy dałem stan wysoki dla wszystkich pinów. Po jednokrotnym zaprogramowaniu mikroKontroler przestał reagować na powtórne programowanie. Czyżby był spalony? Czy może jest w jakiś sposób zablokowany? (Na wyjściu portu B cały czas utrzymuje się stan...
zmiana wyjściowego automatyczne wyjściowego obliczenie transformatora wyjściowego
upływność przewód komora rezonansowa zamek podnosić kabina
brymen bm2257 konwerter polsat
Wsad pamięci do TV Blaupunkt B23a207BBKE048 Schemat elektryczny lodówki Samsung RS7768FHCSL