Jj_Johnys : Wcisniecie przycisku daje ok. 100ms sygnalu? Rozne przyciski maja rozne dlugosci sygnalow? Jak dla mnie to przycisk zwiera w zaleznosci jak dlugo sie go przytrzyma, po za tym przy wciskaniu przycisku nastepuja drgania stykow ktore daja duzo szpilek i napewno nie osiagniesz zadnego konkretnego sygnalu o konkretnej dlugosci. Jesli chodzi...
http://obrazki.elektroda.pl/3499461100_1... Jest to bardzo specyficzna konstrukcja i prawie na pewno nikomu oprócz mnie nie przyda się w tej konkretnej postaci jaką tu opisuję, ale zawsze pozostają walory edukacyjne, nauczenie się jak coś zrobić albo jak czegoś w żadnym wypadku nie robić :D Urządzenie jest protezą dzięki której omijam...
http://obrazki.elektroda.pl/5336859500_1... Projekt został zrealizowany na potrzeby sterowania urządzeniami zasilanymi z sieci 230V , świetnie nadaje się jako sterownik do wytrawiarki lub innych tego typu urządzeń, w których konieczne jest utrzymywanie stałej temperatury. Układ oparty jest o mikrokontroler ATmega8 firmy Atmel , który...
http://obrazki.elektroda.pl/3207877000_1... http://obrazki.elektroda.pl/9634776400_1... http://obrazki.elektroda.pl/8673988800_1... http://obrazki.elektroda.pl/3005768300_1... Termometr z funkcją pamiętania maksimum i minimum (zapisane w rejestrach, tracone przy braku zasilania). Program...
Witam. Dzieki uzytkownikom tego forum zdążyłem, w moim odczuciu, zrobić postępy w zrozumieniu przerwań. Wiem już o tym dlaczego nie stosować funkcji delay w przerwaniu ze względu na niedokładność odliczanego przez nią czasu i ryzyko gubienia przerwań i zamiast tego używać timera do opóźnień. Próbuję jeszcze zapanować nad jedną rzeczą ale mi się nie...
No to wymodziłem coś takiego: [syntax=jezyk_programowania] #include <msp430.h> volatile unsigned int i; int main(void) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog P1DIR |= 0x41; //P1.0 oraz P1.6(diody) ustawione na wyjcia P1REN = 0x30;//podciągnięcie przyciskow pod Vss p1.4 i p1.5 P1OUT |= 0x30;//podciągnięcie przycisku pod Vss p1.4 i p1.5 //zdefiniowanie...
Przepraszam że wcześniej nie odpisałem, ale w pracy spędzałem całe dnie :( I tyle co bawiłem się w sobotę i niedzielę, to nie udało mi się uruchomić przerwań :D Mój program narazie wygląda tak: #include <avr/io.h> #include <avr/interrupt.h> #include "lcd.h" uint8_t impulsy; ISR(INT2_vect) //procedura obslugi przerwania...
Witam Problem w tym, że po włączeniu zasilania w urządzeniu, na INT0 od razu pojawia się stan niski (z bramki NAND - bo żaden przycisk nie został wciśnięty) no i generowane jest przerwanie, które z kolei ustaje gdy wcisnę dowolny z przycisków (wtedy na INT0 pojawi się stan wysoki) wówczas wykonuje się główny blok programu. crooveck Zastosowanie bramki...
Witam mam następujący problem. Chciałem zrobić pilot rc5. Sam napisałem wszystko praktycznie od początku i funkcja wysyłająca kod rc5 działa wyśmienicie. Problem pojawia się przy obsłudze przycisków w przerwaniu int0. Dwa microswitch'e podłączone mam tak: Jedna strona razem do PD2, czyli wejścia INT0 i z drugiej strony do PB1 i PB0 (każdego oddzielnie)....
Witam, Chcę obsłużyć przycisk USER za pomocą przerwania. Projekt oparty jest na ćwiczeniu 9 z książki "STM32 Aplikacje i przykłady w języku C". NVIC_Config(void) void NVIC_Config(void){ //Konfigurowanie kontrolera przerwan NVIC NVIC_InitTypeDef NVIC_InitStruct; EXTI_InitTypeDef EXTI_InitStruct; #ifdef VECT_TAB_RAM // Jezeli tablica wektorow...
Witam Procesor ATmega328 Napisałem krotki programik ukazujący na wyświetlaczu liczbę zmian stanów po naciśnięciu przycisku, w którym nie został zaimplementowany debouncing. [syntax=c] typedef enum {wyzwalanie_zboczem,wyzwalanie_poziomem} TRYB; inline void ustaw_wyzwalanie_zboczem(void) { EICRA |= _BV(ISC10); } inline void ustaw_wyzwalanie_poziomem(void)...
witam, mam nastepujacy problem : chcialem uzyc atmegi do odczytywania obrotow kola za pomoca kontraktona ( taka szklana banka , dziala jak przycisk , zwiera sie w poblizu magnesu ) , wszystko by bylo dobrze jednak jest jeden podstawowy problem - obroty wykrywam za pomoca przerwania zewnetrznego niestety w momenci zalaczenia sie kontraktona ( kiedy przechodzi...
Najlepiej podac przyklad z zycia wziety. Zalozmy ze wykonujesz czynnosc zwana prasowaniem. Nagle rozlega sie szwonek do drzwi. Co robisz?? PRZERYWASZ prasowanie i idziesz zobaczyc kto dzwoni, gdy sie okaze ze to listonosz przyniosl list polecony to go odbierzesz i wrocisz do prasowania. Tak samo jest w procesorze. Wykonuje on program glowny ktory np....
witam Podpiąłem włącznik pod gipo ustawiłem na nim przerwanie i zmienną która je zlicza. jak przycisk trzymam krótko to licznik powiększa się o jeden prawidłowo, przy dłuższym przytrzymaniu przycisku zliczenie ( przerwanie ) występuje na przyciśnięciu i puszczeniu guzika, proszę o pomoc [syntax=c]void Clock_init(void); void GPIO_init(void); void NVIC_init(void);...
Przerwania z RB0 i RB1, oraz poprawione odtwarzanie rejestru W, przy zakończeniu jego obsługi. org0 goto start org4 movwf w_copy ;zachowaj rejestr W movfwSTATUS movwfs_copy ;zachowaj rejestr STATUS ;---------------------------------------... movfPORTB,F btfssINTCON,INTF ;nacisniety przycisk na RB0 ? gotoBUTT_1 ;nie !, przycisniety na RB1 ; obsluga przerwania...
Witam, Chce uruchomić przerwanie PCINT0, z tego, co zrozumiałem, z datasheeta to muszę ustawić odpowiedni bit w rejestrze PCMSK, bit PCIE w GIMSK. Nie znalazłem żadnej konfiguracji przerwań PCINT, ale z tego, co wyczytałem to one działają tylko na zmianę stanu na odpowiednim pinie. Do pinu z PCINT0 podłączyłem przycisk zwierany do masy. Jednak, gdy...
Witam. Po raz kolejny wracam do tematu przerwań: [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile static uint16_t i; volatile static uint8_t k; // główna funkcja programu main() int main(void) { //**************************** SPRZĘTOWY PWM - 1 KANAŁ OC0 (PB3) ****************************************...
Bawię się ostatnio wspomnianym w tytule mikrokontrolerem i natknąłem się na problem z zewnętrznymi przerwaniami, którego nie potrafię obejść. Zaczynając od tego co działa: układ jest sprawny na pewno, jest podłączony, cały czas hula dioda sterowana przez timer z ustawionym przerwaniem na przepełnienie; podłączony jest również PICkit 3 przez icsp. Korzystam...
Cześć, mam napisać "prosty" program dla ATmegi2560. Po wciśnięciu przycisku na porcie A, ma on zapalić odpowiadającą mu diodę na porcie B. Dioda ma się świecić 1 sekundę a potem ma zgasnąć. Za podtrzymanie świecenia mają odpowiadać przerwania timera1, a program ma się zaczynać od ustawienia flagi przerwania int0. Int0 działa, po wciśnięciu przycisku...
Witam ! Zwracam sie z prosba o rade w sprawie obslugi przerwań. Jestem na ukonczeniu projektu termometru na AT89S52 w ktorym mają działac dwa przerwania - wewnetrzne od timera ktory zapisuje wyniki 10 kolejnych pomiarow do pamieci wewnetrzej u-kontrolera oraz zewnetrzne od przycisku - microswitcha ktory powoduje wypisanie zapisanych wynikow z pamieci...
Program dopiero powstaje (dopiero mam szkielet do uzupełnienia), wiec moze byc duzo elementów nieaktywnych takich jak PWM'y i i2C itp(ale konfiguracje juz sa), głównie jest MENU nieskonczone ale tyle co jes to działa , no i nieszczesny pomiar z wyswietleniem co 0,5 s za pomoca flagi z przerwania. Docelowo będą czytane wszystkie wejscia ADC ale jak utknołem...
SIG_INTERRUPT1 i SIG_INTERRUPT0 oznaczaja u Ciebie przerwania zewnetrzne... kazde z nich przypisane jest do jakiegos pinu procesoraq... i w zaleznosci od ustawien tych przerwan odpowiednio reaguja na to co dzieje sie na tym pinie... jesli chcesz wiecej przyciskow a ni masz tylu przerwan zewnetrznych to musisz wszystkie przycicski DODATKOWO podlaczyn...
Troche namieszalem skrutami myslowymi, ale zadko interesuje mnie teoria, a zawsze praktyka, w praktyce wylaczenie przerwan ma wplyw na dzialanie programu, a dzieje sie tak dlatego, ze po wyjsciu z przerwania i ustawieniu flgi I moze zostac wywolane przerwanie ktore czekalo w kolejce, a to moze zmienic dzialanie calego programu, gdyz pewne fragmenty...
Wkleję cały program: = 0x33" naprawiło problem, więc gdzieś tu tkwi szkopuł. Bo jeśli dobrze rozumuję , to: bajt XX10 XX11 & ~0x33 1100 1100 ( czyli ~(0011 0011)) bajt XX00 XX00 PD7 jest niepodłączone. PD6 to wyjście na tranzystor (przez rezystor). Nie mam schematu, ale układ elektrycznie działa ok. PD2 i PD3 to switch'e zwierające do masy. Drugi...
Witam. Poniżej przedstawiam kod, który jest synchronizowany z siecią elektroenergetyczną, a następnie na drabince r2r generuję 3 przebiegi prostokątne, przesunięte względem siebie o 120 stopni. Dodatkowo chcę regulować przesunięciem fazowym wszystkich przebiegów jednocześnie względem sygnału synchronizującego. Wszystko działa, ale jak zacznę zwiększać...
To raczej nie jest 'modyfikacja' tylko re-design. Dlaczego? Bo np. uzywane sa delay() co definitywnie blokuje reakcje na drugi przycisk wczasie czekania. Jest to blokujacy sposob pisania programow w tym wypadku niekorzystny. Roznie mozna do tego podejsc np. -prowadzic przerwania do obslugi przyciskow (nie chce mi sie sprawdzac co potrafi attiny a tym...
Mam taki problem: chcę w programie wykorzystywać przerwania od przepełnienia dwóch timerów (0 i 1). W timer0 mam obsługę wyśw. LED i opóźnienie dla klawiatury a w timer1, z założenia wywoływanym co 100ms, coś jakby zegar z minutami i sekundami, choć nie jest to najważniejsze bo to program testowy. Problem w tym, że przerwanie od timer1 wcale się nie...
Idea przerwan nie zmienia wszybkosci dzialania glownego programu. Oczywiscie trzeba liczyc sie z tym, ze gdy przerwania wystepuja program jest przerywany i zostaje dane przerwanie obslugiwane. Sytuacja taka jaka opisujesz moze wystapic przy wielokrotnym wywolaniu przerwan np. zew przerwanie INT0 w przypadku wystepowania zaklocen moze wielokrotnie sie...
Witam Opracowałem prosty program, żeby nauczyć się eliminować programowo drgania styków. Idea jest taka, że po starcie wyświetla się napis „Test0 „ po naciśnięciu przycisku „Test1” i „Test2”. Wykorzystałem rozwiązanie z przykładu 9.6 z książki K. Paprockiego, sam przykład po uruchomieniu działa prawidłowo, czyli zlicza...
Uzupełniłem bibliotekę do sterowania silnikiem o komentarze, mam nadzieję, że teraz będzie dokładnie wiadomo, o co mi chodzi. [syntax=c]#ifndef STEPPER_H_ #define STEPPER_H_ #define TURN 400 //ilosc krokow na obrot silnika #define MAX_DELAY 255 //maksymalna wartosc opoznienia miedzy krokami #define MIN_DELAY 5 //minimalna wartosc opoznienia miedzy krokami...
Mam wielką prośbę o pomoc. Mam napisać następujący program dla procesora atmega8 (pisze w AVRStudio). Na porcie B pin0 robi za pierwszego leda, pin1 za drugiego leda. Na porcie D pin0 robi za pierwszy przycisk, pin1 za drugi przycisk. Po naciśnięciu przycisku pierwszego miga LED1 co 1s. Po naciśnięciu przycisku drugiego miga LED2. Gdy nic nie jest naciśnięte...
Dzieki raz jeszcze ! - wlasnie testuje czy przerwanie jest wogole obslugiwane - ma zapalic led'a Dodano po 1 Niestety nic mi nie chce zadzialac - ale to dopiero moj drugi dzien z zupelnie nieznanym wczesnie uP. Prosze przeanalizowac te moje 'wypociny zamieszczone ponizej: #include <p16F690.inc> __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF...
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Micron (Crucial) 128 MB - (DIMM 1) - PC100-222-620 MT16LSDT1664AG-10EC7 Ramos 256MB - (DIMM 2) - RM56S261TA-13AC SDRAM 256MB, Sync, 133Mhz, CL3 Vigour - (DIMM 3) - L0110 - 128MB (PC133) Wszystkie są dwustronne, tylko Micron osobno testowany i razem pokazywał pełny rozmiar. Dwa pozostałę o połowę. Razem pokazywało w systemie 320 MB RAM. W tle Modecom...
Witam po 10-ciu dniach:!: ;) Wracając do poprzedniej sprawy, to rozwiązałem ją tak: ../src/main.c:123: warning: passing argument 1 of 'myatoi' discards qualifiers from pointer target type Jednakże kompiluje się. ****************************************...
Panowie, Panie potrzebuję pomocy bo siedzę i siedzę i nie mogę sobie dać rady z kodem BASCOM. Jestem początkujący, a raczej raczkujący w AVR, programowaniu itd. :( Próbuję zbudować sterownik do pokoju który ma wykonywać: -sterowanie światłem (8x) -sterowanie piecem/kotłem gazowym (temperatura noc i dzień-dwie różne temperatury) -każdy przycisk ma dwie...
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie wartość jedynek i zer i problem polega na tym...
Skoro już jesteśmy przy konstruktywnych krytykach, to i ja dodam kilka uwag: 1) Schemat jest bardzo słabo czytelny. Staraj się stosować Vcc i GND, bo np. okolice resetu wyglądają na pierwszy rzut oka co najmniej dziwnie. Warto rozdzielić sekcje zasilania i głównego obwodu. Oto kawałek jakiegoś mojego projektu - sam powiedz, czy nie jest bardziej czytelnie?...
Może więc warto by było napisać co zrobiłeś, że Ci zadziałało, w jakich konkretnych warunkach ten błąd wystąpi (np wersja Windows/Linux, wersja Ecplise) i pomóc innym? Sam walczyłem z Ecplipsem jak jeszcze nie był dla ARMów tak popularny, były z pluginami problemy ale trzeba było je zwalczyć np. zmienić wersje Eplipsa, zainstalować ponownie, poszukać...
[syntax=c] //#define F_CPU 1000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define DISP_AN_PORT PORTC #define DIGIT1 PC1 #define DIGIT2 PC2 #define DIGIT3 PC3 #define LED (1<<PB0) #define KEY1 (1<<PB1) #define KEY2 (1<<PB2) #define SEG_A PD0 #define SEG_B PD4 #define SEG_C PD5 #define...
Dzień dobry! Przycisk podpięty do płytki mam w/g schematu: http://arduino.cc/en/uploads/Tutorial/bu... Kod mojego maina: #include <stm32f10x_gpio.h> #include <stm32f10x_rcc.h> #include "stm32f10x_flash.h" #include "misc.h" /* Scheduler includes. */ #include <stdio.h> #include "FreeRTOS.h" #include...
czesc w bascomie moze byc? jak tak to: :) Config Timer0 = Timer , Gate = Internal , Mode = 1 ' Configuracja timera Config Lcd = 16 * 2 ' ..wyswietlacza, przykladowa Dim Temp As Byte 'zmienne Dim Temp_2 As Byte Dim Temp_3 As Byte Dim Sekundy As Byte Dim Silna As Single Dim N As Byte Enable Interrupts 'wlaczenie przerwan Enable Timer0 Enable Int0 Enable...
Witam wszystkich, Na wstępie od razu napiszę ,że czytałem już wiele na ten temat na avrfreaks i tutaj też ,jednak nie znalazłem odpowiedzi na swoje pytanie .Jeśli dubluję jakiś temat przepraszam ,ale uwierzcie że zadałem sobie troche trudu by poszukać w necie i samemu to rozwiązać. Piszę w C ,na darmowy kompilatorze winAVR ,mam zestawik z BTC .Testuje...
Witam! Próbuję zrobić czujnik temperatury z ustawianym alarmem do pieca CO na ATtiny2313 i czujniku DS18B20. Niemal wszystko jest cacy, układ mierzy temperaturę, wyświetla ją na wyświetlaczu 7 segmentowym, odczytuje zapisaną wartość alarmu i alarm włącza. Problem zaczyna się, gdy chcę zmienić temperaturę alarmu. Do nastawiania temperatury mają służyć...
Witajcie, dziękuję za wszystkie posty. Większość okazała się bardzo pomocna. Swoją modyfikację chciałam zacząć od najprostszej zmiany, tj. zmiany konfiguracji modułu bluetooth poprzez komendy AT. Najpierw jednak chciałam przetestować odbiór danych z terminala. Znalazłam program i nieco go zmodyfikowałam, którego celem jest odebranie wpisanej danej 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...
dodam jeszcze, że bazuję na kicie: http://www.nikomp.com.pl/zestawyK/K-4530... Jednak nie zamierzam wysyłać mu nic przez RS - wystarczy mi, zeby zaprogramowac go by gral kilka nut Czyli wygląda na to, iż mam odliczać na timerze do pewnej wartości zależnej od nuty, którą chcę uzyskać a następnie wygenerować przerwanie i zmienić stan na przeciwny. Pytanie...
Aktualnie najważniejsze pliki programu wyglądają następująco: main.c: [syntax=c]#include "main.h" //definicje stalych #define LINENUM 0x15 #define FONTSIZE Font12x12 #define LED1 GPIO_Pin_13 #define LED2 GPIO_Pin_14 #define PRZYCISK GPIO_Pin_0 //zmienne - definicje void Delay(__IO uint32_t time); extern __IO uint32_t TimmingDelay; unsigned short regVal;...
Jak już Ci pisałem Stoper zrobił bym tak: 2 guziki podłączone do przerwań: 1 guzik przerwanie: if(FlagCount) { FlagCount = 0; Wyłącz Timer } else { FlagCount = 1; Załącz Timer } Pochodzące od 2 guzika: FlagCount=0; Wylacz Timer; ss=0; s=0; m=0; h=0; Pochodzące od Timera: ss++; if(!(ss%20))FlagDisplay=... i...
ale nie wiem jak podejsc do przerwan zewnetrznych (przyciski). Przyciski mam podlaczone pod: P3.3 (Int1), P3.5(T1), P3.4 (T0), P3.2 (Int0). Jak to jest mozliwe ze sterujac multiplekserowo wyswietlaczami segmentowymi wysylajac aktywny bit na port P3, moge jednoczesnie zglaszac zewnetrzne przerwania (z przyciskow)?? Możesz. Ale dlaczego przyciski mają...
czestotliwosc przerwan priorytet przerwan wektory przerwan
transfer danych komputer żarówki panelu radia blaupunkt szybkie załączyć integra
Laskomex EC-2502A CFF Message When Calling – Wiring, Address, and Power Issues ESP8266 Arduino – zliczanie impulsów zewnętrznych TIMER0 i przerwaniami GPIO