HANDLE hCom; //globalna zmienna void inicjalizacja(void) { hCom = CreateFile(.....) GetCommState(...) SetCommState(...) return ; } void zamykanie(void) { CloseHandle(hCom); return; } albo HANDLE inicjalizacja(void) { HANDLE hCom = CreateFile(.....) GetCommState(...)...
Dzieje się tak, ponieważ po wyjściu z ostatniej pętli czyścisz ekran, zmieniasz wartość zmiennej "a" i kończysz program - wracasz z funkcji main(). Zapomniałeś dodać pętlę nieskończoną, while(1). Rozpoczyna się ją za wstępną inicjalizacją. W twoim przypadku, będzie to za ekranem powitalnym. Skoro zaczynasz przygodę z programowaniem, to napiszę jeszcze...
inicjalizuj zmienne, tak jak napisał Tobie skynet. Ponieważ jest to zmienna statyczna, inicjalizacja nastąpi tylko raz w startupie (kod wykonywany przed main). Wygląda to bardzo podobnie, jak by to była zmienna globalna, tylko że sam kompilator ogranicza jej widoczność.
Jeżeli w funkcji deklarujesz zmienną o takiej samej nazwie jak zmienna globalna, to automatycznie przysłaniasz widoczność tej zmiennej globalnej. W czym problem aby definicję wyrzucić w miejscu, w którym masz zmienną globalną? Możesz też użyć extern, ale to też wymusi definicję zmiennej razem z deklaracją. Lokalnie jeśli chcesz zainicjalizować wiele...
Nie wiem czy dobrze się rozumiemy, skrypt linkiera umieszcze dane w pamięci DCTMRAM której nie obsługuje DMA1. Więc za pomocą makra [syntax=c]#define SRAM_D1 __attribute__((section(".sram_d1")))[/sy... Utworzyłem zmienna globalną UART_TxBuf którą zainicjalizowałem napisem STM32H7 UART, lecz zmienna zawiera jakieś przypadkowe wartości. Dopiero w dalszej...
Dodatkowo - czy coś można zrobić z tymi powtarzającymi się liniami na początku funkcji checkFirst(), podjedz() i odjedz() (chodzi o te 4 linijki z inicjalizacją zmiennych - bez tego Arduino wywala błąd o niezainicjalizowanych zmiennych) Skoro nie są to zmienne globalne, to powinny być zadeklarowane w funkcjach, które je używają. W przypadku Twojego...
hej mam problem z inicjalizacja zmiennej globalnej w VB Otóż chcę stworzyc zmienną, która bedzie miała poczatkową wartośc (np 20) i za kazdym wywołaniem funkcji (np kliknieciem w przycisk) będzie dekrementowana. wyglada to mniej wiecej tak : Public i200 As Integer (umieszczone w delecalration, general) napisanie i200 = 20 powoduje błąd o treści: invalid...
Jak w czystym C (AVR GCC) wyglądała by funkcja millis() ?, a może pokaż też 2 podejście (listing), gdzie milisekundy to zmienna globalna np millis. Wykorzystaj timer do przerwać dostępny na każdym AVR. W AVR GCC, funkcja podobna do `millis()` z Arduino, która zwraca liczbę milisekund od startu programu, może być zaimplementowana z wykorzystaniem timera...
Nie o to chodzi. Generalnie wszystko co jest stałe bdane do inicjalizacja, literally itp. są umieszczane w miejscu tylko do czytania. A dane globalne są dzielone na zerowane i inicjalizowane. Programista w wielu implementacjach programista może zresztą wskazać gdzie włożyć zmienna - np na końcu kodu programu.
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
co do zmiennych to wiem o o chodzi w globalnych i lokalnych. moim zdnaiem powinna zwrócić wartość SLOWO char tablica[30] ; char zapis() ; int main() { cout<<"wywolanie funkcji" << endl ; zapis(); cout << tablica ; return 0; } char zapis() { char tablica[30] =...
Czyli działa. Spróbuj tej sztuczki ze zmienna globalna zainicjowana w miejscu definicji. [syntax=C]int zmienna = 666;[/syntax] I wyrzuć na terminal co jest w "zmienna", powinno być cokolwiek innego niż 666. Bo to jest tak: 1. Inicjalizacja różnych rzeczy, w tym skopiowanie danych do pamięci (zewnętrznej, która jest jeszcze niedostępna, więc to się...
Nie może dawać warninga - inicjowanie zmiennej globalnej jest zgodne ze standardem języka, a że inicjujesz 0, czyli wartością jaką zmienna i tak będzie miała to tylko dlatego, że to szczególny przypadek. W dodatku to, że pomijana jest inicjalizacja zmiennej w przypadku kiedy jest ona jawnie inicjalizowana przez programistę nie jest wynikiem działania...
Zmienne lokalne są alokowane na stosie (w tzw. ramce stosu) w momencie wejścia do funkcji. Wtedy też odbywa się ich inicjalizacja - u Ciebie na wartość "...". A teraz zastanów się, w jaki sposób wartość wpisana do Sc przez strcpy pod WM_COMMAND mogłaby zostać wykorzystana pod WM_PAINT? W WndProc jest tylko switch, który raz przelatuje od góry do dołu...
Wszystkie inicjalizacje danych z sekcji IN_RAMII muszą się wtedy znajdowac w plikach ****in_ram2.c. Czyli generalnie sprowadza się to do tego że trzeba ręcznie wyłączyć pliki (zmienne które są inicjalizowane w tych plikach) w skrypcie linkera oraz ręcznie wskazać linkerowi że pliki te będą inicjalizowane w innym obszarze RAM. Dzisiaj wieczorkiem sprawdzę...
Używając SPL'a do konfiguracji USART, musisz zadbać o prawidłową wartość zmiennej SystemCoreClock. W zależności od środowiska, ta zmienna może nie być prawidłowo zainicjowana, przez co wszystkie funkcje SPL'a które z niej korzystają będą generowały błędne wyniki. Jeżeli zmieniasz ustawienia sygnałów zegarowych względem startowych/domyślnych/wygenerowanych...
Witam serdecznie mam mały kłopot z obsługa przycisku KEY3 jeśli nacisnę klawisz sw3 to zmienna powinna zmienić wartość na 1,a warunek do obsługi klawiszy KEY2 i KEY1 powinien być spełniony, niestety nie działa :([syntax=c]/* * main.c * * * */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define KEY1 (1<<PB0)...
podaj kod źródłowy w języku C na mikrokontroler PIC16, dekodujący sygnał DCF77. Założenia są takie, że przebieg z odbiornika DCF77 podawany jest na wejście przerwania zewnętrznego INT0 a program ma uzupełnić odpowiednią strukturę zawierającą pole daty i czasu z dokładnością co do sekundy. Program bez funkcji delay, ma działać jako maszyna stanów. Chętnie...
Nie mam takiego sprzętu. Napisałem coś takiego: [syntax=c] volatile uint8_t i=0; // LICZBA PRZERWAN volatile uint8_t freq=0; // CZESTOTLIWOSC volatile uint8_t pr=0; // ZMIENNA USTAWIANA CO PODSTAWE CZASU 0,025 S int main(void) { lcd_init(); // INICJALIZACJA WYSW. sei();// GLOBALNE PRZERWANIA TCCR2=(1<<WGM21)|(1<<CS22)|(...
wykorzystalem pomysl z setjmp i longjmp :)... narazie dziala :)... jesli pojawia sie problemy to bede dalej kombinowal :)... mam cos takiego, kod bardzo symboliczny ;)... main() { //Inicjalizacja setjmp(env); sei(); switch(...) { case 0: Program0();break; case 1: Program1();break; case...
Więc mój program wygląda mniej więcej tak: [syntax=c]#define wej_1 PA2 #define wej_2 PA3 #define wej_3 PA4 #define wej_4 PA5 #define VREF 5.0 volatile uint8_t adc1;//zmienna do pomiaru ADC wej_1 volatile uint8_t adc2;//zmienna do pomiaru ADC wej_2 volatile uint8_t adc3;//zmienna do pomiaru ADC wej_3 volatile uint8_t adc4;//zmienna do pomiaru ADC wej_4...
Witam Was! Jako, że uczę się programować AVR'y w C, to napisałem sobie prosty program, który miga diodą. czas zwiększy się o 250 (oczywiście jeśli jest spełniony warunek czas < 1500 ) 2) Naciśniemy przycisk 2, to zmienna czas zmiejszy się o 250 (oczywiście jeśli jest spełniony warunek czas > 250 ) Wczoraj również pisałem takie proste programy....
Witam dokonałem pewnych modyfikacji w programie. Zmieniłem odwołanie do odczytu temperatury. Proszę o informację jak najlepiej już uśrednionym odczycie przeprowadzić takie operacje: 1.177*t_usredniona Proszę umieszczać kod we właściwych(SYNTAX) znacznikach.
(at)Flesz - dziękuję za odpowiedź. Niestety nie do końca dotyka ona sedna problemu ;) (at)krru - ok. Wiem, że coś mieszam bo nic mi się nie zgadza :roll: Co w takim razie oznacza volatile przy definiowaniu obiektu klasy? Tylko to , że na rzecz takiego obiektu mogą być wywołane jedynie metody volatile ? Tak twierdzi np. wspomniana Symfonia, ale to się...
Witam. Napisalem prosty programik ktory ma za zadanie zwiekszac o 1 zmienna time co wywaolanie Timera1.. i wysłać ją na RS232 niestety tak sie jednak nie dzieje.. za kazdym razem dostaje tą samą wartość... Gdzie jest błąd? Oto kod programu: #include <avr/io.h> #include <stdlib.h> #include <stdio.h> #include <avr/signal.h> #include...
zrobiłem pomiar ADC na 2 kanałach a wynik wyświetlam na LCD mam ale problem z tym że adc jest 10 bitowy i gdy chce wyświetlić wynik licząć na to że bedzie od 0 do 1023 okazuje sie że wyświetlą jakies brednie powyżej 4200 ... nie rozumie czemu. jezeli wyswietle sobie wynik tylko z ADCH ( rejest 8 bitowy 0-255) to pokazuje poprawie od 0 do 255 na lcd...
[syntax=text]Witam książkowy program trochę przerobiony do swoich potrzeb i wyskakują takie błędy jak w temacie. Proszę o jakieś wskazówki. Bo właśnie się poddałem (brakuje mi pomysłu brak wiedz z c), szukałem i w google ale nic nie znalazłem. Zaczyna przygodę z c i się uczę dobra kod programu[/syntax] [code][syntax=c] plik LED4_Plex.c #include <avr/io.h>...
Witam! Napisałem program w C do mierzenia napięcia przez ADC w ATmega8, odczytuję z przetwornika wartość bitową od 0 do 1023. I dotąd jest wszystko ok, ale chcę sterować diodą na innym pinie(np PB1) w ten sposób, że gdy wartość odczytana będzie mniejsza od 500 to dioda ma nie świecić, a gdy przekroczy 500 ma świecić. Problem w tym, że gdy włączę układ...
Poniedziałkowe dziędobry. Teraz ADC + DMA. Może się komuś przyda. Na razie bez przerwań ale działa (dzięki komu to chyba wiadomo, a gdyby nie, to dzięki Freddie Chopin i BlueDraco, kolejność przypadkowa (kłopot z odmianą w Języku Polskim) ). [syntax=c] /***************************************... * Funkcja inicjalizacji ADC tak, ze...
Witam. Mam problem z zegarem na wyświetlaczach 7-segmentowych. Minuty po 09 wyświetla 16 zamiast 10, sekundy tak samo. Zawsze tak się dzieje, więc musi to być błąd w programie, ale ja już się poddałem, co może być nie tak. Config PortA = Output PortA = &HFF Config Portd = Output Portd = &Hff Config Portb = Output config portc.0 = output config...
Załącz plik ds18x20.c, załączyłeś tylko plik nagłówkowy. Potem będziesz musiał zamienić zmienne cel i cel_fract_bits na tablice i będzie ok. Twoim zdaniem utworzenie tablic będzie zbawienne, może to trafne. Od jakiegoś czasu ma pomroczność i nie mogę się skupić, najprostsze rzeczy stwarzają mi ogromną trudność - to chyba przesilenie. A zatem stworzenie/zamiana...
Witam, mam problem z dokładnością licznika czasu. Licznik ma mierzyć czas pomiędzy pojawieniem się napięcia większego od 512 na pinie PA7 a pojawieniem się zbocza narastającego na INT0. Licznik zlicza setne sekundy i sekundy. Późni się około 10 sekund na minutę. Korzystam z Atmegi32 o taktowaniu 8MHz. Wynik wyświetlam na wyświetlaczu. Napiecię na pin...
Witam. Projektuję termostat do wytrawiarki z termometrem na 2 wyś. 7-seg. Czujnik LM35, wykorzystuje ADC. Kod: [syntax=c]/* * main.c * * Created on: 2011-08-09 * Author: RADZIO M */ #include <avr/io.h> // dołączenie głównego systemowego pliku nagłówkowego #include <avr/interrupt.h> #include <util/delay.h> #include "d_led.h" // dołączenie...
Witam serdecznie. Jestem początkującym programistą mikrokontrolerów avr. Większość wiedzy czerpię z internetu, więc nie mam się kogo poradzić w sprawach merytorycznych odnośnie napotkanych problemów. Stąd prośba o pomoc na tym forum. Wymyśliłem sobie projekt współpracy modułu bluetooth HC-06 (były poruszane wątki tego modułu na tym forum) z Atmegą8A....
Rozumiem. Napisalem program w C na mastera i slave. Kod wyglada tak: MASTER: #include <avr/io.h> void SPI_MasterInit(void) { PORTB|=1<<PB4; //podciagam /SS do plusa przez pull-upa DDRB|=(1<<PB4)|(1<&... dla SCK i MOSI SPCR|=(1<<SPE)|(1<&...
Cześć, Próbuję zaadaptować przerwania do swoich potrzeb z pomocą datasheet atmegi328p i strony [url=http://mikrokontrolery.blogspot.com ]Link Niestety napotkałem pewien problem z którym nie umiem sobie poradzić. Za pomocą przerwań chciałbym odczytywać stany z dwóch podłączonych potencjometrów. Reprezentuję ich wartości na LCD leczy w zakresie 0-255....
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...
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...
poprawiłem trochę kod, wyżej napewno miałem źle czasy dobrane. teraz (nie wiem czy dobrze) robię tak; odbieram "półbity" czyli razem 28 bitów i konwertuje do 14 bitów. 01-->1 lub 10-->0 wbijam się w sygnał po 0.432 ms i dalej sprawdzam co 0.864ms czy to jest dobra metoda? #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h>...
W AVR GCC wszystkie zmienne globalne i statyczne są automatycznie zerowane i nie ma najmniejszej potrzeby ich inicjalizacji zerami. Jeśli natomiast definicja zmiennej znajduje się wewnątrz funkcji to już trzeba ją samemu inicjalizować. Co jest dosyć oczywiste, bo nie jest wtedy zmienną globalną :) Przy czym istnieje wyjątek - lokalne zmienne statyczne...
W końcu poskładałem wszystko w całość. Kod programu sczytuje wartości z przetworników ADC, do których przyłączone są dalmierze Sharp-a. Zależnie od rodzaju sygnału, siły itd, wysyłany jest sygnał głosowy. Niestety nie wiem czy nie przesadziłem z ilością danych jaką władowałem do tablicy w pliku nagłówkowym jest tego ok17 tys. znaków. Programowanie jednak...
pawel_konin -> podaj dokładny schemat (lub zdjęcie HD) i program którym to testujesz. [syntax=c] /* * GccApplication1.c * * Created: 2012-11-12 16:25:45 * Author: Pawel */ #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <util/atomic.h> #include <math.h> #define NOOFSAMPLES 128 // ilosc...
Witam. Enkoder z otworem wygląda następująco (nie posiadam, żadnej noty pdf...) Przypuszczam, że jest to enkoder inkrementalny z wyjściem pojedynczym - sygnały A,B (TTL, Push-Pull, otwarty kolektor). http://img854.imageshack.us/img854/9044/... Sposób podłączenia: http://img232.imageshack.us/img232/29/sc... Jak enkoder kreci sie w...
Witam, Mam następujący problem. Buduje sobie lokalizator. Przez USART0 komunikuję się z GPSem (GPS wysyła dane co 1s) i tu komunikacja przebiega jak należy. Natomiast przez USART1 komunikuję się z GSMem. W tym przypadku wysyłanie działa poprawnie, natomiast odebrane dane zawierają tylko dwa pierwsze i dwa ostatnie znaki. Sprawdzałam procka RealTermem...
Dobrze, poczytam i jak mi coś sensownego wyjdzie to napisz :-) Dodano po 35 Zmieniłem i uporządkowałem trochę kod, teraz wygląda tak, trochę się poprawiło, ale i tak czasami serwo łapie zwiechy. [syntax=cpp][/syntax] #define F_CPU 8000000UL //ustawienie oscylatora na 8MHz #include <avr/io.h> //dołączenie podstawowej biblioteki #include <avr/interrupt.h>...
Dziekuje Linoge :) Nagryzmolilem co nieco: unsigned int licznik=0; // musi być zmienna globalna unsigned char temp=0; unsigned char tekst[10]; ISR(TIMER0_OVF_vect) { licznik++; // licznik=0; //wyzeruj do ewentualnego następnego odlicznia // TCCR0=0x02; // } } //************** liczymy impulsy void licz_impulsy(void)...
Witam wszystkich Elektrodowiczów! Chcę uruchomić Timer na ARMie LPC11C24. Zrobiłem standardową inicjalizację Timera, jak w każdym przypadku, ale on nie chce ruszyć za żadne skarby. Zegar magistral AHB jest ustawiony na 48 MHz (kwarc zewnętrzny 12 MHz, dzielnik PLL P = 2, M = 4 i dzielnik AHB = 1). Prosty programik, który będzie migał diodą LED co 1...
problem wydaje się, że zniknął. Czy doprowadziłem tutaj do jakiegoś UB? O ile rozumiem ta zmienna to zmienna lokalna zadeklarowana w funkcji. Takie zmienne w C mają "automatic storage duration" i nie są zerowane jak nie ma jawnej inicjalizacji. Dodanie 'static' powoduje, że mają one "static storage duration" (tak samo jak np. zmienne globalne) i są...
Probowales 'r' zadeklarowac jako zmienna globalna - ale bez inicjalizacji, wzglednie inicjalizujac jakas konkretna wartoscia stala, a w funkcji przypisac wartosc? Bo tak powinno dzialac.
Witam! Od pewnego czasu usiłuje napisać program do obsługi zegara na pcf8583 i wyświetlaczach siedmiosegmentowych lecz bez efektu. Jest sporo tematów tego typu, ale większość zegarów realizowana jest na LCD. Główny problem polega na wyświetleniu czasu na wyświetlaczach 7segmentowych. Proszę o jakąkolwiek pomoc i podpowiedzi. Schemat układu: http://obrazki.elektroda.net/13_12708371...
globalny zmienna zmienna globalny stm32 zmienna globalny
hyundai falujące obroty lustro wirowa lustro wirowa radio czyta oryginalne
interfejs diagbox bateria macallister
Samsung mikrofala błąd SE – jak usunąć Key Short, czyszczenie panelu i taśmy FFC Sharp 43BN5EA – gdzie znaleźć firmware do telewizora, aktualizacja OTA i USB