Nie, podajesz na jedno wyjście wiersza stan niski i sprawdzasz stan wejść kolumn podciągniętych wwnętrznei do plusa. Robisz to zwsze w przerwaniu timera. To samo przerwanie może służyć np. do wyświetlanai LED, o ile masz w systemie wyświetlacz multipleksowany.
deklarujesz skok do przerwania pod jakims tam adresem: .org INT0addr rjmp klawiatura teraz deklarujesz skok do resetu .ORG $000 rjmp reset reset: i dalej jakis kod... tyle ze ten kod zaczyna sie zaraz za rjmp RESET jednoczesnie zamazujac skok do Twojego przerwania INT0. Zakrecone no nie?;]
Proponuję zastanowić się czy mikrokontroler będzie tylko i wyłącznie czekał na przyciśnięcie przycisku czy robił coś jeszcze poza tym. Jeżeli tylko i wyłącznie będzie oczekiwał na przycisk to porty ustawiasz jako wejścia i sczytujesz stany. Natomiast jeżeli zajmiesz go czymś to proponuje wykorzystać przerwania. Nowsze mikrokontrolery (potomki Atmega8...
Dziękuje koledze perlon i dondu za zainteresowanie, ja dopiero zaczynam zabawę z prockami Atmela i Bascomem więc wolałem zapytać. Drabinka z rezystorami fajna sprawa ale wolę proste rozwiązania. Więc skoro mogę użyć wejścia programujące to rozwiązuje mój problem, zrobię klawiaturę matrycową z wykorzystaniem przerwania.
Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Obsłuż ją w przerwaniu :P Znaczy podłącz linię danych klawiatury do np. INT0, i potem jak naciśniesz klawisz to zostanie wywołane przerwanie INT0. Klawiatura działa na tyle wolno że zdążysz bez problemu odczytać jaki klawisz naciśnięto.
http://obrazki.elektroda.pl/9745806300_1... Witam. Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować :D . Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować,...
Żeby zrobić menu - potrzebujesz dodać kolejne funkcje obsługi odczytu i wyświetlania temperatury. Obsługę wyświetlania i poruszania się po menu itd. Ponadto istniejącą procedure obsługi PCF musisz rozszerzyć o procedury odczytu i zapisu daty oraz obsługę budzika. Kolejna sprawa to wprowadzenie przerwań. Tzn. Ustawiasz w PCF odpoowiednią datę budzika...
Idea jest zawsze taka sama, bez wzgledu na procesor. Jezeli Verengard nie uzywa zadnego OSa to moze zrobic to na przerwaniu od timera.
Oj przeczuwam kłopoty, piszesz że przesiadasz się z małego AtMega na AtMega128, a tam niektóe rejestry mają zmienione nazwy lub wręcz niektóre bity są w innych/nowych rejestrach. dla AtMega8..32 działa coś takiego #define GLOBAL_INT_ENA()asm("se... #define GLOBAL_INT_DIS()asm("cl... #define INT0_ENA()...
Witam. Jako iż wakacje i mam dużo czasu postanowiłem zabrać się za zbudowanie odświeżonej kopii IBM PC. Procesorem układu byłaby ATmegax128/ATmega128 która odpowiadała by za emulację 8086, jako RAM służyło by 1MB 16bitowej równoległej pamięci SRAM. Program w atmedze odpowiadał by za pobieranie programu z ramu i jego interpretowanie, emulował by również...
Ale po co się męczyć, skoro Atmel napisał [url=http://www.atmel.com/dyn/resources/... aplikacyjną na ten temat, gdzie jest matrycowa klawiatura, działanie na przerwaniach i niski pobór prądu.
Kolega niech raczy zauważyć że kontraktron ma coś takiego jak drżenie styków. Może być tak że przerwanie jedno twoje załaczenie potraktuje jak wiele zboczy je wzywalających i cały pomiar weźmie w łeb bo się wykona po prostu wielokrotnie. Musisz użyć więc kolejnego sprawdzania stanu styku juz po wykonaniu przerwania tak aby się upewnić ze jest to "trzymanie"...
Witam. Zbudowałem sobie klawiaturę matrycową 4x4 do mikrokontrolera Atmega 128. Klawiatura jest podłączona do 8 wyjść portu D. Obsługę klawiatury chce realizować poprzez przerwania wykorzystując przerwania zewnętrzne INT0...INT3 Poniżej przedstawiam kody: DEFINICJE: #define KLAD DDRD // PORT LINII STERUJACYCH #define KLAP PORTD //#define WE1 0 // LINIA...
Buduję prosty sterownik na atmedze 8, chcę obsługiwać klawiaturę w przerwaniach od timera0 ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się. Kod procedury obsługi przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest...
Problem typowy dla układów zasilanych bateryjnie - może ktos przerabiał lub spotkał sie z problemem (oraz jego rozwiązaniem). Opis sytuacji: Układ elektroniczny (mikrokontroler np AtMega8 lub 89c2051 + klawiatura matrycowa 16 klawiszy - 4x4 i niewiele ponad to) Rozwiązanie 1: zasilanie takiego układu cały czas w oczekiwaniu na nacisnięcie klawisza -...
I jak ciekawie się wątek rozwinął :) ... A pytanie zadawałem bo mi tak luźno przyszło do głowy robienie klawiatury na PCINT albo fototranzystora podłączenie i wykrywanie 0/1. Dopóki autor nie wróci to możemy offtopować :P .
Witam Przerwanie nie nadaje się. W czasie obsługi przerwania, drgania klawiszy mogą zafałszować wynik.
Witam. Robię sobię własną klawiaturę (planckkeyboard.com) i jako kontroler do tej klawiatury używam modułu na atmega32u4, chcę do tego połączyć moduł bluetooth i akumulator li-ion. Jaki moduł będzie dobry do ładowania akumulatorka z usb, który jednocześnie przy braku zasilania będzie podawał napięcie do modułu bluetooth i mikrokontrolera. Zasilanie...
Witam poniżej przedstawiam kod programu za srednikami jest poustawiany timer 16 bit który steruje serwomechanizmem z modeli RC i działa wszystko poprawnie (wyjscie OC1A do serwa) natomiast ja chcialbym to serwo wysterować 8 bitowym wyjscie (OC0/t0 pin1 do serwa) I niby wszytsko dobrze posutawialem ale serwo ani drgnie dlaczego? #include "avr.inc"...
Czy ja dobrze widzę że używasz dwóch RTC? Ogólnie taki objaw jak opisujesz to czekanie na jakiś warunek który nie następuje lub zbyt długie przerwania. Ponieważ zauważyłeś że problem jest i z klawiaturą i z czasem, musisz któreś z tych wykomentować i skupić się na uruchomieniu drugiego. Tu już nie mam gotowej odpowiedzi, bo dużo się "dzieje" w tych...
Witam, napisałem taki prosty programik do obsługi przerwania INT1 i coś nie chce działać. Pierwszy raz pisałem program z obsługą tego przerwanie i prosłbym o pomoc w znalezieniu błędu. Kod programu: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/delay.h> int main(void){ DDRD &= ~(1<<PD2);...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Nie używaj do odczytu przerwania, tylko zrób skanowanie jak w normalnej klawiaturze. Stan portu odczytujesz ciągle co np. 5ms (wykorzystaj przerwanie timera). Jeżeli 3 odczyty (lub więcej, dobierzesz eksperymentalnie) pod rząd są takie same to oznacza, że odczytałeś jego stan.
Projektuje uklad w ktorym potrzebuje osiem nizaleznych generatorow ktorych czestotliwosc bedzie zmieniana z klawiatury ( 8 klawiszy + i 8 klawiszy - ). klawiatura obslugiwana jest w przerwaniu. Chcialbym aby podczas obslugi klawiatury nie bylo zadnych zaklocen przebiegu i dodam ze przytrzymanie kalwiatury skutkuje zwiekszaniem lub zmiejszaniem czestotliwosci...
Witam Mam problem przy zapisie do eepromu wewnętrznego ATmegi32. Problem jest w tym, że podczas zapisu do eepromu uC się "gubi" a dokładnie "gubi" się przerwanie do obsługi klawiatury PC co praktycznie uniemożliwia poprawne odczytanie wciskanych na klawiaturze klawiszy. Jest to prawdopodobnie spowodowany dość długim czasem zapisu gdyż przy zapisie 5...
witajcie fachowcy... po przesiadce na wyższy uC dostałem wiecej potrzebnych mi przerwań i bonus (czytaj problem) a polega on na raczej mojej nieumiejetności zablokowania tego jednego przerwania nie blokując innych. mieszam w tych wszystkich dziwnych znacznikach i nic. w tle działają sobie dwa usart'y a na int2 jest klawiatura, i musi byc na int2, lecz...
Atmega 32, program obsługujący klawiaturę - 4 przyciski, odczytywane co 20 ms ( co któreś przerwanie timera 1), przyciski podpięte pod PC), PC0,PC1,PC2,PC3. jeżeli w programie wykorzystuję PC0 i PC1 to jest ok , ale jeśli w pętli obsługi przerwania odczytującego klawiaturę sprawdzam stan przycisków PC2 i PC3 to zgłoszenia przerwania są w każdym odczycie...
Tylko, że kolega chce sprawdzać stan wyjścia które sterowane jest sprzętowo przez licznik. Poza tym zdarzyć się może ze stan któregoś piny zmieniany jest np. w przerwaniu a ty chcesz w pętli głównej sprawdzić jego stan. Sam to stosuje dość często. Np. sterując buzzer, który włączany jest podczas przyciskania klawisza klawiatury 4x4 i innych akcjach,...
Powoli składam sobie zegarek na tym lcd + atmega 16 i mam kolejna koncepcje, z którą musze sie Wami podzielić by ktoś mógł ocenić czy to realne. Konkretnie, mam w układzie wolne jedno przerwanie (pin int1) i chciałbym obsłużyć na nim kilka przycisków;] Jak? Mam sobie np PORTB (piny PD4-7). Pin INT1 ustawiam na wejscie, stan logiczny 0, piny 4-7, również...
W UART_Transmit nie ma nic takiego co mogłoby powodować gubienie tych znaków a wygląda tak: Dodano po 10 Właśnie zmniejszyłem częstotliwość przerwania do obsługi klawiatury do ok 30 razy na sekundę i zwiększyłem predkość transmisji do 19200 bps i jest dobrze cały string jest przesyłany w komplecie :) Dzięki bartosz.tarnowski
http://obrazki.elektroda.pl/5579748400_1... Dendy Keyboard Transformer - podłącz klawiaturę i magnetofon do Pegasusa! Artykuł powstał jako opis zmagań z próbą zrobienia reprodukcji kardridża Keyboard Transformer - rosyjskiego wynalazku, który umożliwia pisanie programów w BASICU. Kardridż udostępnia gniazdo klawiatury i magnetofonu...
Właśnie nie podoba mi się że działa to co jest dosyć prostą sprawą no ale jak konkret: -Klawiatura AT(przydałoby się odczytywanie w przerwaniu) -Karta SD -Programowanie ISP :D(dla mnie spory sukces ze ruszyło od razu) -Ledy -Podświetlenie -Przerwanie od toucha -Komunikacja RS232/485 -Wszelkie ADC... -Zegar -LCD... -Temperatura -Bluetooth -Niektóre kanały...
Witam Forumowiczów, Mam problem z ogarnięciem tematu wywoływania przerwań. Nie jest to problem jak je wywołać ale jak je okiełznać ;-) Wygląda to tak: Jest układ na Mega644PA-AU. Po I2C współpracuje z zegarkiem PCF8583, oprócz tego linia przerwania z PCF podłączona jest do portu D6 procka. Klawiatura zrealizowana jest na przetworniku ADC (port A0) i...
Witam Klawiatura zbudowana jest za pomocą sześciu przycisków monostabilnych, podłączonych do portu PF0-PF5. Równolegle z każdym przyciskiem jest włączony kondensator elektrolityczny o pojemności 1µF w celu eliminacji wpływu drgań styków. Aby nie odczytywać stanu linii cały czas, zdecydowałem się na wykorzystanie przerwania zewnętrznego !INT7. Jest...
Chciałbym zrobić symulację naciśnięć klawiszy na klawiaturze PS/2 wykorzystując ATMega328 z rezonatorem kwarcowym 16MHz i interfejs PS/2 na USB. Posiłkowałem się tym opisem PS/2. https://www.avrfreaks.net/sites/default/... Z opisu wynika, że urządzenie PS/2 (wspomniana klawiatura) musi być w każdej chwili przygotowane do odbioru...
Pozwolę się podłączyć. Pytanie do mirekk36. Czy takie coś: '$sim $regfile = "M168def.dat" $crystal = 16000000 Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 = Portc.2 , Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5 Cls Lcd "OK" Waitms 100 Config Portb = Output Set Portb.1 Config Portd = Input Portd = 255 Sw0 Alias Pind.0...
Ja ogólnie etap migania diodami mam już za sobą zrobiłem parę projektów prostych wykorzystujących TIMERY, Przerwania zewnętrzne, obsługę klawiatury bądź LCD i teraz zamierzam się właśnie dokształcić w interfejsach a doświadczenia w tym temacie nie mam, dlatego też pytam się was. A co sądzicie aby ten problem spróbować zrobić na interfejsie SPI? Z tego...
Dzień dobry, Mam problem z klawiszami. Zedytowałem do własnych potrzeb fragment kodu znaleziony na http://mikrokontrolery.blogspot.com/ [syntax=cpp]ISR(TIMER0_OVF_vect) { sei(); static uint8_t stan_przyciskow_najstarszy , stan_przyciskow_stary , stan_przyciskow_nowy; stan_przyciskow_najstarszy = stan_przyciskow_stary; stan_przyciskow_stary = stan_przyciskow_nowy;...
Witam, Jestem w trakcie budowy komunikacji między ATmega32 a klawiatura PS/2. Wykorzystuje biblioteki zamieszczone na stronie //klawiatura.c #include <avr/io.h> //#include <avr/interrupt.h> #include <string.h> #include <inttypes.h> #include <stdlib.h> //#include <stdio> #include "hd44780.h" #include "atkeyboard.h"...
Coś podobnego mam zrobione. W przerwaniu mierzony jest prąd, napiecie i klawiatura analogowa. w nastepnym przerwaniu mierzony jest czas rzeczywisty i dwa liczniki zegarowe (pomiar mocy i czasów działania/niedzialania) W jeszcze jednym przerwaniu ma programowy PWM 9 bit do sterowania tyrystorem. W kolejnym przerwaniu właczony jest głosnik do sygnalizacji...
Już działa:) Jeżeli chodzi o same ustawienia i inicjalizację Timera0 oraz przerwań to okazało się tak jak mi się wydawało że wszystko miałem dobrze. Jak zwykle w takich przypadkach błąd okazał się błahy i leżał w zupełnie innym miejscu. Otóż przy definiowaniu wektorów przerwań nie używałem definiowania ".org". Początek mojego programu wyglądał tak:...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
To nie jest dobry schemat, bo: 1. Skanowanie klawiatury wymaga wyłączenie wyświetlaczy. 2. Masz multipleksowanie w 8 fazach, a to wymaga sporego prądu segmentów - ATmega ma za małą wydajność prądową - wypada mieć min. 30 mA na segment, prawdopodobnie więcej. Pomyśl o wzmacniaczu segmentów, np. tranzystory NMOS (BSS138?). 3. Niepotrzebnie dajesz po dwa...
Nie majstrujesz czasem przy Timerze 2? Jeżeli ustawi się odpowiedni bit( patrz datasheet) to te końcówki przestają być I/O. Nie. Używam tylko T1 jako autoretrygowalny licznik wywołujący przerwanie co 10ms. Natomiast licznika T2 nie ruszam. Acha! Zapomniałem dodać, że jeśli kość totalnie wyczyszczę (ERASE) to na liniach 7 i 6 portu C utrzymuje się stan...
Witam forum. 1. Sytuacja PCF8583 podłączony do ATMega128 za pomocą I2C, wyjście INT z PCF podłączone go wejścia PE4 (INT4) mikrokontrolera za pomocą 4k7 pull-up resistor, zwartego do zasilania. Zegar działa bez zarzutu gdy czas/data jest odczytywany za pomocą odpowiedniej procedury. 2. Wyzwanie jest następujące: problem pojawia się w momencie gdy odczyt...
Atmega odpada. Koszt porównywalny z VNCL2. Programowe rozwiązanie moge użyć tam, gdzie nie mam krytycznych przerwań a w niektórych konstrukcjach takiem mam. Warto jednak wiedzieć, że takie rozwiązanie istnieje. VNLC1 jest droższy od VNCL2 więc skupiam sie na 2. W każdym razie skoro 1 obsługuje HID to 2 tez powinien. Przewagą VNC, poza ceną jest fakt...
Nie wywołuje cli (nie wiem co to jest). Dostałem kiedyś radę radę żeby dodać sei w main i tak też zrobiłem. Mój program działa tak mam pętle while(1) w której sprawdzam klawiaturę czy nie została wciśnięta i jeżeli tak to tylko ustawia odpowiednie pola to samo dzieje się w przerwaniach. Gdy odbieram jakiś znak to dodaje go do tablicy i ustawiam odpowiednią...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Witajcie moi drodzy. Udało mi się obsłużyć (częściowo) klawiaturę matrycowa. Proszę o sprawdzenie kodu (kod bazuje na przykładzie dondu bo przez rs232 wysyłam to co kliknięto) http://obrazki.elektroda.pl/2692005700_1... 1. Co można ulepszyć/usprawnić? 2. Czy idea (oraz tryby pracy portów) są poprawne? 3. Czy wartość rezystora jest odpowiednia?...
Czyli zamiast robić na przerwaniu INT0 zrobić na timerze? Nie. Jeżeli chcesz to pozostaw przerwanie INT0, ale w funkcji obsługi przerwania ustawiaj jedynie flagę, a w main() umieść resztę kodu wraz z opóźnieniami i pętlami, czyli gdy flaga zostanie wykryta w main() to wołaj swoją funkcję checkKeyboard(). I staraj się zawsze stosować zasadę, że przerwanie...
No to może zastanów się (skoro już i tak chcesz zdecydować się na jakiś zewnętrzny scalak) np na Expander 16bitowy I2C PCF8575 Nie dość, że w procku zużyjesz TYLKO 2 !!! piny na magistralę I2C to jeszcze będziesz miał do dyspozycji 16 pinów. Możesz sobie 8 z nich ustawić jako wejścia i podłączyć do nich swoje słicze. Natomiast kolejne 8 bitów ustawiasz...
Pomysł i projekt tego oto prostego zestawu z procesorem 8051 powstał podczas fascynujących zajęć na uczelni. Podczas ćwiczeń na legendarnym zestawie DSM-51 nie nadążałem za tym asemblerem. W tamtych czasach zajmowałem się jedynie AVRami. Jako, że nauka lepiej mi szła w domowym zaciszu zacząłem szukać jakiegoś fajnego i łatwo programowalnego mikrokontrolera...
Chcę zaimplementowac RTC w mojej Atmedze. Mają to być przerwania od asynchronicznego Timera2. Coś nie działa, mam kilka pytań : 1. czy piny w porcie C (PC7 i PC6 które służa jako TOSC1 i TOSC2) trzeba ustawić jako we/wy ? czy wystarczy ustawienie bitu AS2 w ASSR ? 2. jakie powinno być napięcie na nich ( u mnie na obu pinach rezonatora jest 0.4 V). 3....
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Cóż okaże się - w konfrontacji z oryginalną dokumentacją, może pomoże. Dodano po 12 Hmm, specjalnych rewelacji tam nie ma, to akurat jestem w stanie sam wyczytać, natomiast myślę ze było by to dużym ułatwieniem dla początkujących. Szczególnie dobrze opisane porty, timery, przerwania. Najwięcej pytań dotyczy tych podstaw. Regulamin p.15 Proszę zwracać...
Zarezerwuj sobie na godziny i minuty po rejestrze w procesorze. Zrób obsługę klawiatury. Ja bum dał 3 przyciski. 1 - jak przytrzymasz dłużej to wchodzi w trym ustawiania. Jak potem na krótko to przechodzi po kolejnych rejestrach i ustawiasz 2 pozostałymi wartość godziny minuty, dnia, miesiąca, roku. 2. zmienia wartość w górę 3. zmienia wartość w dół...
http://obrazki.elektroda.net/41_12588515... Zamieszczam projekt sterownika do wymiennika ciepła i pompy wymuszającej obieg wody w centralnym ogrzewaniu. To moje pierwsze użyteczne urządzonko zainspirowane zostało wymianą zbiornika do ciepłej wody. Całość składa się z: wyświetlacza alfanumerycznego bardzo znanego i łatwo dostępnego: WC1602A...
Hmm, przygotowałem taki schemat pcb pod klawiaturę matrycową o rozmiarze 4x5. http://obrazki.elektroda.pl/8909660200_1... Zastanawiam się jeszcze nad jedną rzeczą. Mianowicie microswitch ma 4 piny. Moje logiczne myślenie podpowiada mi że są one parami, czyli że dwa pierwsze są połączone i w momencie wciśnięcia zwiera je z dwoma pozostałymi....
Kolego samuraj - pierwsze zdanie w moim poście - "...wyświetlacza graficznego monochromatycznego 128x64 punktów (z wbudowanym generatorem znaków na T6963c)." MONO <-> B&W T6963c - sterownik z generatorem znaków. Dodatkowy procesor chcę zastosować ponieważ LCD potrzebuje 8 linii danych oraz 7 sterujących (licząc z podświetleniem). Nawet stosująć...
Witam...Dlaczego przerwania z Timera0 generowane nie sa zgodnie z dokumentacja? chciałbym zrealizować generator sterujący pinami portu PC0-7...w taki sposób aby wartości z tabeli --- unsigned char GenTab DDRC = 0xFF; // port C jako wyjscie 11111111 CLI(); //disable all interrupts TIMSK = 0x01; //timer interrupt sources TCCR0 = 0x00; //stop OCR0...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Witam wszystkich! Nurtuje mnie pewien problem z moją ATmegą. Mianowicie, wykonuje projekcik z ATmegą128 w roli głównej na płytce stykowej. Ze względu na dużą ilość Pinów, ATmega jest wlutowana w przejściówkę i poprzez goldpiny a następnie skrętkę podpięta do płytki stykowej, na której składam elektronikę. W związku z tym przewody od mikrokontrolera...
Jak chcesz za pomocą 10-bitowego ADC obsłużyć więcej niż 10 przycisków? Jeśli przycisk przyjmuje dwa stany, to do ich reprezentacji potrzebujesz 1 bita, masz 14 przycisków, czyli potrzebujesz co najmniej 14 bitów z ADC, a tylu nie masz. Oczywiście problem nie istnieje, jeśli na raz można nacisnąć tylko jeden przycisk... Kolejna sprawa - po co oddzielne...
Witam Do wyjść klawiatury wpinasz równolegle bramkę NAND 4-wejściową (zakładam klawiatura 4x4), a wyjście bramki do wejścia z przerwaniem zewnętrznym (INT0, INT1). W momencie naciśnięcia przycisku z klawiry na wyjściu bramki będzie "1" które wykrywasz (lub zbocze) na INTx. W obsłudze przerwania sprawdzasz klawisz jak normalnie.
OK, to urządzenie MUSI być niezawodne, wiec myślę ze najlepiej będzie jeśli jednak zrobię tą komunikację od nowa na przerwaniach. Rozgryzam powoli implementację Atmela ( http://www.atmel.com/images/doc2564.pdf ). Przykład przeanalizowałem i rozumiem jak działa. Problem pojawia się kiedy chcę odczytać od konkretnego adresu w slave, chyba trzeba by dorobić...
Witam...nic z tego nie wyszło rozwaliłem tyko w mak resztę programu....za chiny nie wiem jak obsłużyć tego PCF8583 datashety tylko namierzały mi w głowie a jakiegoś prostego przykładowego kodu w C nie znalazłem....menu jak się sypało tak sypie się dalej...nie radze sobie z tymi przerwaniami wychodzą cuda... posiłkując się elektrodą o dadatshetem napisałem...
Swoją drogą, nadal nie rozumiem, dlaczego autor tematu, dysponując tak dużym procesorem, nie napisze sobie obsługi DSów w tle, wtedy czyta się tylko rejestry w SRAM i dostaje się aktualna temperaturę, no chyba ze ma jakiś dziwny dom i w nim potrafi się zmienić w ciągu 20ms o parę stopni :D Kolego moja ATMega nie tylko czeka na odczyty z czujników temperatury...
https://obrazki.elektroda.pl/6021352700_... https://obrazki.elektroda.pl/6921159500_... https://obrazki.elektroda.pl/3416870700_... https://obrazki.elektroda.pl/7961253800_... https://obrazki.elektroda.pl/7601893100_... Dzisiaj przedstawię państwu dwa sejfy dla dzieciaków,...
Witajcie, mam problem nad którym siedzę juz kilka dni i zatrzymałem się nie wiedząc gdzie tkwi problem. Otóż chcę obsługiwać zegar RTC PCF8563 po I2C - czytać i zapisywać z niego dane (datę i czas). Projekt mam podzielony na kilka plików, całość pisana w Code Blocks 10.5 i kompilowana w AVR GCC. Mam zdefiniowaną strukturę do zapisu danych z zegara do...
Komentarze są do starego projektu ale przerwanie używane do zegara generuje impuls o okresie 1s. Jeżeli klawiatura bedzie obsługiwana na przerwaniu INT0 to jej obsługa będzie działała prawidłowo (czyli wykryte będzie każde naciśnięcie a nie tak jak teraz dopiero po przytrzymaniu na 1s)?
Witam , dzięki za odpowiedź .. i to od samego MISTRZA. odnośnie kompilatora (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.939\avr8-gnu-toolchain\... . Dla porządku - jestem startującym do C , zatem wiele pytań , dla wielu pewnie w kategorii " oczywista oczywistość". Dotąd pisałem w asm. próbując przesiąść się na C , zaczynam po prostu...
Od kad zmienilem bit CKOPT w fusach dziala bardzo stabilnie A więc wniosek , że program to jedno , a sprzęt to ... drugie :D za kazdym razem dostaje informacje AT+CSQ+CSQ: 19,99OK Czyli telefon wysyła echo. ... Nie rozumiem do konca czemu bez zerowania bufora tez dziala ..ale wstawielm to co podeslales ;) Jeśli odczytasz wszystkie dane w buforze ,...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Build started 10.10.2010 at 13:19:40 avr-gcc.exe -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d -c ../main.c In file included from c:/avr/winavr/lib/gcc/../../avr/include/... from c:/avr/winavr/lib/gcc/../../avr/include/...
Otóż napisałem taki programik, ale po wciśnięciu dowolnego klawisza klawiatury dostaję zawsze 1 zamalowany prostokąt. Przed mainem deklaruję zmienne volatile. W mainie żądam przerwania zboczem opadającym na int0 W przerwaniach składam daną, nie zrobiłem zabezpieczenia przeciw 'fałszywemy' zboczu, ale nawet gdyby powało to powinienem odbierać różne krzaki......
Witam, na zajęciach otrzymaliśmy projekt "kalkulator z wykorzystaniem klawiatury 4x4" ma to być najnormalniejszy w świecie kalkulator a klawiatura ma odpowiadać za klawiaturę numeryczna + wybór działania(czyli np 2+2 =) powiem szczerze że już nie mam pojęcia, doszedłem do punktu wrzenia. Proszę o pomoc, jak na razie mam tyle :/ #include <avr\io.h>...
Witam, od pewnego czasu borykam się z pewną trudnością, a mianowicie obsługą dwóch przerwań zewnętrznych, z czego jedno ma byc wykorzystywane podczas obsługi drugiego. Projekt to odcięcie zapłonu z zamkiem szyfrowym. Po krótce: W momencie załaczenia stacyjki na on, ma wyśwoietlać się komenda podania pinu itd, po wpisaniu na tranzystor sterujący przekaźnikiem...
No spotkałem się z opornikami 100ohm w szereg. Np. na płytkach prototypowych z propoxu. W normalnych urządzeniach w których klawiatura jest nieco oddalona od płytki takie oporniki są zwykle jednym z elementów zabezpieczenia przed zewnetrznymi zakłóceniami i nawet nie zwraca się na nie uwagi. I wcale nie chodzi o sklejenie styków. Taki np. miniaturowy...
Gdy lekko dotykam końcówką cewki masę( "X" na schemacie to miejsce styku) to powstaje bardzo mała iskra i Atmega się wybudza z stanu power down, jakby został naciśnięty przycisk od przerwania INT0. Czy to normalne? Pytanie o "normalność" jest bezsensowne, jeśli pracę procesora daje sie zakłócić w jakikolwiek sposób, to znaczy że można to było zrobić...
1. O ile jest Atmega przetaktowana? Jak to wpływa na jej pracę? Taktuje 20MHz, a powinna byc 16. Negatywnego wpływu nie zauważyłem ale docelowo ma być Mega324, której Fmax 20MHz. Powodem zastosowania M324 jest także to, ze każde wyprowadzenie może generować przerwanie. Dzięki temu klawiatura będzie obsługiwana bez przerywania generowanego sygnału....
Możliwości jest wiele. Możesz np. zrobić klawiaturę na ADC: http://mikrokontrolery.blogspot.com/2011... Schemat przyda się na pewno. Dzięki! Wygląda to interesująco i pewnie z tego pomysłu bym skorzystał, gdyby nie to, że... chciałem jednak mieć podłączone przyciski pod piny INT0 i INT1 żeby nauczyć się obsługiwać przerwania...
jednak nie implementowałem FATa na karcie, tylko zrobiłem sobie swój system plików znacznie uproszczony. Stwierdziłem że nie ma to sensu, bo układ by się nie wyrobił przy pofragmentowanym systemie plików. To jest jednak spore ograniczenie. Drugim ograniczeniem w Twoim przypadku to obsługa tylko 1 częstotliwości próbkowania (wynika to z użycia pwm 8000/256=31.25khz...
Robię urządzenie , które ma być pewnego rodzaju nagrywarką sygnału DMX. Sygnał DMX to specyficzna wersja transmisji szeregowej . Muszę odczytać 128 słów 8 bitowych i zapisać je w pamięci zewnętrznej. Na każdą sekwencję zakładam 8 kroków. Te słowa są wysyłane cały czas. Jeden taki ciąg znaków określa konkretną scenę. Chcę zapisywać po kolei takie sceny...
Witajcie. Ostatnio zmagam się z obsługą klawiaturki analogowej składającej się z 3 klawiszy. Poradziłem sobie z uruchomieniem ADC na ATmedze8 i zrobiłem sobie 2 Timery programowe . Teraz próbuje zgodnie z przedstawioną przez Mirka (w filmach z cyklu "Przetwornik ADC - część 06") koncepcją zrobienia repeat klawiszy. https://www.youtube.com/watch?v=BdCCe6XO...
Witam Chcę zrobić proste menu ale mam problem Napisałem taki program ale on nie działa i nie wiem co jest źle http://obrazki.elektroda.pl/8154646300_1... http://obrazki.elektroda.pl/1040274800_1... Chcę zrobić tak, że jak nacisnę przycisk P1 to wtedy ta strzałka > przejdzie na inne menu. np. Jest tak jak na zdjęciu 1...
Jakiś fizyczny sposób załączenia przerwania timera przerwaniem od INT0 . Szukam i nie mogę znaleźć żadnych przykładów ani bardziej szczegółowego opisu jak to ugryźć , we wcześniejszych odpowiedziach nikt nie napisał dlaczego nie można używać delay w przerwaniu a w prostej wersji programu nie wpływało to na działanie. Teraz mam bardziej rozwinięta wersje...
http://obrazki.elektroda.net/58_12588185... Witam pragnę przedstawić Wam konstrukcje jakie wykonałem do C64 Pomysł narodził się z rok temu późną wiosną chcąc pograć na emulatorach w trochę gierek do C64 , przekonałem się jednak że emulator C64 na pc to jedynie namiastka starych dobrych czasów, wtedy przypomniałem sobie o moim staruszku który...
https://obrazki.elektroda.pl/6692889600_... Od jakiegoś czasu czułem potrzebę sterowania komputerem za pomocą niestandardowej klawiatury. W wielu przypadkach, takich, jak emulatory starych komputerów i sterowanie urządzeniami za pomocą klawiatury, można przypisać funkcję programu do klawisza na klawiaturze. Na przykład komputer ZX...
Witam Jestem początkującym w dziedzinie programowania mikrokontrolerów ATMEGA przy pomocy C/C++, więc proszę starszych kolegów z forum o pomoc. Użytkownik VSS (10 Lut 2006) zamieścił na forum w dziale DOWNLOAD swój projekt zegarka wraz z programem w C do ATMega8, jednak kompilator (WinAVR-20040720) zgłasza błąd (czy raczej ostrzeżenie) podczas kompilacji...
Witajcie. Zlutowałem układ jak pokazuje rysunek poniżej: http://obrazki.elektroda.net/14_12637592... Napisałem i zaprogramowałem atmega #define F_CPU 1000000UL #include <avr/io.h> #include <inttypes.h> #include <util/delay.h> #include <stdlib.h> #include "hd44780.h" #define KEY_1 (1<<0) #define...
Strasznie przekombinowałeś. Do obsługi klawiszy nie powinno używać się przerwań. To nie jest operacja wymagająca natychmiastowej reakcji. Jesteś pewien, że zmienna State nie jest zerowana przy każdym wejściu do funkcji? W wyznaczaniu State operacja 'OR 0xE000' jest zbędna, oczywiście wówczas późniejszy warunek byłby: "State == 0x1000". Moim zdaniem...
Witam Chcę zrobić sobie termostat :) ale jak na razie udało mi się tylko napisać termometr, a termostatu nie umiem ;( http://obrazki.elektroda.pl/2811600200_1... http://obrazki.elektroda.pl/9802204300_1... Chcę zrobić tak, że jak naciśnie się trzeci przycisk to wtedy wchodzi się w ustawienia temperatury i jak już się...
Wprowadziłem Twoje podpowiedzi za które jestem wdzięczny:) więc tak przez hyper terminal sprawdzam to i wysyła znak podany z klawiatury ale go nie zwraca, nie ma zadnej reakcji na diodach ( po włączeniu 1 lub 2 ma sie zmieniać ich stan) #include <avr/io.h> // dostęp do rejestrów #include<avr/interrupt.h> #include<avr/signal.h> #define...
Witam, dziękuję za kod komunikacja zadziałała, ale jest jeden problem. Układ nadajnika czasem sie zawiesza, jak debuguje program to czasem jak pojawi się przerwanie INT0 to na case łapie default, i po wyjściu z procedury obsługi przerwania układ sie zawiesza. Po resecie uC odczytywany status nie jest poprawny gdyż wynosi 0x2E a nie 0x1E. Jedyne co można...
http://obrazki.elektroda.pl/1899461000_1... Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części...
Po pierwsze wszystkie biblioteki Arduino mają otwarty kod i można je przeanalizować, samo to ma wartość dydaktyczną. Po drugie platforma sprzętowa Arduino w żaden sposób nie narzuca swojego IDE. Nawet w oryginalnym środowisku Arduino, można a czasem nawet warto operować na rejestrach bezpośrednio. Łatwo na niej pokazać jakieś podstawowe koncepcje -...
Musisz sam sprawdzić, ale obawiam się że może zostać wyzwolone przerwanie jeśli użyjesz klawiatury ale lepiej to sprawdź. Jednak możesz korzystać z tych samych wyprowadzeń co klawiatura ale musisz pamiętać że tylko wtedy gdy nie jest ona odczytywana. Pamiętaj też że te końcówki zostają ustawiane jako wejścia i jeżeli chcesz je wykorzystać jako wyjścia...
http://obrazki.elektroda.pl/4926270100_1... Diagnozer joysticków (np. do Pegasusa) na Atmega 8 Projekt Przyszedł wreszcie czas naprawić posiadane przeze mnie joysticki do Pegasusa. Zwykle uszkodzeniu (urwaniu) uległ kabel lub taki niesprawdzony/niesprawny joystick został zakupiony bez znajomości jego przeszłości. Jeśli kable się urwały,...
Zamiana wyświetlaczy nic nie daje, zamieniałem nawet same kabelki łączące je z płytką i też nic. Jeśli chodzi o przerwania to mam odbiór danych z RFM12 oraz obsługę klawiatury na PCF8574. Może faktycznie coś na rzeczy z tymi przerwaniami. Wyświetlacz, który nie działa jak trzeba oprócz wyświetlania daty, godziny oraz części odebranych danych wyświetlać...
przerwanie klawiatura klawiatura przerwanie timer atmega przerwanie
livebox router bezprzewodowo sprawność grzejnika schemat woltomierza analogowego
satel powiadamianie radiowe komunikacja radiowa satel
Skoda Fabia I - Niedziałające wycieraczki przód i tył Czy można wymienić bezpiecznik 20A na 25A?